1.使用PostMessage向某个线程发送消息,这个线程必须有消息队列,而消息队列是系统为线程创建的,调用PeekMessage或GetMessage会强制系统为该线程创建消息队列
2.消息循环可以收到该消息,但是由于PostMessage的消息未指定窗口句柄,会被过滤掉...
分类:
其他好文 时间:
2014-09-23 07:59:34
阅读次数:
296
HWND hActiveWnd = GetForegroundWindow();//获得当前激活的窗口句柄 DWORD SelfThreadId = GetCurrentThreadId();//获取本身的线程ID DWORD ForeThreadId = GetWindo...
分类:
其他好文 时间:
2014-09-19 15:07:15
阅读次数:
225
SetTimer是设置定时器,每隔一段时间执行一个操作,原型如下 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位...
分类:
其他好文 时间:
2014-09-18 22:09:14
阅读次数:
162
//创建定时器函数的声明:SetTimer( hWnd: HWND; {与定时器相关联的窗口句柄} nIDEvent: UINT; {指定一个非 0 的定时器标识符} uElapse: UINT; {指定间隔时间, 单位是毫...
分类:
其他好文 时间:
2014-09-17 01:01:41
阅读次数:
234
语法:function AnimateWindow(hWnd: HWND; dwTime: DWord; dwFlags: DWORD): BOOL;参数:hWnd 窗口句柄 DWord 动画时间(毫秒级)一般大于200 dwFlags 显示方式,一般有下面标志: AW_SLIDE:...
1 )用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElap...
分类:
其他好文 时间:
2014-09-05 12:38:01
阅读次数:
196
接上篇日志。 在WM_LBUTTONUP消息响应函数中写入代码: POINT pnt; WCHAR wc_TargtWndTittle[200]; ::GetCursorPos(&pnt); HWND h_TargetWnd = ::WindowFromPoint(pnt) ; //取得鼠标指针处....
分类:
其他好文 时间:
2014-09-03 12:59:46
阅读次数:
162
WinAPI: SetWindowPos - 改变窗口的位置与状态SetWindowPos(hWnd: HWND; {窗口句柄}hWndInsertAfter: HWND; {窗口的 Z 顺序}X, Y: Integer; {位置}cx, cy: Integer; {大小}uFlags: UINT ...
DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,如浏览器左侧的...
分类:
其他好文 时间:
2014-08-29 17:49:38
阅读次数:
274
函数功能:该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。函数原型:LONG GetWindowLong(HWND hWnd,int nlndex);参数:hWnd:窗口句柄及间接给出的窗口所属的窗口类。nlndex:指定要获得值的大于等于0的值的偏移量。有效...