[转]杀死已知应用程序名称的进程 VC

原创 2007年09月17日 11:29:00

#include <Tlhelp32.h>
#include <stdio.h>

void KillProcess(LPTSTR sProcessName)
{
 char cTemp[256];
 //判该程序是否运行
 HANDLE hProcessSnap = NULL;
 PROCESSENTRY32 pe32={0};

 PROCESS_INFORMATION ProcessInfo;
 STARTUPINFO StartupInfo = {0};

 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if (hProcessSnap == (HANDLE)-1)
  return;

 pe32.dwSize = sizeof(PROCESSENTRY32);
 if (Process32First(hProcessSnap, &pe32))
 {
  do
  {
   if (strcmp(pe32.szExeFile,sProcessName) == 0)
   {
    StartupInfo.cb = sizeof(STARTUPINFO);
    StartupInfo.wShowWindow = SW_HIDE;
    ZeroMemory(&StartupInfo, sizeof(StartupInfo));
    sprintf(cTemp,"ntsd -c q -p %d", pe32.th32ProcessID);

    CreateProcess(NULL,cTemp,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo);
    CloseHandle(hProcessSnap);
    return;
   }
  }while (Process32Next(hProcessSnap, &pe32));
 }

 CloseHandle(hProcessSnap);
}

假设已知应用程序全路径名称:

 LPTSTR lpszProcName = "E://项目文档与程序//BeatTest//BeatTest.exe";

那么如下调用即可杀死已有进程。
 LPTSTR lpExeName = strrchr(lpszProcName, '//');
 KillProcess(lpExeName + 1);


 

关于iOS 9之前的本地推送,本地推送杀掉进程后到底能不能收到?

昨天下午去面试 面试官:“本地推送,在杀掉进程以后还可以收到吗?” 我(非常肯定的):“可以的” 面试官:“并不能,不信你回去写个demo吧” 我:“我写过本地推送,确实是可以的啊” 面试官...
  • u013679882
  • u013679882
  • 2016年11月29日 11:49
  • 2101

linux 通过程序名杀死进程

方法1:适用于嵌入式linux     #!/bin/ksh ps -ef|grep -v grep|grep process_name|while read u p o do kill ...
  • sunjianjun1981
  • sunjianjun1981
  • 2014年05月28日 10:42
  • 3071

Android应对进程被杀死--Service(二)

Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持...
  • dj0379
  • dj0379
  • 2016年05月31日 17:01
  • 4499

vb源码--已知窗口句柄获得其EXE应用程序路径

  • 2010年12月07日 17:14
  • 5KB
  • 下载

华为机试样题解析:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。 编写程序,任意输入两个站点名称,输出最少需要经过的站点数

#include "stdafx.h" #include #include #include #include #include #include using namespa...
  • yangmingjinqq
  • yangmingjinqq
  • 2014年03月28日 15:53
  • 1062

修改Android工程的名称、安装路径、应用程序进程名

在Google提供的Eclipse集成开发环境adt-bundle下修改名称的总结: 1.      修改工程名(apk名称) 在弹出的对话框中输入新名称 该操作实际上是修改/.project下的...
  • hcj116
  • hcj116
  • 2014年03月21日 13:50
  • 15114

结束已知应用程序名的进程Demo

  • 2010年11月24日 20:14
  • 44KB
  • 下载

已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量.

已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起...
  • xc889078
  • xc889078
  • 2013年08月31日 22:41
  • 2609

android 已知资源名称获取资源ID

转自:http://blog.csdn.net/shaojie519/article/details/6746716
  • u012049463
  • u012049463
  • 2014年07月02日 10:43
  • 671

VC中使用GetModuleFileName获取应用程序路径 转帖

\\与API函数GetModuleFileName获取应用程序目录有何不一样? 采用.\\也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同? 一样! 一...
  • zhangjunjian127
  • zhangjunjian127
  • 2011年12月07日 10:16
  • 405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[转]杀死已知应用程序名称的进程 VC
举报原因:
原因补充:

(最多只允许输入30个字)