不知道程序的窗口句柄时结束该程序的进程

热心观众m

热心观众m

2016-02-19 13:04

今天给大家分享的是由图老师小编精心为您推荐的不知道程序的窗口句柄时结束该程序的进程,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!
假如只要判定EXE的名字(不需要判定路径),可以省略EnumProcess,因为
  pe32.szExeFile 里就已经有EXE的名字了,因为没有路径,所以才又使用了
  函数EnumProcess来取得完整的路径。这样就简洁一些了。
  BOOL CALLBACK EnumWinProc(HWND hwnd, LPARAM lParam)
  {
      DWord dwID;
  
      GetWindowThreadProcessId(hwnd, &dwID);
      if (dwID == (DWORD)lParam) {
          PostMessage(hwnd, WM_QU99v, 0, 0);
          return FALSE;
      }
      return TRUE;
  }
  
  void KillProgram(LPCSTR ExeName)
  {
      char *File;
      HANDLE hProcessSnap;
      PROCESSENTRY32 pe32;
  
      if (!ExeName !ExeName[0])
          return;
      File = strrchr(ExeName, '');
      if (File!=0) ExeName = File+1;
      hProcessSnap = CreateToolhelp32Snapshot(
          TH32CS_SNAPPROCESS, 0);
      if (hProcessSnap == (HANDLE)-1) return;
  
      memset(&pe32, 0, sizeof(pe32));
      pe32.dwSize = sizeof(PROCESSENTRY32);
      if (Process32First(hProcessSnap, &pe32))
      {
          do {
              memset(&me32, 0, sizeof(me32));
              me32.dwSize = sizeof(me32);
              File = strrchr(pe32.szExeFile, '');
              File = File? File+1 : pe32.szExeFile;
              if (strcmpi(File,ExeName)==0) {
                  EnumWindows((WNDENUMPROC)EnumWinProc,
                     pe32.th32ProcessID);
              }
          }
          while(Process32Next(hProcessSnap,&pe32));
      }
      CloseHandle(hProcessSnap);
  }
  
  
展开更多 50%)
分享

猜你喜欢

不知道程序的窗口句柄时结束该程序的进程

编程语言 网络编程
不知道程序的窗口句柄时结束该程序的进程

Win7系统Word程序未响应不想结束进程该怎么办

电脑网络
Win7系统Word程序未响应不想结束进程该怎么办

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Win7系统Word程序未响应不想结束进程该怎么办?

电脑网络
Win7系统Word程序未响应不想结束进程该怎么办?

你不知道的饮食

生活常识 生活小常识
你不知道的饮食

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

你不知道的秘密

祛斑
你不知道的秘密

你不知道的做法

营养价值
你不知道的做法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JQuery Easyui Tree的oncheck事件实现代码

JQuery Easyui Tree的oncheck事件实现代码

win10正式版安全模式可以联网吗?

win10正式版安全模式可以联网吗?
下拉加载更多内容 ↓