Win32 SDK运行原理

问题描述

此段代码能编译链接,但点运行按钮后没反应,望高手解答#include<windows.h>#include<stdio.h>LRESULTCALLBACKWinSunProc(HWNDhwnd,//handletowindowUINTuMsg,//messageidentifierWPARAMwParam,//firstmessageparameterLPARAMlParam//secondmessageparameter);intWINAPIWinMain(HINSTANCEhInstance,//handletocurrentinstanceHINSTANCEhPrevInstance,//handletopreviousinstanceLPSTRlpCmdLine,//pointertocommandlineintnCmdShow//showstateofwindow){WNDCLASSwc;wc.cbClsExtra=0;wc.cbClsExtra=0;wc.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);wc.hCursor=LoadCursor(NULL,IDC_CROSS);wc.hIcon=LoadIcon(NULL,IDI_ERROR);wc.hInstance=hInstance;wc.lpfnWndProc=WinSunProc;wc.lpszClassName="WeiXin2003";wc.lpszMenuName=NULL;wc.style=CS_HREDRAW|CS_VREDRAW;RegisterClass(&wc);HWNDhwnd;hwnd=CreateWindow("WeiXin2003","北京维新技术开发中心",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);MSGmsg;while(GetMessage(&msg,NULL,0,0));{TranslateMessage(&msg);DispatchMessage(&msg);}return0;}LRESULTCALLBACKWinSunProc(HWNDhwnd,//handletowindowUINTuMsg,//messageidentifierWPARAMwParam,//firstmessageparameterLPARAMlParam//secondmessageparameter){switch(uMsg){caseWM_CHAR:charszChar[20];sprintf(szChar,"charis%d",wParam);MessageBox(hwnd,szChar,"WeiXin",0);break;caseWM_LBUTTONDOWN:MessageBox(hwnd,"Mouseclicked","WeiXin",0);HDChdc;hdc=GetDC(hwnd);TextOut(hdc,0,60,"计算机语言",strlen("计算机语言"));ReleaseDC(hwnd,hdc);break;caseWM_PAINT:HDChDC;PAINTSTRUCTps;hDC=BeginPaint(hwnd,&ps);TextOut(hDC,0,60,"计算机语言培训教程",strlen("计算机语言培训教程"));EndPaint(hwnd,&ps);break;caseWM_CLOSE:if(IDYES==MessageBox(hwnd,"是否真的结束","WeiXin",MB_YESNO)){DestroyWindow(hwnd);}break;caseWM_DESTROY:PostQuitMessage(0);break;default:returnDefWindowProc(hwnd,uMsg,wParam,lParam);}return0;}

解决方案

解决方案二:
懒得看你的代码了。其实你不用从头写。在VC中新建项目-Win32应用程序,会产生一个模板给你的。
解决方案三:
呵呵阅读下
解决方案四:
2L说的对,用SDK,这种模板不需要记得。
解决方案五:
楼主单步调试吧,一步步跟踪就能找到问题所在的

时间: 2024-10-24 23:59:26

Win32 SDK运行原理的相关文章

Win32应用程序(SDK)设计原理详解_C 语言

一般来说所谓的Win32应用程序开发,就是在C语言的层面上,直接使用Win32 API(Application Programming Interface:系统开放出来,给程序员使用的接口.)来开发Windows应用程序或者系统程序.虽然现在直接用Win32 API开发应用程序的人已经不多了,但是深入理解Windows系统程序设计原理,仍然是成为Windows开发高手的必经之路. 所谓的Win32,其实是一个API规范,与UNIX系统编程接口标准POSIX是相对应的.下面是进行直接的WIN32

《Unity虚拟现实开发实战》——第3章,第3.6节虚拟现实设备的运行原理

