Я сделал программу на С#, которая открывает и показывает файлы sdf (sqlCE).
Как сделать так, чтобы (при установке моей программы) все файлы *.sdf
на моем компьютере будет открыта с моей программой?
Заранее спасибо.
Я сделал программу на С#, которая открывает и показывает файлы sdf (sqlCE).
Как сделать так, чтобы (при установке моей программы) все файлы *.sdf
на моем компьютере будет открыта с моей программой?
Заранее спасибо.
Вам нужно будет создать ключ в разделе HKEY_CLASSES_ROOT с именем, соответствующим расширению вашего файла (например, «.txt»). Установите значение по умолчанию для этого ключа на уникальное имя для вашего типа файла, например «Acme.TextFile». Затем создайте еще один ключ в разделе HKEY_CLASSES_ROOT с именем «Acme.TextFile». Добавьте подраздел с именем «DefaultIcon» и установите значение ключа по умолчанию для файла, содержащего значок, который вы хотите использовать для этого типа файлов. Добавьте еще одного родственного элемента под названием «оболочка». Под ключом «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\""
Поэтому вы должны отредактировать реестр при установке. Используйте пространство имен Microsoft.Win32 для редактирования/добавления/удаления реестра Ключи.
if (!FileAssociation.IsAssociated(".sdf")) Associate(".sdf", "ClassID.ProgID", "sdf File", "YourIcon.ico", "D:\OpenSDF.exe");
- person Danpe; 22.04.2011
if (!FileAssociation.IsAssociated(".sdf")) Associate(".sdf", "ClassID.ProgID", "sdf File", "YourIcon.ico", "D:\DifferentProgram.exe");
- person Danpe; 24.04.2011