我为资源管理器中的上下文菜单添加了一个处理程序,以有条件地显示项目。 我现在的问题是,当到了
InvokeCommand
时,我应该使用ShellExecute
来运行需要运行的.exe,还是应该使用CreateProcess()
方法?
基本上 Windows 使用静态条目的方式就是我想要复制的。
蒂亚!!
ShellExecute
可以做两件事 CreateProcess
不能:
CreateProcess
可以为子进程设置一些ShellExecute
无法设置的高级选项(处理继承、调试和属性列表)。
如果您不知道要启动什么,通常首选
ShellExecute
。你必须小心的一件事是,使用 ShellExecuteEx
时你不会执行自己(导致无限循环)。不设置 SEE_MASK_INVOKEIDLIST
标志将降低发生这种情况的风险。如果您知道您正在启动 .exe 那么这种情况就不会发生...