选中几个 .Mp3 文件,在打开方式中选用我自己做的播放器,应如何把这些文件加入我的播放器文件列表中?(100分)

  • 主题发起人 主题发起人 saellen
  • 开始时间 开始时间
S

saellen

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如上.
; 在资源管理器中选中几个 .Mp3 文件,在打开方式中选用我自己做的播放器,应如何把这些文件加入到我的播放器文件列表中?
分不够可以再加!!!
 
把文件名做为参数传回来,在程序中接收他就可以实现了。
 
如何做参数呢,请多指教!
 
各位老大帮帮忙吧, 单个文件我是解决了多个文件同时打开我没办法呀.
 
难道没有人会吗? [:(][:(][:(][:(][:(]
 
你连这个都不会就开始写播放器?怪不得人家都看不起用delphi的人,根基太浅。
 
你如果想选定N个文件一起打开,那么你的程序就会被调用N次,所以你先把程序
用 ;HD:=FindWindow('TForm','Form1');
; if HD=0 then
; ;begin
; ; ;Application.Initialize;
; ; ;Application.CreateForm(.......
; ; ;if paramcount>0 then
; ; ; ;Form1.listbox1.Items.Add(paramstr(1));//加入列表文件
;...
; Else
; ; if paramcount>0 then
; ; ; ; begin
; ; ; ; ; ds.cbData:=Length(paramstr(1))+1;
; ; ; ; ; GetMem(ds.lpData,ds.cbData);
; ; ; ; ; strCopy(ds.lpData,PChar(paramstr(1)));
; ; ; ; ; SendMessage(HD,WM_COPYDATA,hd,Cardinal(@ds));
; ; ; ; ; FreeMem(ds.lpData);
; ; ; ; end;
这样是保证你的程序只运行一次,然后用SendMessage把后来接受的数据,再发给自己已经
运行的程序,
并且通过
; ; procedure SendMyMessage(var t:TWmCopyData); message WM_COPYDATA;
procedure TForm.SendMyMessage(var t:TWmCopyData);
begin
; Form1.listbox1.Items.Add(strpas(t.CopyDataStruct^.lpData));
end;

来接受数据,就可以实现你的目的了


To: 一个过客
if (人家都看不起用delphi的人,根基太浅) then
; ShowMessage('你还来Delphi论坛干嘛?');
 
TO:一个过客
; ;你这么强, ;为什么还是只是一个过客?为什么你的大名没有扬名于世?
TO: C_XY
; ;谢谢你的回答, 用WM_COPYDATA方面我已经用过了,我不知道为什么不行,不过我问题已经
解决了,我用的是原子法,在主程序中用 hookmainwindow 处理消息.
; ;
 
后退
顶部