C#使用WinExec呼叫exe程式
阿新 • • 發佈:2019-01-29
實現
1、新增引用
using System.Runtime.InteropServices;//呼叫外部的DLL
2、定義win32API
//呼叫exe
[DllImport("kernel32.dll")]
public static extern int WinExec(string exeName, int operType);
//生成執行資料
private void generateExecuteData_ItemClick(object sender, ItemClickEventArgs e)
{
WinExec(@"C:\ExecuteRecords\OrdersExecutionRecords.exe" , 5);
}
WinExec說明
1、方法的返回值。
方法成功,返回>31的整數值;
方法失敗,返回:
返回結果 | 說明 |
---|---|
0 | 系統記憶體或資源不夠 |
ERROR_BAD_FORMAT | 非法的exe程式 |
ERROR_FILE_NOT_FOUND | 檔案未找到 |
ERROR_PATH_NOT_FOUND | 路徑未找到 |
2、引數
方法有兩個引數:第一個引數lpCmdLine為路徑+程式、第二個引數nCmdShow為展示方式。
2.1lpCmdLine
搜尋順序: 1、引數指定路徑 2、應用所在路徑 3、當前路徑 4、system路徑(可呼叫GetSystemDirectory方法查詢) 5、window路徑(可呼叫GetWindowsDirectory方法查詢) 6、環境變數中path路徑
2.2uCmdShow
具體說明如下
引數 | 說明 |
---|---|
11 | 最小化窗體 |
0 | 窗體隱藏 |
3 | 最大化窗體 |
6 | 最小化窗體後,啟用Z軸上的上一層窗體 |
9 | 重新初始化窗體 |
5 | 展示窗體 |
10 | |
3 | 啟用窗體,並最大化 |
2 | 啟用窗體,並最小化 |
7 | 展示窗體,並設為最小化 |
8 | 展示窗體的大小及位置為當前大小及位置 |
4 | 展示窗體的大小及位置為最常用大小及位置 |
1 | 啟用並展示一個窗體。不管窗體為最小化或最大化狀態,系統將其恢復至原始大小及位置。當初次使用時,建議使用本值 |