亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C > 正文

判斷指定的進(jìn)程或程序是否存在方法小結(jié)(vc等)

2020-01-26 16:22:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
一、判斷指定程序名的進(jìn)程是否存在
     BOOL EnumWindows( WNDENUMPROC lpEnumFunc, // pointer to callback function LPARAM lParam //   application-defined value);
       The EnumWindows function enumerates all top-level windows on the screen by passing the handle to each window, in turn, to an application-defined callback function. EnumWindows continues until the last top-level window is enumerated or the callback function returns FALSE.
復(fù)制代碼 代碼如下:

BOOL CALLBACK IpEnumFunc(HWND hwnd,LPARAM lParam)
{
 char wndName[100];
 ::GetWindowText(hwnd,wndName,sizeof(wndName));
 if(wndName!="")
 {
  if(strcmp(wndName,name1)==0)
  {
   WndHnd=hwnd;
   flag=1;
  }
  }
 return 1;
}

二、判斷指定進(jìn)程名的進(jìn)程是否存在
復(fù)制代碼 代碼如下:

DWORD GetProcessidFromName(LPCTSTR name)
{
 PROCESSENTRY32 pe;
 DWORD id=0;
 HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 pe.dwSize=sizeof(PROCESSENTRY32);
 if(!Process32First(hSnapshot,&pe))
  return 0;
 while(1)
 {
  pe.dwSize=sizeof(PROCESSENTRY32);
  if(Process32Next(hSnapshot,&pe)==FALSE)
   break;
  if(strcmp(pe.szExeFile,name)==0)
  {
   id=pe.th32ProcessID;
   break;
  }
 }
 CloseHandle(hSnapshot);
 return id;
}

如果返回值不為零,則存在,否則不存在。
三、VC判斷程序調(diào)用的外部進(jìn)程是否結(jié)束
復(fù)制代碼 代碼如下:

PROCESS_INFORMATION pi;
    STARTUPINFO si;
    memset(&si,0,sizeof(si));
    si.cb=sizeof(si);
    si.wShowWindow=SW_HIDE;
    si.dwFlags=STARTF_USESHOWWINDOW;
bool fRet=CreateProcess(NULL,str.GetBuffer(str.GetLength()),NULL,FALSE,NULL,NORMAL_PRIORITY_CLASS   |   CREATE_NO_WINDOW,NULL,NULL,&si,&pi);
///判斷
DWORD   ExitCode;  
ExitCode=STILL_ACTIVE;
while(ExitCode==STILL_ACTIVE)
{
   GetExitCodeProcess(pi.hProcess,&ExitCode);
}

四、VC判斷進(jìn)程是否存在?比如我想知道記事本是否運(yùn)行,要用到哪些函數(shù)?
復(fù)制代碼 代碼如下:

enProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,  FALSE,aProcesses[i]);    
  //   取得特定PID的進(jìn)程名    
  if   (hProcess )    
  {    
  if   ( EnumProcessModules(hProcess,&hMod,sizeof(hMod), &cbNeeded))    
  {    
  GetModuleBaseName( hProcess, hMod,szProcessName,sizeof(szProcessName));    
  //將取得的進(jìn)程名與輸入的進(jìn)程名比較,如相同則返回進(jìn)程PID    
  if(!stricmp(szProcessName, InputProcessName))    
  {    
  CloseHandle(hProcess);    
  return   aProcesses[i];    
  }    
  }    
  }//end   of   if   (hProcess)    
  }//end   of   for    
  //沒(méi)有找到相應(yīng)的進(jìn)程名,返回0    
  CloseHandle(hProcess);    
  return   0;    
  }  

也可以枚舉得到所有進(jìn)程的應(yīng)用程序名,然后和知道應(yīng)用程序名比較判斷。
五、實(shí)現(xiàn)程序只運(yùn)行一次的方法
        實(shí)現(xiàn)程序只運(yùn)行一次的方法很多,但是原理都是一樣的,就是運(yùn)行第一次的時(shí)候設(shè)置一個(gè)標(biāo)記,每次運(yùn)行的時(shí)候檢查該標(biāo)記,如果有就說(shuō)明已經(jīng)運(yùn)行了。
