2011年12月21日

摘要: Wn32编程中,在响应WM_PAINT消息时,很容易造成处理器使用率过高。造成处理器负载过高的原因是窗口时刻都在检查自己的Update Region,如果有则发出WM_PAINT,直到调用BeginPaint和EndPaint后才会将Update Region置空。如果在消息相应函数中没有加入BeginPaint,EndPaint 则 WM_PAINT 就会不断被发送,造成死循环。如果不主动响应WM_PAINT,则该消息会进入DefWindowProc,它会调用那两个函数。在MFC中也一样,一般在OnPaint中会出现CPaintDC dc(this) 该类的构造函数会调用BeginPaint 阅读全文

posted @ 2011-12-21 17:04 一年级的小学生 阅读(1313) 评论(0) 推荐(0) 编辑

摘要: 通过查找当前的窗口类的名称以及标题的名称,查找到是否有这样的窗口句柄。如果查找到这样的窗口句柄,这样就把该窗口句柄设置到窗口的最前面。hWnd = FindWindow(szWindowClass, szTitle); if (hWnd) { // set focus to foremost child window // The "| 0x00000001" is used to bring any owned windows to the foreground and // activate them. SetForegroundWindow((HWND)((ULONG 阅读全文

posted @ 2011-12-21 16:36 一年级的小学生 阅读(534) 评论(0) 推荐(0) 编辑