使用CreateProcess函式執行其他程式

2022-08-21 05:36:12 字數 1400 閱讀 8539

其引數含義如下。

以下**是使用win32process.createprocess函式執行記事本程式。

>>>  import win32process

>>> win32process.createprocess('c:\\windows\\notepad.exe', '', none , none , 0 ,win32process. create_no_window , none , none ,win32process.startupinfo())

(, , 280, 3076) # 函式返回程序控制代碼、執行緒控制代碼、程序id以及執行緒id

有了已建立程序的控制代碼就可以使用win32process.terminateprocess函式結束程序,或者使用win32event.waitforsingleobject等待建立的執行緒結束。其函式原型如下。

terminateprocess(handle, exitcode)

waitforsingleobject(handle, milliseconds )

對於terminateprocess,其引數含義如下。

 handle    為要操作的程序控制代碼。

 exitcode   程序退出**。

對於waitforsingleobject,其引數含義如下。

 handle    為要操作的程序控制代碼。

 milliseconds   等待的時間,如果為-1則一直等待。

以下**用於建立程序,然後對建立的程序進行相應的操作。

>>> import win32process

# 開啟記事本程式,獲得其控制代碼

>>> handle = win32process.createprocess('c:\\windows\\notepad.exe', '', none , none , 0 ,win32process. create_no_window , none , none ,win32process.startupinfo())

# 使用terminateprocess函式終止記事本程式

>>> win32process.terminateprocess(handle[0],0)

# 匯入win32event模組

>>> import win32event

# 建立程序獲得控制代碼

>>> handle = win32process.createprocess('c:\\windows\\notepad.exe', '', none , none , 0 ,win32process. create_no_window , none , none ,win32process.startupinfo())

# 等待程序結束

>>> win32event.waitforsingleobject(handle[0], -1)

0  # 程序結束的返回值

CreateProcess函式使用

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

CreateProcess使用心得

1 我們用 createprocess 執行乙個外部程式時,怎樣才能得到這個程式的輸入輸出呢?createprocess 已經替我們準備好了,在 createprocess 的startupinfo 引數裡有這樣幾個 hstdinput hstdoutput hstderror 東東,用來為建立的程...

CreateProcess的使用方法

使用編譯器vs2008。第 一 第二個引數的使用方法 樣例 使用ie開啟指定的網頁。注意第二個引數是 可執行檔案 命令列引數 include stdafx.h include include int main int argc,char argv process information pi si....