Delphi 如何执行具有不同扩展名的文件';关联的应用程序?
在我的应用程序中,我希望能够使用与不同扩展名关联的程序执行具有任意名称和扩展名的文件 例如,假设我有一个名为Delphi 如何执行具有不同扩展名的文件';关联的应用程序?,delphi,winapi,shellexecute,file-association,Delphi,Winapi,Shellexecute,File Association,在我的应用程序中,我希望能够使用与不同扩展名关联的程序执行具有任意名称和扩展名的文件 例如,假设我有一个名为file.dat的文件,但我想用记事本打开它,就像它名为file.txt或file.dat.txt一样。另外,我没有重命名文件的权限,所以这是不可能的 如果文件名为file.txt,我可以调用。但是当调用file.dat时失败;Windows抱怨该文件没有关联 我不想硬编码特定的可执行文件,因为(在上面的示例中)最终用户可以将.txt文件与写字板而不是记事本相关联。在这种情况下,我希望使用
file.dat
的文件,但我想用记事本打开它,就像它名为file.txt
或file.dat.txt
一样。另外,我没有重命名文件的权限,所以这是不可能的
如果文件名为file.txt
,我可以调用。但是当调用file.dat
时失败;Windows抱怨该文件没有关联
我不想硬编码特定的可执行文件,因为(在上面的示例中)最终用户可以将.txt
文件与写字板而不是记事本相关联。在这种情况下,我希望使用写字板打开我的文件.dat
。调用并指定结构的lpClass
成员。请注意,您必须在fMask
成员中包含请参见\u MASK\u CLASSNAME
例如,将lpClass
设置为'.txt'
,请求使用与.txt
扩展名关联的程序打开文件