如何知道系统默认的播放器?(100分)

  • 主题发起人 主题发起人 陈礼泉
  • 开始时间 开始时间

陈礼泉

Unregistered / Unconfirmed
GUEST, unregistred user!
如何知道系统默认的播放器?比如CD,MP3,VCD,DVD,它们默认的播放器是哪个程序
 
在注册表中 HKEY_CLASSES_ROOT下有相关扩展名
相关扩展名的 “默认“字段的值 是打开类型
还在这个键值下查找该类型。。里面就有打开次类型文件的路径
 
比如是txt文件类型,那我程序该如何写,就可以调用默认的程序呢?
 
其实使用哪个程序打开文件不用自个操心,比如txt文件,只要使用winexec运行这个文件名,系统会调用相关联的程序打开它。
 
dmzn:
procedure TForm1.Button1Click(Sender: TObject);
var
strFileName : string;
begin

if not OpenDialog1.Execute then
Exit;
strFileName := OpenDialog1.FileName;
Winexec(PChar(strFileName),SW_NORMAL);
end;


似乎不管用啊
 
WINEXEC 不具备这个功能.
要用到ShellApi中的ShellExecute 函数,说明如下:
查找与指定文件关联在一起的程序的文件名 返回值 Long,非零表示成功,零表示失败。
参数 类型及说明
hwnd Long, 指定一个窗口的句柄,有时候,windows程序有必要
在创 建自己的主窗口前显示一个消息框
lpOperation String, 指定字串“open”来打开lpFlie文档,或指定
“Print”来打印它
lpFile String, 想用关联程序打印或打开一个程序名或文件名
lpParameters String, 如lpszFlie是可执行文件,则这个字串包含传递给
执行程序的参数
lpDirectory String, 想使用的完整路径
nShowCmd Long, 定义了如何显示启动程序的常数值。

 
多人接受答案了。
 
后退
顶部