簡體   English   中英

在Windows上通過參數殺死ID的進程

[英]Kill process by ID in argument on windows

我想寫一個程序來殺死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 number,例如1243:

HANDLE handleOfMyProcess = OpenProcess(PROCESS_TERMINATE, FALSE, 1243);

有用。

我的問題是為什么第一種方法行不通?

因為main的參數是字符串,所以不能將參數直接分配給DWORD 您將不得不轉換它。

main的定義如下所示:

int main(int argc, char *argv[]);

您可以使用atoi將其轉換:

    DWORD pid= atoi(argv[1]);

並且您必須打開編譯器警告,因為編譯器會向您發出警告

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM