ShellExecuteInfo”的用法和实现方式:Windows API编程技巧

作者:临夏麻将开发公司 阅读:33 次 发布时间:2023-06-22 08:08:47

摘要:ShellExecuteInfo是一个重要的Windows API编程技巧,该函数使用广泛,用来启动一个应用程序或打开一个文件或URL等等。本文将详细介绍ShellExecuteInfo的用法和实现方式,以便读者深入了解这一重要的函数。首先,需要明确的是ShellExecuteInfo是一个结构体,而不是一个函数或A...

ShellExecuteInfo是一个重要的Windows API编程技巧,该函数使用广泛,用来启动一个应用程序或打开一个文件或URL等等。本文将详细介绍ShellExecuteInfo的用法和实现方式,以便读者深入了解这一重要的函数。

ShellExecuteInfo”的用法和实现方式:Windows API编程技巧

首先,需要明确的是ShellExecuteInfo是一个结构体,而不是一个函数或API。结构体可以理解为一个含有多个属性的数据类型,这个结构体提供给传递参数,用于定义ShellExecute的行为模式。该结构体包含了以下成员:

- cbSize 该结构体的大小,有些应用程序需要手动设置该值;

- fMask 用来标识其他成员中哪些是有效设置的;

- hwnd 是否为调用程序指定最顶层的窗口句柄;

- lpVerb 点击操作类型,如打开、修改、编辑等操作;

- lpFile 要运行的可执行文件的名字;

- lpParameters 要传递的参数;

- lpDirectory 应使用的初始工作目录;

- nShowCmd 打开时显示窗口的状态;

- hInstApp 打开的程序的实例句柄;

- lpIDList 要打开的文件的ID列表;

- lpClass 测试文件的类型为指定的文件类型;

- hkeyClass 获取注册的类信息;

- dwHotKey 热键标志;

- hIcon 获取的ICON句柄。

通过ShellExecuteInfo的这些属性,我们可以自由地控制要启动的应用程序或文件的各种属性,例如窗口的高度和宽度、启动模式等等。与CreateProcess函数不同,ShellExecuteInfo的作用是启动一个可以通过文件扩展名进行注册的应用程序,而不是直接运行程序。

对于常见的用法,我们可以这样使用ShellExecuteInfo。首先,必须填写ShellExecuteInfo结构体的cbSize成员。此外,我们可以填写一些名称、文件路径和其他选项。例如:

```

SHELLEXECUTEINFO shex;

memset(&shex, 0, sizeof(shex));

shex.cbSize = sizeof(SHELLEXECUTEINFO);

shex.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI | SEE_MASK_INVOKEIDLIST;

shex.lpVerb = _T("open");

shex.lpFile = _T("C:\\Windows\\notepad.exe");

shex.lpParameters = _T("");

shex.lpDirectory = _T("C:\\Windows");

shex.nShowCmd = SW_SHOW;

```

上述代码中,我们创建一个SHELLEXECUTEINFO结构体,并告诉ShellExecuteInfo要启动一个名为“C:\Windows\notepad.exe”的应用程序。 lpVerb成员设置为“open”,表示将打开指定的文件,而不是执行其他操作。

然后,我们需要使用ShellExecuteEx函数来实际运行应用程序:

```

BOOL fRet = ShellExecuteEx(&shex);

```

此代码使用ShellExecuteEx函数来运行我们刚刚创建的SHELLEXECUTEINFO结构体。

需要注意的是,在此代码段中,我们创建了一个BOOL类型的变量fRet,该变量用于存储ShellExecuteEx返回的值。如果fRet的值为TRUE,则应用程序或文件已成功打开。

总结

在本文中,我们介绍了ShellExecuteInfo的用法和实现方式,这是一个极其重要的Windows API编程技巧,可以用来启动一个外部应用程序或打开一个文件或URL等等。可以使用ShellExecuteInfo结构体来定义启动的行为模式,然后使用ShellExecuteEx函数来实际运行应用程序。本文中的示例代码应该能够让读者更好地掌握ShellExecuteInfo的用法。

  • 原标题:ShellExecuteInfo”的用法和实现方式:Windows API编程技巧

  • 本文链接:https:////zxzx/18167.html

  • 本文由深圳飞扬众网小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与飞扬众网联系删除。
  • 微信二维码

    CTAPP999

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员


    点击这里给我发消息电话客服专员


    在线咨询

    免费通话


    24h咨询☎️:166-2096-5058


    🔺🔺 棋牌游戏开发24H咨询电话 🔺🔺

    免费通话
    返回顶部