Как связать определенный тип файлов с моей программой? - VB
Формулировка задачи:
Дело вот в чем.
Припустим я написал прогу, которая шифрует файлы.
Уже шифрованый файл сохраняеться на диск с разширением *.crypt
Я связал этот тип файлов с моей прогой (Ну тоесть ети файлы открываються с помощью моей проги).
Но получаеться прога просто запускаеться, и нифига больше не делает.
(Нужно уже в ней открывать этот файл и т.д)
Возможно ли сделать, чтобы после запуска такого файла открывалась моя прога и уже атоматически его дешифровала (Ну как к примеру если мы открываем в проводнике *.mp3 - файл, то открываеться WinAmp, который автоматически начинает его воспроизводить)
Заранее спасибо! С уважением, Стас
Решение задачи: «Как связать определенный тип файлов с моей программой?»
textual
Листинг программы
- Private Declare Function RegCreateKey Lib 'advapi32.dll' Alias 'RegCreateKeyA' (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
- Private Declare Function RegSetValue Lib 'advapi32.dll' Alias 'RegSetValueA' (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
- Private Declare Sub SHChangeNotify Lib 'shell32.dll' (ByVal wEventId As Long, ByVal uFlags As Long, dwItem1 As Any, dwItem2 As Any)
- Const SHCNE_ASSOCCHANGED = &H8000000
- Const SHCNF_IDLIST = &H0&
- Const ERROR_SUCCESS = 0&
- Const ERROR_BADDB = 1&
- Const ERROR_BADKEY = 2&
- Const ERROR_CANTOPEN = 3&
- Const ERROR_CANTREAD = 4&
- Const ERROR_CANTWRITE = 5&
- Const ERROR_OUTOFMEMORY = 6&
- Const ERROR_INVALID_PARAMETER = 7&
- Const ERROR_ACCESS_DENIED = 8&
- Private Const HKEY_CLASSES_ROOT = &H80000000
- Private Const MAX_PATH = 260&
- Private Const REG_SZ = 1
- Sub AssExtension()
- Dim sKeyName As String
- Dim sKeyValue As String
- Dim ret As Long
- Dim lphKey As Long
- sKeyName = 'MyApp.1' sKeyValue = 'My Application 1'
- ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
- ret = RegSetValue(lphKey, '', REG_SZ, sKeyValue, 0&)
- sKeyName = 'MyApp.1DefaultIcon' sKeyValue = 'D:myprog.exe,0'
- ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
- ret = RegSetValue(lphKey, '', REG_SZ, sKeyValue, 0&)
- sKeyName = '.myp'
- sKeyValue = 'MyApp.1'
- ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
- ret = RegSetValue(lphKey, '', REG_SZ, sKeyValue, 0&)
- sKeyName = 'MyApp.1'
- sKeyValue = 'D:myprog.exe %1'
- ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
- ret = RegSetValue(lphKey, 'shellopencommand', REG_SZ, sKeyValue, MAX_PATH)
- Call SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
- End Sub
- Private Sub Command1_Click()
- AssExtension
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д