Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Файлы программы 2 Добавлено: 04.01.09 18:34  

Автор вопроса:  $@ny@PG | ICQ: 468469477 

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 16
Автор ответа:
 Alex



Вопросов: 10
Ответов: 131
 Профиль | | #16 Добавлено: 09.01.09 20:20
А как это делается?


  1.     'Сначала нужно привязать расширение txt к своей программе. Для этого есть такая процедура:
  2.     'это в раздел General Declarations
  3.     Private Declare Function RegCreateKey Lib "advapi32.dll" _
  4.     Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey _
  5.     As String, phkResult As Long) As Long
  6.     Private Declare Function RegSetValueEx Lib "advapi32.dll" _
  7.     Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _
  8.     ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, _
  9.     ByVal cbData As Long) As Long
  10.     Private Declare Function RegCloseKey Lib "advapi32.dll" _
  11.     (ByVal hKey As Long) As Long
  12.     Private Const HKEY_CLASSES_ROOT = &H80000000
  13.     Private Sub AssociateMyApp(ByVal sAppName As String, _
  14.     ByVal sEXE As String, ByVal sExt As String, Optional ByVal sIcon As String)
  15.     Dim lRegKey As Long
  16.     Call RegCreateKey(HKEY_CLASSES_ROOT, sExt, lRegKey)
  17.     Call RegSetValueEx(lRegKey, "", 0&, 1, ByVal sAppName, Len(sAppName))
  18.     Call RegCloseKey(lRegKey)
  19.     Call RegCreateKey(HKEY_CLASSES_ROOT, sAppName & "\Shell\Open\Command", lRegKey)
  20.     Call RegSetValueEx(lRegKey, "", 0&, 1, ByVal sEXE, Len(sEXE))
  21.     Call RegCloseKey(lRegKey)
  22.     If Len(sIcon) Then
  23.     Call RegCreateKey(HKEY_CLASSES_ROOT, sAppName & "\DefaultIcon", lRegKey)
  24.     Call RegSetValueEx(lRegKey, "", 0&, 1, ByVal sIcon, Len(sIcon))
  25.     Call RegCloseKey(lRegKey)
  26.     End If
  27.     End Sub
  28.     'Присваиваем расширение программе через такой вызов процедуры:
  29.     'AssociateMyApp("Название программы", "Имя exe-файла", ".txt", "Имя файла с иконкой")
  30.     'Например:
  31.     AssociateMyApp("My TextEditor", "C:\MyProgram.exe %1", ".txt", "C:\icon.ico")
  32.     '<em>!!! %1 ставить обязательно</em>
  33.     '%1 показывает, что нужно передать приложению в командной строке имя открывающегося файла.
  34.     'Дальше нужно из программы отловить имя открывающегося документа. На Form_Load или Sub Main:
  35.     Dim sCommand As String
  36.     Dim sFileName As String
  37.     sCommand = Command$()
  38.     If Left$ (sCommand, 1) = Chr (34) Then
  39.     sCommand = Right$ (sCommand, Len (sCommand) - 1)
  40.     End If
  41.     If Right$ (sCommand, 1) = Chr (34) Then
  42.     sCommand = Left$ (sCommand, Len (sCommand) - 1)
  43.     End If
  44.     sFileName = sCommand
  45.     'Путь к файлу в переменной sFileName. Дальше нужно загрузить этот файл в твой редактор.

Ответить

Номер ответа: 17
Автор ответа:
 Alex



Вопросов: 10
Ответов: 131
 Профиль | | #17 Добавлено: 09.01.09 20:23
вроде так :)

Ответить

Номер ответа: 18
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #18
Добавлено: 10.01.09 15:17
Ну не совсем так... Но так тоже будет работать.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам