PPC中检查某程序是否运行
生活随笔
收集整理的這篇文章主要介紹了
PPC中检查某程序是否运行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時候經常需要檢查某個程序是否正在運行,在windows mobile 5.0系統開發中我經常用到以下幾種方法:
第一種:
HANDLE hMutex=::CreateMutexW(NULL,true,L"程序名");
?DWORD dwError=GetLastError();
?if(dwError==ERROR_ALREADY_EXISTS)
?{
??::AfxMessageBox(L"The program is running!");
??return ;
?}
?::ReleaseMutex(hMutex);
第二種:
HWND hWmp=::FindWindowW(L"Dialog",L"程序窗口名");
?if(hWmp)
?{
?? ::AfxMessageBox(L"The program is running!");
??return FALSE;
?}
第三種:
PROCESSENTRY32?? lppe;
?memset(&lppe,0,sizeof(PROCESSENTRY32));??
?HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
?lppe.dwSize=sizeof(PROCESSENTRY32);
?::Process32First(handle,&lppe);
?do
?{
??HANDLE hh=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,lppe.th32ProcessID);
??CString temp(lppe.szExeFile);
??if(temp.Find(L"程序名")>=0)
??{
???::AfxMessageBox(L"The program is running!");
???::TerminateProcess(hh,0xffffffff);
???::CloseHandle(hh);
??? break;
??}
??::CloseHandle(handle);
??
?}while(Process32Next(handle,&lppe));
?::CloseHandle(handle);
以上三種方法,只能檢查其它程序,而不能檢查自身是否正在運行,因為windows mobile 系統的運行機制和PC機上的windows XP是不太一樣的.
第一種:
HANDLE hMutex=::CreateMutexW(NULL,true,L"程序名");
?DWORD dwError=GetLastError();
?if(dwError==ERROR_ALREADY_EXISTS)
?{
??::AfxMessageBox(L"The program is running!");
??return ;
?}
?::ReleaseMutex(hMutex);
第二種:
HWND hWmp=::FindWindowW(L"Dialog",L"程序窗口名");
?if(hWmp)
?{
?? ::AfxMessageBox(L"The program is running!");
??return FALSE;
?}
第三種:
PROCESSENTRY32?? lppe;
?memset(&lppe,0,sizeof(PROCESSENTRY32));??
?HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
?lppe.dwSize=sizeof(PROCESSENTRY32);
?::Process32First(handle,&lppe);
?do
?{
??HANDLE hh=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,lppe.th32ProcessID);
??CString temp(lppe.szExeFile);
??if(temp.Find(L"程序名")>=0)
??{
???::AfxMessageBox(L"The program is running!");
???::TerminateProcess(hh,0xffffffff);
???::CloseHandle(hh);
??? break;
??}
??::CloseHandle(handle);
??
?}while(Process32Next(handle,&lppe));
?::CloseHandle(handle);
以上三種方法,只能檢查其它程序,而不能檢查自身是否正在運行,因為windows mobile 系統的運行機制和PC機上的windows XP是不太一樣的.
總結
以上是生活随笔為你收集整理的PPC中检查某程序是否运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jbuilder2006注册机
- 下一篇: .NET 2.0 中使用Active D