Страница: 1 |
Страница: 1 |
Вопрос: Как связать расширение с программой
Добавлено: 18.03.05 20:58
Автор вопроса: alex
Мне нужно программно зарегистрировать для своей проги
расширение .txt, как это сделать? На powerbasic.com нашел пример, но он у меня не работает
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 18.03.05 22:27
Код немножко на VB, но думаю что тебя это волнует мало
'
Public Sub Associate(ByVal sType As String, ByVal sKey As String, ByVal sDescr As String, _
ByVal iIcon As Integer, ByVal sPrompt As String)
Call RegSetValue(HKEY_CLASSES_ROOT, sKey, vbNullString, sDescr)
If Len(sPrompt) Then Call RegSetValue(HKEY_CLASSES_ROOT, sKey & "\shell\open\command", vbNullString, sPrompt & " %1"
Call RegSetValue(HKEY_CLASSES_ROOT, sKey & "\DefaultIcon", vbNullString, App.Path & "\" & LCase(App.EXEName) & ".exe," & CStr(iIcon))
Call RegSetValue(HKEY_CLASSES_ROOT, sType, vbNullString, sKey)
End Sub
Public Function DeAssociate(sType As String) As String
 eAssociate = RegGetValue(HKEY_CLASSES_ROOT, sType, vbNullString)
Call RegDelKey(HKEY_CLASSES_ROOT, DeAssociate & "\shell\open\command"
Call RegDelKey(HKEY_CLASSES_ROOT, DeAssociate & "\shell\open"
Call RegDelKey(HKEY_CLASSES_ROOT, DeAssociate & "\shell"
Call RegDelKey(HKEY_CLASSES_ROOT, DeAssociate)
Call RegDelKey(HKEY_CLASSES_ROOT, sType)
End Function
Public Function IsAssociate(sType As String, sKey As String) As Boolean
IsAssociate = (RegGetValue(HKEY_CLASSES_ROOT, sType, "" = sKey)
End Function
И чтобы обновить в проводнике:
Call SHChangeNotify(&H8000000, 0&, 0&, 0&
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 22.03.05 15:50
У меня есть только как заменить. Я писал для аддона. Меняет привязку расширения .BAS с PBEDIT на экзешник аддона.