具體實(shí)現(xiàn):
1、在程序初始化的時(shí)候   (InitInstance())   枚舉所有的窗口,查找本程序的實(shí)例是否存在  
2、在主窗口初始化的時(shí)候在本窗口的屬性列表中添加一個(gè)標(biāo)記,以便程序查找.
部分關(guān)鍵代碼 :
1、在App的InitInstance()中枚舉所有窗口,查找本程序?qū)嵗?
復(fù)制代碼 代碼如下:

HWND   oldHWnd   =   NULL;
EnumWindows(EnumWndProc,(LPARAM)&oldHWnd);  //枚舉所有運(yùn)行的窗口
if(oldHWnd   !=   NULL)
{
AfxMessageBox( "本程序已經(jīng)在運(yùn)行了 ");
::ShowWindow(oldHWnd,SW_SHOWNORMAL);   //激活找到的前一個(gè)程序
::SetForegroundWindow(oldHWnd);       //把它設(shè)為前景窗口
return   false;                       //退出本次運(yùn)行
}

2、添加EnumWndProc窗口過(guò)程函數(shù)://添加的標(biāo)識(shí)只運(yùn)行一次的屬性名
復(fù)制代碼 代碼如下:

CString   g_szPropName  =  "Your Prop Name ";       //自己定義一個(gè)屬性名
HANDLE    g_hValue  =  (HANDLE)1;                   //自己定義一個(gè)屬性值
BOOL   CALLBACK   EnumWndProc(HWND   hwnd,LPARAM   lParam)
{
HANDLE   h   =   GetProp(hwnd,g_szPropName);
if(   h   ==   g_hValue)
{
*(HWND*)lParam   =   hwnd;
return   false;
}
return   true;
}

3、在主窗口的   OnInitDialog()中添加屬性   //設(shè)置窗口屬性
SetProp(m_hWnd,g_szPropName,g_hValue);
再次啟動(dòng)時(shí),先檢查當(dāng)前存在的所有窗口,如果有標(biāo)題相同的,則把先前運(yùn)行的窗口當(dāng)成當(dāng)前窗口
我的程序如下:
復(fù)制代碼 代碼如下:

HWND   hWnd_Exist;
hWnd_Exist=::GetDesktopWindow();
hWnd_Exist=::GetWindow(hWnd_Exist,GW_CHILD);
for(;;)
{
if(hWnd_Exist==NULL)
{
break;
}
char   s[256];
memset(s,0,256);
::SendMessage(hWnd_Exist,WM_GETTEXT,255,(LONG)s);
if(strstr(s, "****** ")!=NULL)
break;
hWnd_Exist=::GetWindow(hWnd_Exist,GW_HWNDNEXT);
}
if(hWnd_Exist   !=   NULL)
{
::ShowWindow(hWnd_Exist,SW_SHOWNORMAL);
::SetForegroundWindow(hWnd_Exist);
exit(0);
}

聲明一個(gè)全局   CMutex   變量:
--------------------------------------------------------------------------------
CMutex   mutexApp(FALSE,   _T( "VPOS2000Server "));   //用此互斥量阻止多個(gè)實(shí)例
在你的   CWinApp   類的重載函數(shù):   InitInstance   中加入如下代碼: 
復(fù)制代碼 代碼如下:

if   (!mutexApp.Lock(1))
return   FALSE;
::CreateMutex(NULL, TRUE, m_pszExeName);  
        if(ERROR_ALREADY_EXISTS == GetLastError())  
        {  
                CWnd* pPrevHwnd =  CWnd::GetDesktopWindow()-> GetWindow(GW_CHILD);  
                while(pPrevHwnd)  
                {  
                     if(::GetProp(pPrevHwnd-> GetSafeHwnd(), m_pszExeName))  
                      {  
                          if(pPrevHwnd-> IsIconic())  
                           {  
                             pPrevHwnd-> ShowWindow(SW_RESTORE);  
                           }  
                           pPrevHwnd-> SetForegroundWindow();  
                           pPrevHwnd-> GetLastActivePopup()-> SetForegroundWindow();  
                           return   FALSE;  
                        }  
                        pPrevHwnd   =   pPrevHwnd-> GetWindow(GW_HWNDNEXT);  
                }  
                TRACE( "Could  not  fond  frevious instance main window ! ");  
                return   FALSE;  
        }

