【原創】WinMo之移動今日插件
生活随笔
收集整理的這篇文章主要介紹了
【原創】WinMo之移動今日插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
WinCE下枚舉窗體的函數與Win32不同,所以要用到GetWindow
要用到GetWindow的第二個參數有GW_HWNDNEXT,GW_CHILD。
用Task Manager觀察下窗口句柄,發現今日在DesktopExplorerWindow類下,所以先取得母句柄:
hParent = FindWindow(_T("DesktopExplorerWindow"), _T("Desktop"));接下來是取得子窗口句柄:
hWndPhonEx = GetWindow(hParent, GW_CHILD);在母窗口下有各個插件的句柄,但是如果直接用GW_HWNDNEXT是取不到的,其實插件句柄都在第三個Worker下。
所以要先取得第三個Worker的句柄。
接下來比較奇怪,有人給我解釋下嗎?顯示的是兄弟窗體,但是要這樣取得:
hWndPhonEx = GetWindow(hWndPhonEx, GW_CHILD);用的是GW_CHILD,很奇怪。
再是
hWndPhonEx = GetWindow(hWndPhonEx, GW_HWNDNEXT);再進入子窗體:
hWndPhonEx = GetWindow(hWndPhonEx, GW_CHILD);然後就是循環檢查句柄了:
while (!IsFindWindow) {if (GetClassName(hWndPhonEx, szClassName, 100)){IsFindWindow = TRUE;for (int i=0; i<ilen; i++){if (szClassName[i] != szPhonEx[i]){IsFindWindow = FALSE;}}if (IsFindWindow){MessageBox(NULL, _T("Get HWND"), NULL, MB_OK);}else{hWndPhonEx = GetWindow(hWndPhonEx, GW_HWNDNEXT);a.Format(_T("Next --> %x"), hWndPhonEx);MessageBox(NULL, a, NULL, MB_OK);}} }最後就是移動窗體了(例子中是PhonEx的今日插件)
MoveWindow(hWndPhonEx, 0, 630, 480, 76, TRUE);轉載于:https://www.cnblogs.com/ZzzZzz/archive/2012/08/31/2664705.html
總結
以上是生活随笔為你收集整理的【原創】WinMo之移動今日插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 语音项目记录写实2
- 下一篇: 用户调整listview的column的