3.6虚拟现实设备的运行原理 戴上头盔,体验透视图吧!出现了3D,感受3D,可能你会有一种真正处于这个合成场景中的感觉.我猜想这不是你第一次体验虚拟现实,但是既然我们一起体验了,就让我们花几分钟讨论一下它的原理. 显而易见的是,虚拟现实看起来真的很酷!那它是怎么做到的呢? 沉浸感和存在感这两个词用来描述虚拟现实体验的特性.Holy Grail就是用来增强这两个特性的,让它看起来非常真实,让你忘记了是在虚拟世界中.沉浸感是模拟你身体接收的(视觉的.听觉的.运行的等)感官输入感知的结果,这可以从技术

自行添加activity-android SDK运行程序问题

问题描述 android SDK运行程序问题 我是新手求教个问题. 很简单的helloworld程序,而且曾经运行成功过,可是某次emulator不大正常后.我全删了,然后重新搭建了android开发平台.代码和虚拟机都重新做的,结果就run as 没反应了.我到虚拟机里去看试验程序其实已经装好了,可以卸载,但是找不到在哪运行,而且本来不是应该自动运行的么? 这是Console反馈信息 [2014-02-21 14:19:31 - AndroidHelloWorld] -------------

C++ 学习之旅一——Windows程序内部运行原理

      学习C++与.net不同的是,一定要搞清楚Windows程序内部运行原理,因为他所涉及大多数是操作系统的调用,而.net毕竟是在.netFrameWork上唱戏.        那Windows应用程序,操作系统,计算机硬件之间的相互关系究竟什么了,下面的图就给予很好的解释.       向下箭头①是 应用程序运行判断处理的结果,输出到输出的设备.       向上箭头②是输入设备,输入到操作系统中.       向下箭头③代表API,我们要解释以下API是什么.API是应用程序接口

JSP的运行原理

昨天花了很多时间弄清了JSP的运行原理,总的来说,JSP就是封装好了的Servlet.不信的话请往下看: 首先你得弄清楚为什么后缀名为jsp的文件就能运行,原因很简单,因为Tomcat已经配置好了,配置文件是Tomcat的conf目录下的web.xml,打开该文件找到如下代码: 1 <servlet-mapping> 2 <servlet-name>jsp</servlet-name> 3 <url-pattern>.jsp</url-pattern&

spring的运行机制或者运行原理

问题描述 最近碰到的这个问题,在网上搜了下,基本上的答案要么是说的SpringMVC的,要么说的是IOC跟AOP的概要,有没有准确一点的答案,望大神指点一二 解决方案 内部最核心的就是IOC了, 动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射 反射其实就是在运行时动态的去创建.调用对象,Spring就是在运行时,跟xml Spring的配置 文件来动态的创建对象,和调用对象里的方法的 . Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类

怎么建win32 sdk模版?

问题描述 怎么建win32 sdk模版? 看网上有视频作者,他们自己做了sdk模版,我找了好久没找到方法,全是C#的. 解决方案 WIN32 SDK界面编程

关于hibernate的saveOrUpdate()方法的内部运行原理的疑问?

问题描述 关于hibernate的saveOrUpdate()方法的内部运行原理的疑问? 这个问题会有点模糊,因为我的目的是想知道 session的增删改查底层实现原理,所以我详细看了下(以saveOrUpdate()方法为主)saveOrUpdate的流程,它的底层相当的庞大,我很认真的看源码,但是其中有很大一部分我都看不懂,我想知道从session.saveOrUpdate(Object javaBean)此方法开始到结束,那个作者是怎么想出来的,那么多的成员变量和局部变量,都是用在哪里的,

win32 sdk 如何创建webbrown控件

问题描述 win32 sdk 如何创建webbrown控件 win32 sdk 如何创建webbrown控件 解决方案 01.HMODULE hRichEditDll = NULL; 02. 03.WM_CREATE: 04.{ 05. hRichEditDll = LoadLibrary(_T("RICHED20.dll")); 06. HWND hRichEdit = CreateWindowEx(WS_EX_CLIENTEDGE, 07. _T("RichEdit20W