关于ShellExecute ()函数;
我的程序调用ShellExecute (),加入的参数是:
ShellExecute ((HWND)this,
"open",
"msdev.exe",
temp,
NULL,
SW_SHOWNORMAL);
其中temp为一字符串:以:"C:\Program Files\Microsoft Visual Studio\VC98\Include\dos.h"
但执行过程中,MSDEV没有打开dos.h文件,而是出现了下面的错误:"C:\Program文件没找到","Files\Microsoft文件没找到"等,我想ShellExecute一定是把temp字符串给分开了,这该怎么办呢,我就要打开那里面的东西:)
请大虾们指点:)
问题点数:50、回复次数:12Top
1 楼zhuwenzheng(卧薪尝胆)回复于 2002-03-18 17:31:24 得分 0
"c:\\program files\\.."Top
2 楼blastball(●⌒●┒)回复于 2002-03-18 17:42:29 得分 20
你说的不错,ShellExecute内部对空格敏感,你可以用短路径来访问,就是"c:\\Program~1\\..."来访问,不过还是用其他函数把,Winexec(),CreateProcess()等等Top
3 楼prometheusphinx(白日梦)回复于 2002-03-18 18:15:10 得分 30
这样写吧"\"c:\\Program Files\\Microsoft Visual Studio\\VC98\\Include\\dos.h\"";
也就是说在c:\Program Files\Microsoft Visual Studio\VC98\Include\dos.h的外面加上引号Top
4 楼dhc_lmy(一只乌鸦)回复于 2002-03-18 18:36:22 得分 0
第一个'\'是转意字符,第二个'\'是内容
当你在字符串中显示特殊字符时必须这样做,形如:\n,\r,\tTop
5 楼lanzhengpeng2(兰征鹏)回复于 2002-03-18 18:42:48 得分 0
prometheusphinx(白日梦) 正解Top
6 楼honey(小虾米)回复于 2002-03-18 19:36:13 得分 0
在C\c++里路径要“\\”
如 c:\\windows\\system\\test.dllTop
7 楼weixiao(:D)回复于 2002-03-18 20:01:32 得分 0
呵,这么多人解答这个简单的问题呀:)Top
8 楼tifaling(lingxz)回复于 2002-03-18 20:15:33 得分 0
C语言中的'\'是转意符,所以要用"\\"表示,ok?Top
9 楼xuyongg(懶漢)回复于 2002-03-18 20:24:54 得分 0
在c和vc中,字符串中的'\'要用\\来表示Top
10 楼FlyCom_NT(抽刀断水彩笔描空)回复于 2002-03-18 20:33:38 得分 0
楼上所说完全正确Top
11 楼xiaobaolove(紫色太阳)回复于 2002-03-18 20:38:59 得分 0
同意楼上的楼上......C语言中的'\'是转意符,所以要用"\\"表示Top
12 楼w_Howard(Howard)回复于 2002-03-19 00:30:29 得分 0
既然是"Open"命令,可将".Exe"处的参数直接写为".H"。Top




