我打算将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/