关联问题(大家都会用到的,看看) (100分)

  • 主题发起人 主题发起人 D影子D
  • 开始时间 开始时间
D

D影子D

Unregistered / Unconfirmed
GUEST, unregistred user!
如果要关联自己软件,双击文件已经启动本软件,但怎样实现打开的命令?
比如说一mp3关联了播放器软件,怎样在打开后自动播放呢?
望高手指教!
 
用ParamStr(i)得到传入的第i个参数。
用ParamCount得到参数个数。
得到的传入的文件名,怎么操作看你。
 
请再说具体写好吗?
 
一般的,ParamStr(1)就可以得到传入的参数。
你试试。
 
writestring('myext/shell/second_action','','this is our second action');
writestring('myext/shell/second_action/command','',AppPath+'/1.exe/parastr(i) %1');
没反映!
 
在注册表的文件关联里,如下写就可以了:
writestring('myext/shell/second_action/command','',AppPath+'/1.exe %1');
在程序里处理的时候,接受命令行如:1 c:/boot.ini
* **********
参数paramstr(i)有如下值: i:=0,则 paramstr(0):='1.exe文件所在全路径'
i:=1,则 paramstr(1):='c:/boot.ini'
 
还不太懂!
比如说我的程序是放媒体文件1.mp3,用mediaplay怎么实现?
关联后自动调出本程序,在程序中。。。。???
formcreate()
begin
.......
......
end;

 
关注!帮你up一下!
 
看paramcount,如果在运行的时候有传入参数的话,那你就可以根据这个参数,
打开文件,进行播放了。。。。。
 
我知道paramstr(0)是执行第一个文件的地址,但关联的呢?
即使说我点击。mp3文件可以调出我的主文件,但不能实现其播放
功能!
关键在此![:(]
有谁能谈谈!
 
你的程序有没有实现一打开就播放的功能呀?
 
就是问这个!
formcreate()
mediaplayer1.filename:=????????
mediaplayer1.open;
mediaplayer1.play;
 
MediaPlayer1.Filename := ParamStr(1);
 
请看帖子id=465930
这才是说到点子上:
myregistry.OpenKey('/txtfile/shell/open/command',true);
myregistry.WriteString('','NotePad.exe %1');
myregistry.Free;
if ParamCount>=2 then
begin
temp:=ParamStr(1);
For iCount:= 2 to ParamCount do
begin
temp:=temp+' '+paramstr(icount);
end;
end
else temp:=Paramstr(1);
winexec(pchar(temp),sw_normal);

哈,看来看去,我还是来晚了
 
谁能就具体用mediaplayer1调用播放来讲一个例子,
分数好发送啊!
 

Similar threads

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