在Windows的参数中按ID杀死进程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Windows的参数中按ID杀死进程相关的知识,希望对你有一定的参考价值。
我想写一个程序,用Id杀死进程。当我通过name.exe [pid]运行它时,它无法正常工作。这是我的代码:
int main(int argc, char *argv[])
{
DWORD pid = argv[1];
HANDLE handleOfMyProcess = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
TerminateProcess(handleOfMyProcess, 5);
}
当我不写线
DWORD pid = argv[1];
并以这种方式给出pid号作为第三个参数,例如1243:
HANDLE handleOfMyProcess = OpenProcess(PROCESS_TERMINATE, FALSE, 1243);
有用。
我的问题是为什么第一种方法不起作用?
答案
因为main的参数是字符串,所以不能直接将参数赋给DWORD
;你将不得不转换它。
main
的定义显示了这一点:
int main(int argc, char *argv[]);
你可以用atoi
转换它:
DWORD pid= atoi(argv[1]);
并且您必须打开编译器的警告,因为编译器会给您一个警告
以上是关于在Windows的参数中按ID杀死进程的主要内容,如果未能解决你的问题,请参考以下文章