大家好,又见面了,我是你们的朋友全栈君。
实现
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 | 激活并展示一个窗体。不管窗体为最小化或最大化状态,系统将其恢复至原始大小及位置。当初次使用时,建议使用本值 |
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157258.html原文链接:https://javaforall.net
