首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

小弟我想调用外部程序打开一个文件,该如何弄

2012-06-12 
我想调用外部程序打开一个文件,该怎么弄?如Windows Media Plaer已打开,句柄是Wnd,想直接打开D:\abc.MP3(直

我想调用外部程序打开一个文件,该怎么弄?
如Windows Media Plaer已打开,句柄是Wnd,想直接打开D:\abc.MP3(直接播放或等待播放都行),请教如何用api函数实现,我试了多次都不行,谢谢

[解决办法]

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var    _path : String; //外部程序完整路径(含文件名)begin    if OpenDialog1.Execute then    begin        _path := OpenDialog1.FileName;        ShellExecute(                     handle,                     'open',                     pchar(_path),                     Nil,                     Nil,                     SW_SHOWNORMAL                     );    end;end;
[解决办法]
会用现有的进程播放,如果没有,当然就是新建一个进程:
//uses ShellAPI;
ShellExecute(0, 'open' , 'wmplayer', 'D:\abc.MP3', nil, SW_SHOWNORMAL);
[解决办法]
如楼上的,直接指定路径不行吗?

难道路径是动态的?
[解决办法]
直接调用shellexecute,如果想要用具体某个程序打开,你可以修改文件关联打开方式,如果不修改,他会用默认的
[解决办法]
Mypro.exe有源码吧?把它修改成支持命令行参数就行了啊!
[解决办法]
支持托拽文件到Mypro.exe的界面上吗,支持的话可以模拟托拽
[解决办法]
楼主可以在网上搜:delphi 模拟托拽
[解决办法]
模拟文件拖拽到指定窗体中
[解决办法]
谢谢,不过,我加了那个函数,并试着用,但没有成功
procedure TForm1.Button9Click(Sender: TObject);
begin
if ExecDropFile(Wnd, 'D:\abc.txt') then
Button9.Caption:='成功'
else
Button9.Caption:='失败';
end;
按钮显示失败

[解决办法]
探讨
谢谢,不过,我加了那个函数,并试着用,但没有成功
procedure TForm1.Button9Click(Sender: TObject);
begin
if ExecDropFile(Wnd, 'D:\abc.txt') then
Button9.Caption:='成功'
else
Button9.Caption:='失败';
end;
按钮显示失败
……

[解决办法]
对了,你的Wnd不会是0吧?调试一下!

热点排行