windows编程
文章平均质量分 55
yj13sunshine
这个作者很懒,什么都没留下…
展开
-
MFC Attach()函数和Detach()函数
一、Windows对象和MFC对象的区别?MFC对象实际上并没有把整个Windows对象都包装在其中。对于窗口:MFC对象它只是有一个窗口句柄而已,这个窗口句柄如果指向一个实际存在的窗口对象(窗口对象,也就是WNDCLASS,是一个Windows对象),那么这个MFC对象就是有效的,否则这个MFC对象是空的。如果你还不明白,请回忆一下,当我们使用MFC创建一个窗口时,是分两步进行的:转载 2011-11-27 12:10:33 · 1133 阅读 · 0 评论 -
可执行程序的入口点在那里?
今天终于有时间来研究一下一个很大很大的工程编译成一个exe和若干dll后,程序是如果执行它的第一条指令的?操作系统以什么规则来找到应该执行的第一条指令(或说如何找到第一个入口函数的)? 我们以前写windows程序时,都是先写个main()函数,然后再写自己的逻辑;然后编译,然后点击exe就能运行我们的程序了;如果我们用VS2005工具生成一个非空工程,工程会为我们转载 2011-11-27 12:17:00 · 488 阅读 · 0 评论 -
GetMessage与PeekMessage的区别
PeekMessage 返回 TRUE 的条件是有消息,如果没有消息返回 FALSE GetMessage 返回 TRUE 的条件是有消息且该消息不为 WM_QUIT 返回 FALSE 的条件是有消息且该消息 为 WM_QUIT GetMessage不将控制传回给程序,直到从程序的消息队列中取转载 2011-11-27 12:15:16 · 371 阅读 · 0 评论 -
CMenu-关于菜单的销毁操作
今天扫了下CMenu的MSDN和源代码,真好啊它是从CObject继承下来的。这里仅说下菜单销毁时要注意的地方。其实在堆中还是栈中使用CMenu不是重点要注意的地方,我们要清楚的是CMenu对象超出作用域时会默默执行什么操作以及应用的场合。所以当然要先看下析构函数:_AFXWIN_INLINE CMenu::~CMenu() { DestroyMenu(); }BOOL CMe转载 2011-11-27 12:11:10 · 1462 阅读 · 1 评论 -
Windows程序的生与死---窗口的生命周期
1)程序初始化过程中调用CreateWindow,为程序建立了一个窗口,做为程序的萤幕舞台。CreateWindow 产生窗口之后会送出WM_CREATE 直接给窗口函数,后者于是可以在此时机做些初始化动作(例如配置内存、开文件、读初始资料...)。2)程序活着的过程中,不断以GetMessage 从消息贮列中抓取消息。如果这个消息是WM_QUIT,GetMessage 会传回0 而结束whi转载 2014-06-04 13:47:31 · 705 阅读 · 0 评论