设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 其他开发语言 >> Windows SDK编程初探
精品推荐
其他开发语言点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·Modem 常用AT指令集
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
·Thinking in C++ 简体中文第二版
·debug和release的区别
·error LNK2001: unresolved external symbol __ftol2 错误解决
·C库函数手册
·一个简单的C语言编译器
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

Windows SDK编程初探

作者: 来源:网络文章 时间:2005-12-17 20:57:11

Windows SDK编程初探(1)

第一章 Windows程序的框架

要点:程序的主函数,消息处理函数

      Windows程序具有相对稳定的结构,也就是说Windows程序是有一定的框架的,程序员要做的事情就是用特定的内容来填充这个框架。

      Windows程序的主函数:这个函数就像我们学习C语言时程序的主函数main()的功能是一样的,他代表了程序的入口。但是这个函数看上去比main()似乎繁的多,如果是第一次看见这个函数肯定会感觉一头雾水,但是不要紧我们来看看这个函数各个参数的意义,(其实开始的时候完全可以不理会他们的意义)hInstance是本实例的句柄,句柄可以理解为操作系统管理使用我们的应用程序的别名,它跟指针类似但又不同于指针,它的意义只有操作系统知道,也就是说操作系统通过hInstance就可以找到我们现在的这个程序。hPrevInstance是前一个实例的句柄。szCmdLine:是命令行参数,iCmdShow是窗口的显示方式。现在我们没有必要清除每个参数的具体意义,在接下来的学习中我们用的最多的就是hInstance这个参数,但也不多,而且我们使用vC++时,无论有哪种程序生成方式这个函数一般都会自动生成。

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)

      主函数是windows程序框架的主要部分,由于windows程序是基于消息处理的,所以消息处理函数也算作是程序框架的一部分。说到消息,我觉得从基本的c编程转到windows编程最难的一点可能就是理解windows消息机制,虽然说是机制但不必觉得高深莫测,其实很简单,举个例子来说吧:在一个应用程序中有一个按钮,当按钮被按下时,我们已经习惯的程序会产生一个动作,在这样一个简单的过程中大部分事情是操作系统替我们完成了,检测按钮的动作,并将这个动作表现出来:按钮的按下、起来;按钮被按下时它会向他所在的程序发送一个消息“我被按下了”,程序中有一个消息处理函数,捕捉到这个消息,接着转而处理它:也就是调用相关的函数。

      那么我们就接着看一下消息处理函数,消息处理函数其实是一个消息循环,是一个回调函数,什么是回调函数暂不管它,只管理解为,函数由你定义而不归你调用,是由操作系统来调用的。下面来看一下,消息处理函数的原型及其结构:

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

{

   switch(message)

      {

         case...

         case...//这些分支语句用来分别处理不同的消息

      }

return DefWindowProc(hwnd,message,wParam,lParam);

/*这个函数是系统默认的消息处理函数,也就是说,我们的窗口程序的消息处理函数处理的只是我们感兴趣的消息,即上面的case语句,对于其他的消息我们还是使用系统默认的消息处理函数。我们的消息处理函数是要在我们的窗口主程序中登记的,登记为我们自定义的消息处理函数之后,系统的消息就有它来处理了。所以,在本函数的最后要使用该默认函数,否则其他的消息,本程序就无法处理了。*/

共4页 9 7 [1] [2] [3] [48 :>

Windows SDK编程初探 相关文章:
Windows SDK编程初探 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com