[問題] TerminateProcess執行結果有問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
程式的目的為開啟一個CMD的程式,並且把其關閉,但使用TerminateProcess後
卻無反應,請問這是正確的執行結果嗎
餵入的資料(Input):
無
預期的正確結果(Expected Output):
本程式為使空拍機起飛並關閉其控制視窗
錯誤結果(Wrong Output):
程式無反應,空拍機也飛不起來
程式碼(Code):(請善用置底文網頁, 記得排版)
#include "stdafx.h"
#include <string>
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <WinBase.h>
wchar_t CmdString1[] = {L"C:\\Windows\\System32\\cmd.exe /c node 0.js"};
private: System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e) {
BOOL bSuccess;
STARTUPINFO StartInfo;
PROCESS_INFORMATION ProcInfo;
HANDLE hNewProc, hNewThread;
DWORD dwProcID, dwThreadID;
//Initial STARTUPINFO
StartInfo.cb = sizeof(STARTUPINFO);
StartInfo.lpReserved = NULL;
StartInfo.lpDesktop = NULL;
StartInfo.lpTitle = NULL;
StartInfo.cbReserved2 = 0;
StartInfo.lpReserved2 = NULL;
//Initial PROCESS_INFORMATION
ProcInfo.hProcess = hNewProc;
ProcInfo.hThread = hNewThread;
ProcInfo.dwProcessId = dwProcID;
ProcInfo.dwThreadId = dwThreadID;
bSuccess = CreateProcess(
NULL, // name of executable module
CmdString1, // command line string
NULL, // SD
NULL, // SD
true, // handle inheritance option
CREATE_NEW_CONSOLE,//CREATE_NEW_PROCESS_GROUP, // creation flags
NULL, // new environment block
NULL, // current directory name
&StartInfo, // startup information
&ProcInfo // process information
);
TerminateProcess(ProcInfo.hProcess,0);
}
補充說明(Supplement):
另外請問TerminateProcess這樣的用法正不正確
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.192.66
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1448123411.A.A47.html
→
11/23 05:59, , 1F
11/23 05:59, 1F
→
11/23 06:01, , 2F
11/23 06:01, 2F
→
11/23 06:04, , 3F
11/23 06:04, 3F
推
11/23 06:57, , 4F
11/23 06:57, 4F
→
11/23 06:58, , 5F
11/23 06:58, 5F
→
11/23 07:02, , 6F
11/23 07:02, 6F
→
11/23 07:03, , 7F
11/23 07:03, 7F
→
11/23 11:12, , 8F
11/23 11:12, 8F
→
11/24 20:48, , 9F
11/24 20:48, 9F
→
11/24 21:15, , 10F
11/24 21:15, 10F