[решено] Как найти и прописать в реестре запуск нужного файла?
-
Pozia
[решено] Как найти и прописать в реестре запуск нужного файла?
Нужно запустить файл WPI.hta который находится в папке WPI, т.е. файл лежит так \WPI\WPI.hta в корне диска. Букву диска нужно определить по метке \WPI\WPI.hta. Причем файл WPI.hta может лежать на DVD/CD диске или на флешке или на диске веника. То есть скрипт должен запустить такое:
RegWrite($sKey &"\999", "1", "REG_SZ", $sDVD &"\WPI\WPI.hta")
Если пути WPI\WPI.hta нет то ничего делать не нужно.
Вот это главное что хочется.
Можно и хотелось бы сложнее скрипт. Если найдется два пути \WPI\WPI.hta или более то пусть выскакивает сообщение об этом и возможность выбора с какой буквы диска запустить скрипт.
Спасибо в любом случае.
RegWrite($sKey &"\999", "1", "REG_SZ", $sDVD &"\WPI\WPI.hta")
Если пути WPI\WPI.hta нет то ничего делать не нужно.
Вот это главное что хочется.
Можно и хотелось бы сложнее скрипт. Если найдется два пути \WPI\WPI.hta или более то пусть выскакивает сообщение об этом и возможность выбора с какой буквы диска запустить скрипт.
Спасибо в любом случае.
-
Pozia
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Цитата Pozia:
Букву диска нужно определить по метке \WPI\WPI.hta
Какой метке, откуда скрипт будет знать где искать диск? или сам скрипт будет там и находиться?
Букву диска нужно определить по метке \WPI\WPI.hta
[решено] Как найти и прописать в реестре запуск нужного файла?
Какой метке, откуда скрипт будет знать где искать диск? или сам скрипт будет там и находиться?
-
Pozia
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Creat0R, скрипт не важно откуда запущен. Он должен найти файл WPI.mht который находится в папке WPI. Сама папка WPI может находится в корне любого диска (диск винчестера, флешки, DVD...). Метка по которой скрипт должен искать и является сам путь к файлу диск:\WPI\WPI.hta
-
Creat0R
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Цитата Pozia:
Он должен найти файл
С этого и следовало начинать, что скрипт должен искать файл, а не определять букву диска...
Код:
Он должен найти файл
[решено] Как найти и прописать в реестре запуск нужного файла?
С этого и следовало начинать, что скрипт должен искать файл, а не определять букву диска...
Код:
Код: Выделить всё
#include
#include
$sWPI_Drives = ""
$sSel_Drive = ""
$sFirst_Drive = ""
$sKey = "HKEY_LOCAL_MACHINE\SOFTWARE"
$aDrives = DriveGetDrive("All")
For $i = 1 To $aDrives[0]
If $aDrives[$i] = "a:" And DriveStatus($aDrives[$i]) "READY" Then ContinueLoop
If FileExists($aDrives[$i] & "\WPI\WPI.hta") Then
If $sWPI_Drives = "" Then $sFirst_Drive = $aDrives[$i]
$sWPI_Drives &= StringUpper($aDrives[$i]) & "|"
EndIf
Next
$sWPI_Drives = StringRegExpReplace($sWPI_Drives, "\|+$", "")
If StringInStr($sWPI_Drives, "|") Then
$hGUI = GUICreate("Select Drives", 300, 200)
$Drives_Combo = GUICtrlCreateCombo("", 20, 20, 170, 20, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, $sWPI_Drives, $sFirst_Drive)
$OK_Button = GUICtrlCreateButton("OK", 20, 170, 60, 20)
$Cancel_Button = GUICtrlCreateButton("Cancel", 90, 170, 60, 20)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $Cancel_Button
Exit
Case $OK_Button
$sSel_Drive = GUICtrlRead($Drives_Combo)
ExitLoop
EndSwitch
WEnd
ElseIf $sWPI_Drives "" Then
$sSel_Drive = $sWPI_Drives
EndIf
If $sSel_Drive "" Then RegWrite($sKey & "\999", "1", "REG_SZ", $sSel_Drive & "\WPI\WPI.hta")-
Creat0R
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Creat0R, скрипт работает но с недостатком о котором я говорил
И еще. Можно ли уменьшить размеры окно которое появляется с выбором диска? Более коипактным его ходелось бы увидеть. Какие строки скрипта за это отвечают
Спасибо.
[решено] Как назначить букву DVD приводу с помощью Автоит подобно как CMD?
То есть из за кард рийдера выскакивает окно с сообщением непонятным и только после нескольких нажатий скрипт продолжает работу. Можно ли это обойти? Поиск на дисках кард рийдера необязателен если скрипт средствами автоит можно задать не искать там. И еще. Можно ли уменьшить размеры окно которое появляется с выбором диска? Более коипактным его ходелось бы увидеть. Какие строки скрипта за это отвечают
Спасибо.
-
Pozia
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Цитата Pozia:
Поиск на дисках кард рийдера необязателен
Поиск нужен только на CDRoom'ах?
Цитата Pozia:
Какие строки скрипта за это отвечают
GUICreate("Select Drives", 300, 200).
Поиск на дисках кард рийдера необязателен
[решено] Как найти и прописать в реестре запуск нужного файла?
Поиск нужен только на CDRoom'ах?
Цитата Pozia:
Какие строки скрипта за это отвечают
[решено] Как найти и прописать в реестре запуск нужного файла?
GUICreate("Select Drives", 300, 200).
-
Creat0R
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Creat0R, поиск нужен на дисках винчестера, на USВ флешках, на DVD или CD дисках и на USВ винчестерах. Вот именном кард рийдер трогать не нужно вообще. Если просто искать на DVD или CD то я вроде имею представление как поменять ваш скрипт.
-
Pozia
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Цитата Pozia:
кард рийдер трогать не нужно вообще
А как определить что это кард рийдер? это ведь тоже числится как внешнее устройство (как и USB винчестер), т.е «REMOVABLE».
Или буква этого ридера известна заранее?
кард рийдер трогать не нужно вообще
[решено] Как найти и прописать в реестре запуск нужного файла?
А как определить что это кард рийдер? это ведь тоже числится как внешнее устройство (как и USB винчестер), т.е «REMOVABLE».
Или буква этого ридера известна заранее?
-
Creat0R
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Creat0R, видимо никак нельзя определить что это кард рийдер а не флешка буквы дисков кард рийдера не известны. А может как то можно средствами автоит подавить возникающие окна и чтобы скрипт работал дальше не ожидая нажатия Продолжить?
-
Pozia
Re: [решено] Как найти и прописать в реестре запуск нужного файла?
Creat0R, видимо никак нельзя определить что это кард рийдер а не флешка буквы дисков кард рийдера не известны. А может как то можно средствами автоит подавить возникающие окна и чтобы скрипт работал дальше не ожидая нажатия Продолжить?