創(chuàng)建一個(gè)全局的互斥量,每次啟動(dòng)時(shí)檢查是否存在。
復(fù)制代碼 代碼如下:

BOOL   CRTDBApp::OnlyOneInstance()
{
if(::CreateMutex(NULL, TRUE, "onlyone ") == NULL ) 
 {
TRACE0( "CreateMutex   error. ");
return   FALSE;
};
if( ::GetLastError()   == ERROR_ALREADY_EXISTS)   {
CWnd*   pPrevWnd   =   CWnd::FindWindow(NULL, "onlyonehwnd ");
if(pPrevWnd)
{
if(   pPrevWnd-> IsIconic())
pPrevWnd-> ShowWindow(SW_RESTORE);
pPrevWnd-> SetForegroundWindow();
pPrevWnd-> GetLastActivePopup()-> SetForegroundWindow();
return   FALSE; 
}
};
return   TRUE;
}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

欧美美女网站色| 精品国内产的精品视频在线观看| 香蕉国产在线| 好吊操视频这里只有精品| 精品九九在线| 九九在线观看视频| 四虎国产成人永久精品免费| 亚洲色在线视频| 一级黄色大片免费| 制服丝袜中文字幕在线| 99精品热6080yy久久| 在线观看特色大片免费视频| 天堂中文在线网| 国产精品极品美女在线观看| 少妇大叫太大太粗太爽了a片小说| www.xxx国产| 色综合一个色综合亚洲| 日本黄色网网页| 麻豆国产精品一区二区三区| 国产一区二区在线免费观看| 99精品偷自拍| 各处沟厕大尺度偷拍女厕嘘嘘| 99精品久久免费看蜜臀剧情介绍| 国产福利在线| 日本免费在线观看视频| 先锋影音男人资源网| 久久精品亚洲乱码伦伦中文| 九色porny丨入口在线| 亚洲 小说区 图片区 都市| 精品久久久免费视频| jizzjizz亚洲中国少妇| 久久99精品久久久野外观看| 非洲黑人最猛性xxxx交| 一区二区免费在线播放| 国产精品一区二区三区视频网站| 日韩理论片在线观看| 国产综合精品| 91成人在线观看喷潮| 亚洲黄色成人| 久久精品男人的天堂| 亚洲精品免费av| 欧美一区二区三区精品电影| 色播五月激情五月| 亚洲一区二区免费| 96成人在线视频| 亚洲精品欧美在线| 青青青视频在线免费观看| 欧美在线视频第一页| 思思久久99热只有频精品66| 色综合天天色综合| 精品69视频一区二区三区| 亚洲一区二区三区免费观看| 性人久久久久| 欧洲成人在线观看| 黄色片网站在线播放| 国产精品综合不卡av| 久热re国产手机在线观看| 国产麻豆剧果冻传媒观看hd高清| 欧美一区二区观看视频| 天天骑夜夜操| 精品国产欧美日韩一区二区三区| 亚洲 日本 欧美 中文幕| 在免费jizzjizz在线视频| 中文字幕一区二区三区人妻| 不卡电影免费在线播放一区| 亚洲人成77777| 亚洲国产欧美一区二区丝袜黑人| 桃乃木香奈av在线| 久草国产在线视频| 国产女同一区二区| 永久555www成人免费| 一区二区三区亚洲变态调教大结局| 免费人成a大片在线观看动漫| 免费av福利在线观看| 精品96久久久久久中文字幕无| 天堂av在线中文| 亚洲精品人妻无码| 欧美日韩免费做爰视频| 一区二区三区四区在线| 日本在线高清视频一区| 亚洲精品一区二区三区四区高清| 国产精品1luya在线播放| 国产欧美日韩综合精品| 一卡二卡三卡四卡五卡| 天堂美国久久| 国产v综合v亚洲欧| 香蕉视频成人在线观看| 欧美精品一级二级| 欧美精彩一区二区三区| 国产黄色片免费看| 欧美日韩一区二区三区高清| 一本久道高清无码视频| 四虎最新地址发布| 777777国产7777777| 亚洲精品欧美二区三区中文字幕| 91精品国产综合久久男男| 成人福利免费在线观看| 亚洲最大成人在线观看| 三年片观看免费观看大全视频下载| 国产性生交xxxxx免费| 激情婷婷综合| 91久久精品日日躁夜夜躁欧美| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲精品乱码久久久久久蜜桃动漫| 伊人色综合久久天天| 岛国视频午夜一区免费在线观看| 日韩av一二三区| 一本一本久久a久久精品综合妖精| 97视频在线免费播放| 韩国三级中文字幕hd久久精品| 欧美国产亚洲视频| 国产极品久久久久久久久波多结野| 97精品视频在线| a天堂在线观看视频| 自拍偷拍欧美视频| 国产精品一级视频| av毛片午夜不卡高**水| 日韩午夜精品视频| 欧美在线激情| 日本成人在线免费观看| 综合区小说区图片区在线一区| 黄色亚洲大片免费在线观看| 国产成人亚洲综合a∨猫咪| 日韩精选视频| av美女网站| 国产97在线观看| 亚洲人成网站在线观看播放| 欧美日韩精品久久| 亚洲国产成人精品女人久久久| 在线天堂中文www官网| 福利片在线看| 日本无删减在线| 欧美亚洲国产成人精品| 69xxxx欧美| 69亚洲精品久久久蜜桃小说| 高h视频在线观看| 亚洲欧美在线免费| 天天天天天天操| 日韩av日韩在线观看| 隔壁人妻偷人bd中字| 免费在线观看av网址| 亚洲女人毛茸茸高潮| 国产精品久久久午夜夜伦鲁鲁| 欧美不卡在线视频| 精品卡一卡二卡三卡四在线| 亚洲国产精品久久人人爱蜜臀| 天堂蜜桃91精品| 亚洲精品国产偷自在线观看| 久久久久在线视频| 中文字幕视频三区| 欧美精品一卡两卡| 先锋影音男人av资源| 欧美变态凌虐bdsm| 激情五月色综合国产精品| 在线综合视频| 黄色av网站在线免费观看| 性生活免费观看视频| 日韩在线免费电影| 一个人免费观看在线视频www| 91社区国产高清| 影音先锋在线视频| 国产精品无码免费播放| 国产成a人亚洲精v品在线观看| 亚洲日本精品国产第一区| 久久久一二三四| 欧美 激情 在线| 日本一级淫片演员| 国产精品99一区二区| 国产区精品视频在线观看豆花| 中文字幕亚洲日本岛国片| 99精品视频在线观看播放| 欧美性色黄大片手机版| 久久老司机精品视频| 亚洲一区二区三区四区在线| 久久五月精品| 国产福利在线免费| 99久久99久久免费精品小说| 日韩在线免费视频| 国产麻豆午夜三级精品| 午夜精品免费视频| 成人av网址在线| **国产精品| 色噜噜狠狠成人中文综合| 少妇一级淫免费观看| 国产视频在线播放| 亚洲综合影院| 日韩不卡免费高清视频| 午夜国产精品视频| 日韩电影在线观看中文字幕| 99re国产精品| 麻豆freexxxx性91精品| 欧美黑人巨大xxx极品| 精品久久久久久中文字幕人妻最新| 色猫视频免费观看| 国外成人在线视频| 久久蜜桃香蕉精品一区二区三区| 视频区小说区图片区| 乱精品一区字幕二区| 92看片淫黄大片看国产片| 99精品99久久久久久宅男| 九九精品视频在线观看| 国产精品视频你懂的| 性色av一区二区三区在线观看| 精品日韩美女| 欧美日韩国产三级| 鲁丝一区鲁丝二区鲁丝三区| 欧美日韩精品一区视频| 久久se这里有精品| 色婷婷综合久久久久中文| 欧美成人欧美edvon| 精品久久影院| 日本一区二区在线| 成人免费在线网| av资源新版天堂在线| 欧美视频精品一区| 日韩有码一区二区三区| 中文字幕资源网| 久久久久久免费看| 亚洲欧洲日韩综合| 日韩欧美国产午夜精品| 中文字幕在线2021| 国产aⅴ爽av久久久久| 五月激情综合| 国产精品亲子伦av一区二区三区| 9色在线视频| 亚洲精品一区二区三区四区五区| 一个人免费观看在线视频www| 欧美精品1区2区3区| 国产白丝精品91爽爽久久| 最近中文字幕第一页| 欧美高清在线播放| 最近免费中文字幕视频2019| 亚洲人人夜夜澡人人爽| 91蝌蚪视频在线观看| 欧美性性性性性ⅹxxbbbb| 精品久久久久久久免费人妻| 精品福利一区二区三区免费视频| 亚洲精品成人久久久| 欧美理论在线播放| 国产色a在线观看| 老司机午夜福利视频| 成人免费毛片高清视频| 巨大黑人极品videos精品| 这里只有精品久久| 亚洲国产成人精品视频| 日本中文字幕免费| 波多野结衣午夜| 国产欧美三级电影| 91精品在线一区二区| 91国在线观看| 亚洲视频成人| 亚洲激情视频网| 欧美一区二区三区在线观看| 男人天堂成人在线| 国产手机视频在线观看| 99久久国产宗和精品1上映| 香蕉视频免费版| 国产麻豆乱码精品一区二区三区| 人妻av无码一区二区三区| 51精品秘密在线观看| 夜夜添无码一区二区三区| 91香蕉视频污| 啊啊啊啊啊啊啊视频在线播放| 你懂的网址一区二区三区| 无国产精品白浆是免费| 国产一区在线精品| 精品一区二区三区高清免费不卡| 97国产超碰| 麻豆精品一二三| 亚洲日本丝袜连裤袜办公室| 一色桃子久久精品亚洲| 电影亚洲一区| 好吊操视频这里只有精品| 中文在线最新版地址| 欧美日韩中文另类| 久久精品国产一区二区| 好紧好硬好湿我太爽了| 天天操天天插| 日韩视频免费在线播放| 国产精品成人aaaa在线| 黄色片大全在线观看| 国产女主播在线写真| 97香蕉超级碰碰久久免费的优势| 国产一区二区三区精品在线观看| 5g成人永久免费影院| 第一会所亚洲原创| 色婷婷精品大视频在线蜜桃视频| 99国产精品久久久| 亚洲第一网站男人都懂| 在线免费看黄色片| 国产日韩欧美中文在线| 国产精品视频一区二区三区不卡| 精品176极品一区| 国产精品午夜免费| 亚洲精品国产熟女久久久| 91精品国产自产精品男人的天堂| 亚洲女性喷水在线观看一区| 天堂成人在线观看| 日韩欧美视频免费观看| 熟妇高潮一区二区高潮| 8x国产一区二区三区精品推荐| 国内精品伊人久久久久影院对白| 色青青草原桃花久久综合| canopen超线视频网线的应用| 亚洲成va人在线观看| 国产韩日影视精品| 国产精品无码一区二区桃花视频| 黄色在线免费观看网站| 亚洲777理论| 天堂网在线.www天堂在线视频| 在线免费91| 亚洲一区在线观| 亚洲在线偷拍自拍| 国产91精品一区二区绿帽| 国产一区二区三区朝在线观看| 国产无套丰满白嫩对白| 欧美一区2区视频在线观看| 日韩一区二区三区高清免费看看| 成人在线免费观看视视频| 你懂的网站在线| 中文字幕视频一区| 成人午夜私人影院| aaaaa级片| japanese色系久久精品| 米奇精品一区二区三区| 国产美女永久免费无遮挡| 欧美性感一类影片在线播放| 九九久久久久午夜精选|