Windows Mobile中使用WinCE驱动调试助手的小技巧

      驱动调试助手是针对Windows CE做的,在Windows Mobile中使用会有一些问题,最主要的就是其菜单栏被Windows Mobile系统的任务栏给遮住了,导致相应的功能无法正常使用,如下图所示。

      Windows Mobile中使用WinCE驱动调试助手的小技巧_第1张图片

      按理来说只要将系统任务栏隐藏就可以,今天在模拟器上实验了一下,看起来是可行的。只是任务栏隐藏后,相应的区域出现画屏,如下图所示。

      Windows Mobile中使用WinCE驱动调试助手的小技巧_第2张图片

      不知道画屏是不是模拟器的缘故,暂且不管先。驱动调试助手的菜单隐约可见,简单测试了下其中的注册表搜索的功能,也正常工作,如下图所示。

      Windows Mobile中使用WinCE驱动调试助手的小技巧_第3张图片 Windows Mobile中使用WinCE驱动调试助手的小技巧_第4张图片

      实现方法如下,借助于一个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);

       WMDM的下载地址:http://files.cnblogs.com/we-hjb/WMDM.rar,其中包括了ARMV4I版本的DM.exe。

你可能感兴趣的:(Windows Mobile中使用WinCE驱动调试助手的小技巧)