shellexecute(hwnd, op , file , params , dir , bshow )
其引數含義如下所示。
hwnd:父視窗的控制代碼,如果沒有父視窗,則為0。
op:要進行的操作,為「open」、「print」或者為空。
file:要執行的程式,或者開啟的指令碼。
params:要向程式傳遞的引數,如果開啟的為檔案,則為空。
dir:程式初始化的目錄。
bshow:是否顯示視窗
可以這麼理解,使用shellexecute就像在windows下的cmd中呼叫某個exe檔案
編寫一段簡單的c++**,並生成exe檔案,**如下
#include
#include
using
namespace
std;
int main(int argc, char* argv)
for (int i = 1; i < argc; ++i)
cin.get();
return
0;}
使用shellexecute呼叫
#usr/bin/env python
#-*- coding: utf-8 -*-
import win32api
import win32event
import win32process
defmain
(): exepath = "e:\python_wk\callexeonwin\hellosomething.exe"
param = "hello world abc 123"
win32api.shellexecute(0,
"open",
exepath,
param,
'',1)
if'__main__' == __name__:
main()
可以看到引數用空格隔開即可
使用createprocess呼叫
#usr/bin/env python
#-*- coding: utf-8 -*-
import win32api
import win32event
import win32process
defmain
(): exepath = "e:\python_wk\callexeonwin\hellosomething.exe"
param = "hello world abc 123"
param = exepath + " " + param
handle = win32process.createprocess(exepath,
param,
none,
none,
0,win32process.create_new_console,
none,
none,
win32process.startupinfo())
if'__main__' == __name__:
main()
因為由c++編譯的exe檔案的第乙個引數是自己本身,也就是在c++程式中 argv[0] 的值是exe檔案本身的路徑,可以看到,在使用createprocess呼叫exe時,我們需要將exe路徑加入到引數中,而在shellexecute中是不需要的。 Python呼叫(執行)外部程式
在python中可以方便地使用os模組執行其他的指令碼或者程式,這樣就可以在指令碼中直接使用其他指令碼,或者程式提供的功能,而不必再次編寫實現該功能的 為了更好地控制執行的程序,可以使用win32process模組中的函式。如果想進一步控制程序,則可以使用ctype模組,直接呼叫kernel32.d...
Python呼叫(執行)外部程式
1 使用os.system函式執行其他程式 2 使用shellexecute函式執行其他程式 3 使用createprocess函式執行其他程式 4 使用ctypes呼叫kernel32.dll中的函式 1 使用os.system函式執行其他程式 os模組中的system 函式可以方便地執行其他程式...
Python呼叫(執行)外部程式
在python中可以方便地使用os模組執行其他的指令碼或者程式,這樣就可以在指令碼中直接使用其他指令碼,或者程式提供的功能,而不必再次編寫實現該功能的 為了更好地控制執行的程序,可以使用win32process模組中的函式。如果想進一步控制程序,則可以使用ctype模組,直接呼叫kernel32.d...