天天看點

Windows Mobile中使用WinCE驅動調試助手的小技巧

      驅動調試助手是針對Windows CE做的,在Windows Mobile中使用會有一些問題,最主要的就是其菜單欄被Windows Mobile系統的工作列給遮住了,導緻相應的功能無法正常使用,如下圖所示。

Windows Mobile中使用WinCE驅動調試助手的小技巧

      按理來說隻要将系統工作列隐藏就可以,今天在模拟器上實驗了一下,看起來是可行的。隻是工作列隐藏後,相應的區域出現畫屏,如下圖所示。

Windows Mobile中使用WinCE驅動調試助手的小技巧

      不知道畫屏是不是模拟器的緣故,暫且不管先。驅動調試助手的菜單隐約可見,簡單測試了下其中的系統資料庫搜尋的功能,也正常工作,如下圖所示。

Windows Mobile中使用WinCE驅動調試助手的小技巧

      實作方法如下,借助于一個WMDM.exe的程式,通過它隐藏系統工作列并将同一目錄下的DM.exe啟動起來,在DM.exe退出後,恢複顯示系統工作列,代碼如下。

 1     HWND hWnd;

 2     DWORD dwLen;

 3     PROCESS_INFORMATION pi;

 4     TCHAR szPath[MAX_PATH];

 5     

 6     dwLen = GetModuleFileName(NULL, szPath, MAX_PATH);

 7     if (!dwLen)

 8     {

 9         return 0;

10     }

11 

12     while (szPath[--dwLen] != _T('\\'))

13     {

14         szPath[dwLen] = _T('\0');

15     }        

16     wcscat(szPath, _T("DM.exe"));

17 

18     hWnd = FindWindow(_T("HHTaskBar"), NULL);

19     if (hWnd)

20     {

21         EnableWindow(hWnd, FALSE);

22         ShowWindow(hWnd, SW_HIDE);

23     }

24 

25     if(CreateProcess(szPath, NULL, NULL, 0, FALSE, 0, NULL, NULL, NULL, &pi))

26     {

27         WaitForSingleObject(pi.hProcess, INFINITE);

28         CloseHandle(pi.hThread);

29         CloseHandle(pi.hProcess);

30     }

31     

32     EnableWindow(hWnd, TRUE);

33     ShowWindow(hWnd, SW_SHOW);

繼續閱讀