Как связать определенный тип файлов с моей программой? - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д