C#使用WinExec调用exe程序[通俗易懂]

2022-09-15 12:08:11 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

实现

1、添加引用

代码语言:javascript复制
using System.Runtime.InteropServices;//调用外部的DLL

2、定义win32API

代码语言:javascript复制
//调用exe
[DllImport("kernel32.dll")]
public static extern int WinExec(string exeName, int operType);

//生成执行数据
private void generateExecuteData_ItemClick(object sender, ItemClickEventArgs e)
{
    WinExec(@"C:ExecuteRecordsOrdersExecutionRecords.exe", 5);
}

WinExec说明

1、方法的返回值。
代码语言:javascript复制
方法成功,返回>31的整数值;
方法失败,返回:

返回结果

说明

0

系统内存或资源不够

ERROR_BAD_FORMAT

非法的exe程序

ERROR_FILE_NOT_FOUND

文件未找到

ERROR_PATH_NOT_FOUND

路径未找到

2、参数

方法有两个参数:第一个参数lpCmdLine为路径 程序、第二个参数nCmdShow为展示方式。

2.1lpCmdLine
代码语言:javascript复制
搜索顺序:
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

激活并展示一个窗体。不管窗体为最小化或最大化状态,系统将其恢复至原始大小及位置。当初次使用时,建议使用本值

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157258.html原文链接:https://javaforall.cn

0 人点赞