如何模拟windows打开文件(200分)

  • 主题发起人 littlegirl
  • 开始时间
L

littlegirl

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp;各位大虾,帮帮忙!<br>&nbsp; 在delphi中如何做到,点击一个文件名后,调用该文件缺省打开方式打开,如果运行<br>缺省打开方式的程式无,则调用“打开方式”板选择程序打开。
 
用ShellExecute,详细内容自己查帮助。
 
ShellExecute(handle, "open", name_of_file, NULL, NULL, SW_SHOWNORMAL);<br>
 
你的意思是在你自己的程序(文件管理/浏览程序?)里模拟?还是单在windows里的<br>exploer或者桌面上?<br>这应该是shell里的编程问题,关键是取得桌面的一个popupmenu的句柄,然后,<br>送鼠标点击。。
 
用TOleContainer<br>if OpenDialog1.Execute then<br>&nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp;FileName:=OpenDialog1.FileName;<br>&nbsp; &nbsp; &nbsp;wordOleContainer.CreateObjectFromFile(FileName, False);<br>&nbsp; &nbsp; &nbsp;wordOleContainer.DoVerb(0);<br>&nbsp; end;
 
ShellExecute(handle, "open", name_of_file, NULL, NULL, SW_SHOWNORMAL);<br>江南草的东西太复杂了,
 
shellexecute如何使用,我的delphi 5里没有帮助文件,而且使用时也没有提示! why?
 
我是littlegirl,谢谢帮助我。<br><br>用ShellExecute不完全吧.如打开test.jds文件而我电脑里没有缺省打开此文件的程序jdatastore,<br>所以ShellExecute(handle, 'open', 'C:/TEMP/test.jds', nil, nil, SW_SHOWNORMAL)<br>打不开它,此时希望调用windows的"打开方式"板,选择其它程序打开。<br><br><br>用TOleContainer<br>if OpenDialog1.Execute then<br>&nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp;FileName:=OpenDialog1.FileName;<br>&nbsp; &nbsp; &nbsp;wordOleContainer.CreateObjectFromFile(FileName, False);<br>&nbsp; &nbsp; &nbsp;wordOleContainer.DoVerb(0);<br>&nbsp; end;<br><br>运行到 wordOleContainer.DoVerb(0)这句就地址冲突.<br><br>如能提供帮助,万分感激!<br>
 
ShellExecute(handle, "open", name_of_file, NULL, NULL, SW_SHOWNORMAL);<br>例如:<br>(打开txt文本文件)<br>ShellExecute 0&amp;, nil, 'Text.txt', nil, 0, handle;<br>(访问网站)<br>ShellExecute 0&amp;, nil,'www.pchome.net', nil, 0, handle;<br>别忘给我加分喔<br>
 
自己做个对话框不好吗,干吗一定要用 windows的"打开方式"板呢?<br><br>
 
接受答案了.
 

Similar threads

D
回复
0
查看
823
DelphiTeacher的专栏
D
D
回复
0
查看
795
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
871
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部