gpt4 book ai didi

c# - 如何将文件扩展名关联到 C# 中的当前可执行文件

转载 作者:IT王子 更新时间:2023-10-29 03:48:53 25 4
gpt4 key购买 nike

我想将文件扩展名关联到 C# 中的当前可执行文件。这样,当用户随后在资源管理器中单击该文件时,它将以给定文件作为第一个参数运行我的可执行文件。理想情况下,它还将给定文件扩展名的图标设置为我的可执行文件的图标。谢谢大家。

最佳答案

似乎没有用于直接管理文件关联的 .Net API,但您可以使用注册表类来读取和写入您需要的键。

您需要在 HKEY_CLASSES_ROOT 下创建一个 key ,名称设置为您的文件扩展名(例如:“.txt”)。将此键的默认值设置为您的文件类型的唯一名称,例如“Acme.TextFile”。然后在 HKEY_CLASSES_ROOT 下创建另一个键,名称设置为“Acme.TextFile”。添加一个名为“DefaultIcon”的子项,并将该项的默认值设置为包含您希望用于此文件类型的图标的文件。添加另一个名为“shell”的兄弟。在“shell”键下,为您希望通过资源管理器上下文菜单可用的每个操作添加一个键,将每个键的默认值设置为可执行文件的路径,后跟一个空格和“%1”来表示路径到所选文件。

例如,这里有一个示例注册表文件,用于在 .txt 文件和 EmEditor 之间创建关联:

Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\.txt]@="emeditor.txt"[HKEY_CLASSES_ROOT\emeditor.txt]@="Text Document"[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]@="%SystemRoot%\\SysWow64\\imageres.dll,-102"[HKEY_CLASSES_ROOT\emeditor.txt\shell][HKEY_CLASSES_ROOT\emeditor.txt\shell\open][HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" \"%1\""[HKEY_CLASSES_ROOT\emeditor.txt\shell\print][HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]@="\"C:\\Program Files\\EmEditor\\EMEDITOR.EXE\" /p \"%1\""

关于c# - 如何将文件扩展名关联到 C# 中的当前可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com