对ShellExecute用法的困惑,请指教。----解决问题立马送上全部家当! ( 积分: 100 )

  • 主题发起人 主题发起人 今夜有风
  • 开始时间 开始时间

今夜有风

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);<br>var filename_now:string;<br>begin<br>filename_now:=trim(extractfilepath(application.ExeName)+'moive/'+combobox1.text);<br>showmessage(filename_now);//显示为:c:/delphi/movie/123.txt<br>ShellExecute(handle,'open',PChar(filename_now),nil,nil,SW_SHOWMAXIMIZED);//不能正常打开<br>其中combobox1中的值为123.txt(123.txt存放地址为c:/delphi/movie/123.txt)。请指教!<br><br>要是我直接<br>ShellExecute(handle,'open',PChar('c:/delphi/movie/123.txt'),nil,nil,SW_SHOWMAXIMIZED);<br>是可以打开的。但上面那样就不行了。为什么呢。搞不懂。怪事呀。<br><br>另外又试了这样也是行的:<br>filename_now:='c:/delphi/movie/123.txt';<br>ShellExecute(handle,'open',PChar(filename_now),nil,nil,SW_SHOWMAXIMIZED);
 
procedure TForm1.Button1Click(Sender: TObject);<br>var filename_now:string;<br>begin<br>filename_now:=trim(extractfilepath(application.ExeName)+'moive/'+combobox1.text);<br>showmessage(filename_now);//显示为:c:/delphi/movie/123.txt<br>ShellExecute(handle,'open',PChar(filename_now),nil,nil,SW_SHOWMAXIMIZED);//不能正常打开<br>其中combobox1中的值为123.txt(123.txt存放地址为c:/delphi/movie/123.txt)。请指教!<br><br>要是我直接<br>ShellExecute(handle,'open',PChar('c:/delphi/movie/123.txt'),nil,nil,SW_SHOWMAXIMIZED);<br>是可以打开的。但上面那样就不行了。为什么呢。搞不懂。怪事呀。<br><br>另外又试了这样也是行的:<br>filename_now:='c:/delphi/movie/123.txt';<br>ShellExecute(handle,'open',PChar(filename_now),nil,nil,SW_SHOWMAXIMIZED);
 
trim(combobox1.text)试一下。本身程序是没有问题的;
 
还有你的路径错了:<br>filename_now:=trim(extractfilepath(application.ExeName)+'moive/'+combobox1.text);<br>里面是: moive <br>你下面测试用的是: movie
 
可能是因为filename_now的结尾有一些非可见字符,如#13#10之类的。<br>用trim(filename_now)即可
 
看不出哪有问题。
 
哈哈,还是starluck眼睛厉害[^]
 
我倒。不想活了。。太马虎了。。。。。被楼上这位大哥指对了。哈。。问题出在。<br><br>里面是: moive <br>你下面测试用的是: movie
 
starluck谢了。送上全部家当了。这个马虎让我好几天没睡好觉呀。哈。。。。
 
后退
顶部