如何将SDF文件(sqlCE)与我的C#程序关联?

如何将SDF文件(sqlCE)与我的C#程序关联?,c#,winforms,C#,Winforms,我制作了一个C#程序,可以打开并显示sdf文件(sqlCE) 如何(在我的程序安装中)使所有*.sdf文件 在我的电脑里会打开我的程序吗 提前感谢。您可以轻松使用的完整示例: 您需要在HKEY_CLASSES_ROOT下创建一个密钥,其名称设置为您的文件扩展名(例如:“.txt”)。将此键的默认值设置为文件类型的唯一名称,例如“Acme.TextFile”。然后在HKEY_CLASSES_ROOT下创建另一个密钥,名称设置为“Acme.TextFile”。添加名为“DefaultIcon”的子项

我制作了一个C#程序,可以打开并显示sdf文件(sqlCE)

如何(在我的程序安装中)使所有*.sdf文件

在我的电脑里会打开我的程序吗

提前感谢。

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

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

[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\""

因此,您应该在安装时编辑注册表。
用于编辑/添加/删除注册表项。

您使用什么作为打包程序?ClickOnce提供了一种从Visual Studio中设置注册表项的简单方法。感谢您的帮助!,但我不明白-如果我需要,我在(d:\OpenSDF.exe)中的程序将打开我计算机上的所有*.sdf文件。我需要在这个文件中更改什么?@Gali看看这个。然后使用以下代码:
如果(!FileAssociation.IsAssociated(.sdf)),则关联(.sdf、.ClassID.ProgID、.sdf文件、.yourcon.ico、.D:\OpenSDF.exe)if(!FileAssociation.IsAssociated(“.sdf”))关联(“.sdf”、“ClassID.ProgID”、“sdf file”、“yourcon.ico”、“D:\DifferentProgram.exe”)