开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2015
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
QT
问题(Question):
ShellExecute参数问题
喂入的资料(Input):
想用ShellExecute去打开EXE
但发现写法会让程式无法正确开启
查完MSDN之后不知道问题出在哪
ShellExecute(NULL, L"open", L"TEST.exe", NULL, L"D:\\USER324", SW_SHOWNORMAL);
//这个可以正常运作
ShellExecute(NULL, L"open",L"D:\\USER324\\TEST.exe", NULL, NULL,SW_SHOWNORMAL);
//这个会不完整打开EXE
问题出在
lpFile[输入]
类型:LPCTSTR
一个指向指定要执行指定动词的文件或对象的空终止字符串。要指定一个Shell命名空间
对象,通过完全合格的解析名称。注意,并非所有动词都支持的所有对象。例如,不是所
有的文档类型支持“打印”动词。如果相对路径用于lpDirectory参数不要使用lpFile相
对路径。
lpDirectory[中,可选]
类型:LPCTSTR
一个指向指定了操作的默认(工作)目录空结尾的字符串。如果该值为NULL,则使用当前
的工作目录。如果在lpFile提供了一个相对路径,不要使用lpDirectory相对路径。
我第二个做法lpFile给了绝对路径,然后lpDirectory给NULL
理论上应该是跟第一种作法是一模一样的吧?