[问题] ShellExecute问题

楼主: MOONY135 (谈无欲)   2016-10-08 13:37:19
开发平台(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
理论上应该是跟第一种作法是一模一样的吧?
作者: TobyH4cker (Toby (我要当好人))   2016-10-08 17:55:00
“无法正确开启、不完整打开EXE”可以说明清楚吗?水晶球说你程式有打开可是运作不正常这样?
楼主: MOONY135 (谈无欲)   2016-10-08 19:35:00
没有完整抓到图档
作者: EdisonX (卡卡兽)   2016-10-10 00:07:00
你的图档的路径是在??有和 lpDirectionory 相依 ?
楼主: MOONY135 (谈无欲)   2016-10-10 17:31:00
图档在L"D:\\USER324 也就是目前运行的EXE的上一层
作者: TobyH4cker (Toby (我要当好人))   2016-10-11 18:23:00
USER324是跟EXE同一层吧哦的上一层所以是D:就是了答案很明显吧Working Directory
楼主: MOONY135 (谈无欲)   2016-10-11 20:54:00
感恩

Links booklink

Contact Us: admin [ a t ] ucptt.com