Запуск файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Запуск файла

Сообщение -=alp=- » 30.03.2003 (Вс) 4:48

Как сделать так чтобы когда кликну я два раза на файл home.thj запускалась моя программа, а в Command() был путь к файлу?

sanches
El compañero
El compañero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 30.03.2003 (Вс) 11:36

ну, во-первых зарегь расширение на твою прогу (если вручную в рееестре не6 умеешь: Вид -> Св-ва папки -> Типы файлов)
тогда путь к файлу при щелчке на нем будет передаваться в качастве параметра (myprog.exe home.thj)
А в самой проге сделать обработку Command (если предполагаются другие перамтры в ком. строке) или же просто Command1.Caption = Command
Изображение

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 30.03.2003 (Вс) 13:14

А как программно зарегистрировать расширение на мою прогу ?

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 31.03.2003 (Пн) 13:27

Помогите пожалуста, очень нужно.
____________________________________________
Коллекционер информации

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 31.03.2003 (Пн) 13:38

Создать в реестре в разделе HKCR раздел. Для примера можно открыть HKCR и посмотреть, какая у него должны быть структура.

Dr. Implex
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 25.11.2002 (Пн) 12:05
Откуда: Russia

2 _=alp=_ про программную регистрацию типа (и назн ему ICO )

Сообщение Dr. Implex » 31.03.2003 (Пн) 15:04

Сам работаю над этой фишкой, я точняк на правильном пути. В течение недели докопаюсь - обязательно напишу.
Все через [HKEY_CLASSES_ROOT] в реестре.
With respect, Dr. Implex

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 01.04.2003 (Вт) 5:17

Я тоже свой реестор помучаю.
Напиши на форуме о своих исследованиях
__________________________________________________
Коллекционер информации

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 02.04.2003 (Ср) 22:23

Если я правельно понял то Это будет выглядеть так:
Создаём в разделе HKEY_CLASSES_ROOT
подраздел с названием расширения файла например: .New
HKEY_CLASSES_ROOT
|
|___.New
У подраздела New задаём параметру '(По умолчанию)' значение My.New

потом создаём ещё один подраздел в разделе HKEY_CLASSES_ROOT
с именем My.New
У подраздела My.New задаём параметру '(По умолчанию)' значение 'Moy noviy fail'
Создаём ещё один подраздел в разделе My.New под именем DefaultIcon
У подраздела DefaulfIcon задаём параметру '(По умолчанию)' значение (Путь к иконке)

Создаём ещё один подраздел в разделе My.New под именем Shell
Создаём ещё один подраздел в разделе Shell под именем Open
Создаём ещё один подраздел в разделе Open под именем command

У подраздела command задаём параметру '(По умолчанию)' значение (путь к твоей проге %1) (пример: C:\Windows\Notepad.exe %1)

Вот вроде и всё.

-=alp=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 147
Зарегистрирован: 08.03.2003 (Сб) 19:20

Сообщение -=alp=- » 03.04.2003 (Чт) 6:12

А что нужно написать, чтобы создать раздел или подраздел?
____________________________________________________
Коллекционер информации.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.04.2003 (Чт) 9:54

НУжно почитать RTFM про Private Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long

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 RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long

Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long

Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long

Private Declare Function RegGetKeySecurity Lib "advapi32.dll" Alias "RegGetKeySecurity" (ByVal hKey As Long, ByVal SecurityInformation As Long, pSecurityDescriptor As SECURITY_DESCRIPTOR, lpcbSecurityDescriptor As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long



И прочие функции работы с реестром ;)

ProgrammerVB
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 30.04.2005 (Сб) 18:36

Сообщение ProgrammerVB » 30.04.2005 (Сб) 19:05

Как из своего приложения запустить Project1.vbp :?:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 30.04.2005 (Сб) 19:14

ShellExecute

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 30.04.2005 (Сб) 20:01

ProgrammerVB
Сходи по ссылке в моей подписи.

А потом сюда.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 30.04.2005 (Сб) 20:50

ProgrammerVB

А у тебя с головой все в порядке? А с рассудком? Этот твой вопрос в ТРЕХ топиках, как АБСАЛЮТНЫй офф!!!
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 01.05.2005 (Вс) 8:38

1. подключи к проекту registry.bas (я его приложил)
2. добавь следующий код:
Код: Выделить всё
Sub RegisterFileType(ext As String, prType As String, prOpen As String)
Dim x As String, y As String
x = getstring(HKEY_CLASSES_ROOT, ext, "")
If x <> "" Then DeleteKey HKEY_CLASSES_ROOT, x
y = Right(ext, 3)
y = y & "file"
savestring HKEY_CLASSES_ROOT, ext, "", y
savekey HKEY_CLASSES_ROOT, y & "\shell\open\command"
savestring HKEY_CLASSES_ROOT, y, "", prType
savestring HKEY_CLASSES_ROOT, y & "\shell\open\command", "", """" & prOpen & """" & " " & "%1" '& """" & "%1" & """"
End Sub

я это когда-то писал для своей проги. должно работать.
Вложения
Registry.zip
Функции для работы с реестром
(1.17 Кб) Скачиваний: 49

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 01.05.2005 (Вс) 8:43

да я же не написал как использовать!!!
вот:
Код: Выделить всё
RegisterFileType "*.расширение файла", "тип файла", "путь к exe файлу твоей проги"
пример:
Код: Выделить всё
RegisterFileType "*.thj", "Файлы THJ", app.path & "\" & app.exename & ".exe"


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 132

    TopList