分享
2023年WINDOWS应用程序历险记.docx
下载文档

ID:1101384

大小:19.99KB

页数:3页

格式:DOCX

时间:2023-04-18

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 WINDOWS 应用程序 历险记
天道酬勤 Windows应用程序历险记 理解Windows应用程序的结构和工作原理,不只对Windows程序员来说至关重要,对一般的用户,也有助于他们更好地使用软件,并有助于解决一些应用软件故障。 资源管理器〔explorer.exe〕在Windows系统中担任Shell〔外壳〕一职,他每天监视着主人〔用户〕的一举一动,对主人发出的各种指令做出解释,然后通知操作系统来完成操作。这天,资源管理器正想打个盹,突然发现主人用鼠标双击了一个名为FirstVC.exe的程序〔本文最后提供了这一程序的创立过程,并在博墅://fly2spring.blog.cfan上提供这一程序及完整源代码的查询下载〕,他知道自己又有得忙了。 1Windows通过Shell调用程序 资源管理器首先调用CreateProcess函数激活FirstVC.exe,为它生成一个进程,并为这一进程划出一块专门的活动场地〔一个4GB地址空间〕。接着通过加载器把FirstVC.exe所需要的程序代码、数据、动态链接函数库〔DLL〕等程序运行必备“物资〞都装载到这个专用空间中。注意,进程只是一个活动空间,系统还需要为这个进程创立一个主线程,才能被CPU调用。 2调用入口函数WinMain 万事俱备,接着系统通过启动代码开始调用FirstVC.exe的WinMain〔_tWinMain〕函数。各位注意了,这个WinMain可是所有普通Windows程序的门户〔入口函数〕,它类似于C/C++程序中的Main函数。 3注册窗口类 WinMain做的第一件事是找到Windows:Windows先生,我是FirstVC.exe,要在您这登记一下。Windows给了他一张表格,FirstVC.exe开始认真填写起来: ATOM MyRegisterClass(HINSTANCE hInstance) { //通过填写WNDCLASSEX结构,给定程序窗口的大小、菜单、图标,关联调用的过程函数等等。 ...... } 4创立窗口实例 Windows登记完这些信息,马上就调用CreateWindow函数为FirstVC.exe创立了一个临时档案,接着又通过ShowWindow函数显示出FirstVC.exe主窗口。 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { hWnd = CreateWindow(...); ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); } 5创立窗口消息循环 FirstVC.exe看到自己的主窗口终于显示在桌面上,冲动得不知做什么好了。见多不怪的Windows慢条斯理地说:小伙子,我已经给你配了一个程序专用邮箱,别忘了收信哦。FirstVC.exe赶紧又雇了两个函数日夜巡视邮箱,这就是所谓的“消息循环〞: while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } FirstVC.exe是个新手,所以工作起来兢兢业业,认真对待每一条收到的消息,有的是主人〔用户〕通过键盘发送的,有的是按鼠标发送的,还有的是系统内部〔如定时器〕发送来的。它把这些消息分门别类传给后台WindowProc进行处理。 6窗口过程函数的实现 WindowProc每收到一条消息,就会与自己预先定义的消息类型进行比拟。比方,主人用鼠标调整主窗口大小的时候,发出的是WM_SIZE消息,就把这一消息发到“case WM_SIZE:〞分支中处理;如果主人在窗口内写写画画,那么发出的是WM_PAINT消息,发到“case WM_PAINT:〞分支中处理。一般来说,我们程序员要做的事情,就是在这个窗口过程中处理来自用户、系统发出的各种消息而已。 7退出应用程序 FirstVC.exe正忙得不亦乐乎,主人突然单击窗口上的关闭按钮,一个WM-QUIT消息随后而至。FirstVC.exe极不情愿地做了一些后续处理,依依不舍地关掉窗口休息去了。 Just Do It! 创立你的第一个Windows程序 启动Visual Studio 2022,单击“File→New→Project〞〔文件→新建→工程〕,在翻开的新建工程窗口左侧,展开“Visual C++〞,点选其下的“Win32〞,再在右侧选择“Win32 Project〔Win32工程〕〞,接着在下面的Name〔名称〕、Location〔位置〕中为工程取一个名称以及保存位置,比方取名为FirstVC,保存到“E:\CFan\FirstVC〞下。单击OK,将翻开程序创立向导,单击Next〔下一步〕,接下来对应用程序进行简单设置,这里选择Application type〔应用程序类型〕为Windows application〔Windows应用程序〕,单击Finish〔完成〕,一个程序框架就完成了,它已经包含了上面我们说到的所有内容,你只需要在WindowProc()中添加你自己的处理代码即可。最后点击“Build→Build FirstVC〞〔创立→创立FirstVC,FirstVC会随着你自定义的程序名称而改变〕,再按F5键运行,就可以看到你创立的第一个Windows程序了。 VC++ 2003的操作与上面相似,但如果用的是VC++ 6.0,那么步骤稍有不同,而且要手工输入所有代码。

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开