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

最佳答案

来自MSDN


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


CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)


而且正如Ken Lange所建议的那样,取决于您要执行的内容,您可能需要管理权限。

关于delphi - ShellExecute何时会失败? (德尔福),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1857364/

10-10 14:33