Как связать определенный тип файлов с моей программой? - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы