Страница: 1 |
Всем здрасте! Вот если нажать на обычный текстовой фаил, то он открывается в notepad`е....а если я сделфю свой notepad, как мне сделать так, что бы текстовые файлы открывались в моей проге?? Спасибо
Ассоциироваться... Я думаю как это сделать ни у кого труда не вызовет, т.к. на эту тему уже столько понаписано... А это тебе надо в реестре связать расширение файла с твоей программой. Вот это "классический" вариант.(ещё правда можно добавить чтобы создавалась так:"ПравойClick>Создать>ТырыПыры"-но на случай с другим расширением ==> в этом примере его нэма) 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 Const HKEY_CLASSES_ROOT = &H80000000 Private Const MAX_PATH = 260& Option Explicit Private Sub Form_Load() Dim KeyName As String Dim KeyValue As String Dim ret& Dim lphKey& 'Создаем ключ "MyApp". KeyName = "MyApp" KeyValue = "My Application" ret& = RegCreateKey&(HKEY_CLASSES_ROOT, KeyName, lphKey&) ret& = RegSetValue&(lphKey&, "", 1, KeyValue, 0&) 'Теперь создаем ключ, связанный с "MyApp". KeyName = ".avo" KeyValue = "MyApp" ret& = RegCreateKey(HKEY_CLASSES_ROOT, ".avo", lphKey&) ret& = RegCreateKey&(HKEY_CLASSES_ROOT, KeyName, lphKey&) ret& = RegSetValue&(HKEY_CLASSES_ROOT, ".avo", 1, KeyValue, 0&) '///////////////////////////////////////////////// 'это для иконки 'KeyName = ".avo\DefaultIcon" 'KeyValue = "%SystemRoot%\System32\shell32.dll,-151" 'ret& = RegCreateKey&(HKEY_CLASSES_ROOT, KeyName, lphKey&) 'ret& = RegSetValue&(lphKey&, "", 1, KeyValue, 0&) 'КомСтрока(путь) для "MyApp". KeyName = "MyApp" KeyValue = "D:\Basic\MyProjects\SharPad\SharPad.exe %1" '???? ? ????? ret& = RegCreateKey&(HKEY_CLASSES_ROOT, KeyName, lphKey&) ret& = RegSetValue&(lphKey&, "shell\open\command", 1, KeyValue, MAX_PATH) End Sub Посмотри параметры командной строки (Call MsgBox(Command)) Страница: 1 |
Вопрос: Требла
Добавлено: 01.02.04 22:20
Автор вопроса: StrikeR | Web-сайт:
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 01.02.04 22:46
Номер ответа: 2
Автор ответа:
Дмитрий Щапов
Вопросов: 71
Ответов: 321
Профиль | | #2
Добавлено: 01.02.04 23:31
Номер ответа: 3
Автор ответа:
StrikeR
ICQ: 151819
Вопросов: 32
Ответов: 110
Web-сайт:
Профиль | | #3
Добавлено: 02.02.04 04:30
огромное спасиба, всё работает...только вот как мне передовать данные в прогу?? т.е. если я сделаю текстбокс и мне нужно получить запись из "bla-bla.avo"....
Номер ответа: 4
Автор ответа:
StrikeR
ICQ: 151819
Вопросов: 32
Ответов: 110
Web-сайт:
Профиль | | #4
Добавлено: 02.02.04 21:20
Люди спасайте!!!!)
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #5
Добавлено: 02.02.04 22:59
Номер ответа: 6
Автор ответа:
StrikeR
ICQ: 151819
Вопросов: 32
Ответов: 110
Web-сайт:
Профиль | | #6
Добавлено: 04.02.04 02:35
sne: а можно по подробнее...а то я чё-то не въехал...
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 04.02.04 02:53
Вообще то Винде уже известны имя и путь к фалу. По этому его не надо прописывать, а просто подставить "%1" после имени проги. Тогда она пошлёт в Command$ твоей программы строку с именем файла.