ShellExecute何时失败? (DELPHI)

时间:2009-12-07 01:54:23

标签: delphi shellexecute

我打算将ShellExecute用于在delphi 2007中编写的应用程序的更新程序,我想知道ShellExecute是否可以在大多数使用Win的计算机上运行,​​或者是否因为某些用户权限或类似的原因而很容易失败。

2 个答案:

答案 0 :(得分:1)

我相信shellExecute确实需要管理员。你没有提到操作系统。如果是Vista +那么UAC就可以玩了。见this explanation

答案 1 :(得分:0)

来自MSDN

  

<强>说明

     

因为ShellExecute可以委派   执行到Shell扩展(数据   来源,上下文菜单处理程序,动词   实现)被激活   使用组件对象模型(COM),   COM应该在之前初始化   调用ShellExecute。一些壳牌   扩展需要COM   单线程单元(STA)类型。   在这种情况下,COM应该是   初始化如下所示:

CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)

正如Ken Lange所建议的那样,对你想要执行的内容进行改变,你可能需要管理权限。