Как связать определенный тип файлов с моей программой? - VB

Узнай цену своей работы

Формулировка задачи:

Дело вот в чем. Припустим я написал прогу, которая шифрует файлы. Уже шифрованый файл сохраняеться на диск с разширением *.crypt Я связал этот тип файлов с моей прогой (Ну тоесть ети файлы открываються с помощью моей проги). Но получаеться прога просто запускаеться, и нифига больше не делает. (Нужно уже в ней открывать этот файл и т.д) Возможно ли сделать, чтобы после запуска такого файла открывалась моя прога и уже атоматически его дешифровала (Ну как к примеру если мы открываем в проводнике *.mp3 - файл, то открываеться WinAmp, который автоматически начинает его воспроизводить) Заранее спасибо! С уважением, Стас

Решение задачи: «Как связать определенный тип файлов с моей программой?»

textual
Листинг программы
  1. Private Declare Function RegCreateKey Lib 'advapi32.dll' Alias 'RegCreateKeyA' (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
  2. 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
  3.  
  4. Private Declare Sub SHChangeNotify Lib 'shell32.dll' (ByVal wEventId As Long, ByVal uFlags As Long, dwItem1 As Any, dwItem2 As Any)
  5.  
  6. Const SHCNE_ASSOCCHANGED = &H8000000
  7. Const SHCNF_IDLIST = &H0&
  8. Const ERROR_SUCCESS = 0&
  9. Const ERROR_BADDB = 1&
  10. Const ERROR_BADKEY = 2&
  11. Const ERROR_CANTOPEN = 3&
  12. Const ERROR_CANTREAD = 4&
  13. Const ERROR_CANTWRITE = 5&
  14. Const ERROR_OUTOFMEMORY = 6&
  15. Const ERROR_INVALID_PARAMETER = 7&
  16. Const ERROR_ACCESS_DENIED = 8&
  17.  
  18. Private Const HKEY_CLASSES_ROOT = &H80000000
  19. Private Const MAX_PATH = 260&
  20. Private Const REG_SZ = 1
  21.  
  22. Sub AssExtension()
  23.  
  24. Dim sKeyName As String
  25. Dim sKeyValue As String
  26.  
  27. Dim ret As Long
  28. Dim lphKey As Long
  29. sKeyName = 'MyApp.1' sKeyValue = 'My Application 1'
  30. ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
  31. ret = RegSetValue(lphKey, '', REG_SZ, sKeyValue, 0&)
  32.  
  33.  
  34. sKeyName = 'MyApp.1DefaultIcon' sKeyValue = 'D:myprog.exe,0'  
  35. ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
  36. ret = RegSetValue(lphKey, '', REG_SZ, sKeyValue, 0&)
  37.  
  38. sKeyName = '.myp'
  39. sKeyValue = 'MyApp.1'
  40. ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
  41. ret = RegSetValue(lphKey, '', REG_SZ, sKeyValue, 0&)
  42.  
  43.  
  44. sKeyName = 'MyApp.1'
  45. sKeyValue = 'D:myprog.exe %1'
  46. ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
  47. ret = RegSetValue(lphKey, 'shellopencommand', REG_SZ, sKeyValue, MAX_PATH)
  48.  
  49. Call SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
  50.  
  51. End Sub
  52.  
  53. Private Sub Command1_Click()
  54. AssExtension
  55. End Sub

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


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

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

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы