有关用C语言或C++编一个杀指定进程的问题

aticoco 2009-09-15 04:22:23
各位大虾好,小弟新手,刚学习C语言,想问下这个思路是怎样的,要求我懂什么?
PS:本人新手,最好能详细点哦,3q
...全文
257 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
aticoco 2009-09-17
  • 打赏
  • 举报
回复
9楼的大大,对,就是用这些程序编译一个,随便哪个程序都ok
aticoco 2009-09-17
  • 打赏
  • 举报
回复
谢谢8楼的大大,我学习一下
kouwenlong 2009-09-16
  • 打赏
  • 举报
回复
学习下.
shiweifu 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 aticoco 的回复:]
要求:利用C\C++进行编写,建议用VC6或VS编译器也可以使用TURBO C/DEV-C++等编译器开发,
[/Quote]

VC6或VS编译器?
TURBO C/DEV-C++等编译器?
TianYiXiang 2009-09-16
  • 打赏
  • 举报
回复
bool KillProcess( DWORD process_id )
{

HANDLE hProcess = OpenProcess(PROCESS_TERMINATE,FALSE,process_id);

if( NULL == hProcess )
{
return false;
}

if( !TerminateProcess(hProcess, 0) )
{
return false;
}

return true;
}

//根据程序名查找程序对应的进程ID
DWORD GetProcessIDFromName( char *pName )
{
if( NULL == pName )
{
return -1;
}

HANDLE hSnapshot;

//创建结构体用来存放进程快照信息
PROCESSENTRY32 processinfo;
processinfo.dwSize = sizeof(processinfo);

//进程快照获取进程列表
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if( NULL == hSnapshot )
{
return 0;
}

//从Snapshot(上面获得的进程快照)得到第一个进程记录信息
bool bStatus = Process32First( hSnapshot, &processinfo );

int nLen = wcslen( processinfo.szExeFile ) + 1;



char *pTemp = new char[2*nLen + 1];

while( bStatus )
{

//wchar* 转 char*
WideCharToMultiByte(CP_ACP, 0, processinfo.szExeFile, nLen, pTemp, 2*nLen, NULL,NULL);

//找到返回进程ID
if( stricmp(pName,pTemp) == 0 )
{
delete []pTemp;
CloseHandle(hSnapshot);
return processinfo.th32ProcessID;
}

//从Snapshot(上面获得的进程快照)得到下一个进程记录信息
bStatus = Process32Next(hSnapshot, &processinfo);
}

delete []pTemp;

//关闭进程快照句柄
CloseHandle(hSnapshot);
return -1;
}
theone11 2009-09-15
  • 打赏
  • 举报
回复
直接用system函数来调用taskkill就行了,这个命令的用法可以在cmd下运行taskkill /?来查
bxk253387223 2009-09-15
  • 打赏
  • 举报
回复
taskkill
HelloCChao 2009-09-15
  • 打赏
  • 举报
回复
aticoco 2009-09-15
  • 打赏
  • 举报
回复
大大能具体点吗?就是调用什么函数去找什么?然后怎么做?
aticoco 2009-09-15
  • 打赏
  • 举报
回复
要求:利用C\C++进行编写,建议用VC6或VS编译器也可以使用TURBO C/DEV-C++等编译器开发,
wuyu637 2009-09-15
  • 打赏
  • 举报
回复
WINDOWS API

1, 找到指定的进程。
2. kill掉。
aticoco 2009-09-15
  • 打赏
  • 举报
回复
主要是思路,我不是只要代码的,这样我要了也没用。

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