delphi – 如何使用不同扩展的关联应用程序执行文件?

前端之家收集整理的这篇文章主要介绍了delphi – 如何使用不同扩展的关联应用程序执行文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用程序中,我希望能够使用与不同扩展名相关联的程序执行具有任意名称和扩展名的文件.

例如,假设我有一个名为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扩展名关联的程序打开文件.

猜你在找的Delphi相关文章