分享一段重启WinCE下explorer.exe的代码,高手就别进来了。
- C/C++ code
// 请在前边加上 tlhelp32.h和toolhelp.libvoid CResAdjustDlg::RestartExplorer(){ // 获取进程快照 HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (INVALID_HANDLE_VALUE == hSnapshot) { MessageBox(_T("Get processes snapshot failure."), _T("ERROR"), MB_ICONERROR|MB_OK); return; } PROCESSENTRY32 pe32; BOOL bRet = FALSE; BOOL bFirst = TRUE; DWORD dwExplorerProcId = (DWORD)-1; memset(&pe32, 0x00, sizeof(PROCESSENTRY32)); pe32.dwSize = sizeof(PROCESSENTRY32); // 遍历进程 for ( ; ; ) { __try { if (bFirst) { bRet = Process32First(hSnapshot, &pe32); bFirst = FALSE; } else { bRet = Process32Next(hSnapshot, &pe32); } if (!bRet) { if (ERROR_NO_MORE_FILES != GetLastError()) { MessageBox(_T("Process32First() error.")); } break; } //MessageBox(pe32.szExeFile); if (_tcsicmp(_T("explorer.exe"), pe32.szExeFile) == 0) { dwExplorerProcId = pe32.th32ProcessID; break; } } __except(EXCEPTION_EXECUTE_HANDLER) { break; } } if (dwExplorerProcId != (DWORD)-1) { PROCESS_INFORMATION pi; HANDLE hExplorer = OpenProcess(0, FALSE, dwExplorerProcId); if (hExplorer != NULL) { TerminateProcess(hExplorer, 1); if (!CreateProcess(_T("explorer.exe"), NULL, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &pi)){ MessageBox(_T("Create explorer.exe process failure.")); } else { // MessageBox(_T("Create process success.")); } } CloseHandle(hExplorer); } CloseToolhelp32Snapshot(hSnapshot);}做ce6动态调整分辨率的工作,改完驱动发现调整后图片不能正常显示,后来重启explorer图标显示就好了,觉得这段重启进程的代码挺常用的,贴出来共享,不会的可以参考下,适合重启各种进程,高手请提意见,勿喷!
[解决办法]
不错!
[解决办法]
楼主的分享精神要赞一下。
代码的缩进方式,和for ( ; ; ),很有欧美程序员的风格。
呵呵。
[解决办法]
太赞啦~~~~~~
[解决办法]
不错。
[解决办法]
很棒。
[解决办法]
呵呵,从汇编来看。while(1)比for(;;) 会多几条判断判断指令。。
[解决办法]
无聊的测试了下,
while(1);
0041138E mov eax,1
00411393 test eax,eax
00411395 je wmain+29h (411399h)
00411397 jmp wmain+1Eh (41138Eh)
for(;;);
00411399 jmp wmain+29h (411399h)
PC上debug版的结果。。。rlease下一致
WCE上 debug跟rlease一样是一条jmp。。
[解决办法]
[解决办法]
对,这个在WINCE里会经常用到,感谢分享出来。
[解决办法]
判分的感觉真好
[解决办法]
很好,不错
[解决办法]
很好..收了
------解决方案--------------------
觉得被骗了,就常用的杀了进程开进程,我还以为有什么新东西
[解决办法]
留个做收藏,以后慢慢观摩
[解决办法]
huig回个贴谷歌浏览器还崩溃了 恢复了又来回复 真是诸事不顺啊
[解决办法]
恩谢谢拉
[解决办法]
[解决办法]
重启explorer在wince下也是要费一番功夫的
[解决办法]
能发这么好的帖子,太谢谢了
[解决办法]
太赞啦~~~~~~
[解决办法]
虽然简单 楼主写的代码认真,优雅, 学习了
[解决办法]
呵呵不错
[解决办法]
谢谢楼主!
[解决办法]
话说: 攒!