Сечас я делаю это с помощью reg-файла (special thanks to Rius и Kogb!) :
- Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\FBFRenamerFolder]
@="FBFRenamerFolder"
[HKEY_CLASSES_ROOT\Directory\shell\FBFRenamerFolder\command]
@="\"C:\\Program Files (x86)\\FBFRenamer\\FBFRenamer.exe\" sub1 \"%1\""
моя прога получает аргумент sub1 и путь к моему exe-файлу
Но хочу чтоб прога при первом запуске сама вносила эти записи. После долгих поисков нашёл понятный для меня пример с API, но возникла проблема синтаксиса .
При внесении просто пути к моему exe-файлу всё ОК, но как сформировать строку с аргументами?
- Код: Выделить всё
Private Sub CmdCreate_Click()
'
CreateNewKey HKEY_CLASSES_ROOT, "Directory\shell\FBFRenamerFolder"
'
SetKeyValue HKEY_CLASSES_ROOT, "Directory\shell\FBFRenamerFolder", "FBFRenamerFolder", "FBFRenamerFolder", REG_SZ
'
CreateNewKey HKEY_CLASSES_ROOT, "Directory\shell\FBFRenamerFolder\command"
'Эти верхние три строки выполняются нормально
'теперь в command надо вписать значене - путь к exe файлу и аргументы,
'в reg-файле это выглядит так:
'@="\"C:\\Program Files (x86)\\FBFRenamer\\FBFRenamer.exe\" sub1 \"%1\""
'а здесь при вставке этой строки в таком виде VB6 не принимает и отмечает красным:
SetKeyValue HKEY_CLASSES_ROOT, "Directory\shell\FBFRenamerFolder\command", "FBFRenamerFolderEXE", "\"C:\\Program Files (x86)\\FBFRenamer\\FBFRenamer.exe\" sub1 \"%1\"", REG_SZ
End Sub
как правильно сформировать строку?
ЗЫ
Способ с запуском reg-файла из проги мне известен, оставляю его на крайний случай, если на поднятый вопрос не получу ответа:
- Код: Выделить всё
Shell "regedit.exe /s " & Chr(34) & "C:\Program Files (x86)\FBFRenamer\FBFRenamer.exe" & Chr(34)