delphi – 如何使用不同扩展的关联应用程序执行文件?
发布时间:2020-12-15 04:21:09 所属栏目:大数据 来源:网络整理
导读:在我的应用程序中,我希望能够使用与不同扩展名相关联的程序执行具有任意名称和扩展名的文件. 例如,假设我有一个名为file.dat的文件,但我想用记事本打开它,好像它被命名为file.txt或file.dat.txt.此外,我没有权限重命名该文件,所以这是不可能的. 如果文件名为
在我的应用程序中,我希望能够使用与不同扩展名相关联的程序执行具有任意名称和扩展名的文件.
例如,假设我有一个名为file.dat的文件,但我想用记事本打开它,好像它被命名为file.txt或file.dat.txt.此外,我没有权限重命名该文件,所以这是不可能的. 如果文件名为file.txt,我可以调用ShellExecute.但是当调用file.dat时失败; Windows抱怨该文件没有关联. 我不想硬编码特定的可执行文件,因为(在上面的示例中)最终用户可以使用Wordpad而不是记事本来关联.txt文件.在这种情况下,我希望我的file.dat可以用Wordpad打开. 解决方法
调用
ShellExecuteEx 并指定
SHELLEXECUTEINFO 结构的lpClass成员.请注意,您必须在fMask成员中包含SEE_MASK_CLASSNAME.
例如,将lpClass设置为“.txt”以请求使用与.txt扩展名关联的程序打开文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |