CreateProcess 終止程序

2021-07-11 07:24:07 字數 1434 閱讀 4383

最近需要用到,稍微研究了下。

1. 供createprocess啟動的程序test.exe,只是列印出引數而已。

#include "stdafx.h"

#include

#include

#include

using

namespace

std;

int main(int argc, char* argv)

程式 //

#include "stdafx.h"

#include

#include

int main(int argc, char* argv)

; process_information pi;

si.dwflags = startf_useshowwindow;

si.wshowwindow = true; //true表示顯示建立的程序的視窗

tchar cmdname =text("d:");

tchar cmdline2 =text("12 34 56 88");//引數

int p1 = 66;char p2 = "53";int p3 = 99;

sprintf(cmdline2,"%d %s %d",p1,p2,p3);//格式化引數

bool bret = ::createprocess (

cmdname,

cmdline2, //在unicode版本中此引數不能為常量字串,因為此引數會被修改

null,

null,

false,

create_new_console,

null,

null,

&si,

&pi);

int error = getlasterror();

if(bret)

else

sleep(2000);

terminateprocess(pi.hprocess, 0);//終止程序

::closehandle (pi.hthread);

::closehandle (pi.hprocess);

return

0; }

/*1. 直接啟動程序,不等待執行完成

bool ret = createprocess(null, ccommandline, null, null, false, 0, null, null, &si, &pi);

if (ret)

2. 等待執行完成

bool ret = createprocess(null, ccommandline, null, null, false, 0, null, null, &si, &pi);

if (ret)

//*/

CreateProcess函式使用

startupinfo infostart process information infoprocess memset infostart,0,sizeof infostart infostart.cb sizeof startupinfo infostart.dwflags startf use...

建立程序 CreateProcess

下面來分享一下如何用c 建立程序 開發環境建議vs2017 宇宙第一ide 以下為建立新的程序,以拉起記事本為例 include include using namespace std int main startupinfo 結構體初始化 process information pi proces...

CreateProcess引數傳遞

引數傳遞是很奇怪,有時候會無法啟動,比如 createprocess c a.exe aa bb cc 顯示出錯 通過createprocess c a.exe c a.exe c a.exe aa bb cc 即可.handle hread,hwrite security attributes s...