C++实现文件以默认打开方式打开

来源:互联网 发布:学唇语软件下载 编辑:程序博客网 时间:2024/06/06 10:45

选通过文件扩展名.doc从注册表查出关联程序msword,然后再取得其相关打开文件的参数表,然后再按类似如下的方法传递;
ExeFileName:= 'x:/xyz/msword.exe ';//Word的路径,查注册表得
ParamterFileName:= 'z:/yxz/test.doc ';//Word文档名

CreateProcess(nil,PChar(ExeFileName+ '   '+ParamterFileName),   nil,   nil,   false,   0,   nil,   nil,   @StartInfo,   @ProcInfo);


就拿Word文件来说吧,先从 "HKEY_CLASSES_ROOT/.doc "得到(默认)值 "Word.Document.8 "
从而再打开 "HKEY_CLASSES_ROOT/Word.Document.8/shell/Open/command ",取其(默认)值
' "X:/Program   Files/Microsoft   Office/OFFICE11/WINWORD.EXE "   /n   /dde '
然后把这个默认值做为ExeFileName,然后再把test.doc的完整路径做为ParamterFileName执行上面的CreateProcess就基本实现了。

原创粉丝点击