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

按理來說隻要将系統工作列隐藏就可以,今天在模拟器上實驗了一下,看起來是可行的。隻是工作列隐藏後,相應的區域出現畫屏,如下圖所示。
不知道畫屏是不是模拟器的緣故,暫且不管先。驅動調試助手的菜單隐約可見,簡單測試了下其中的系統資料庫搜尋的功能,也正常工作,如下圖所示。
實作方法如下,借助于一個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);