![]() |
Как найти и прописать в реестре запуск нужного файла?
Нужно запустить файл 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 или более то пусть выскакивает сообщение об этом и возможность выбора с какой буквы диска запустить скрипт. Спасибо в любом случае. |
Цитата:
|
Creat0R, скрипт не важно откуда запущен. Он должен найти файл WPI.mht который находится в папке WPI. Сама папка WPI может находится в корне любого диска (диск винчестера, флешки, DVD...). Метка по которой скрипт должен искать и является сам путь к файлу диск:\WPI\WPI.hta
|
Цитата:
Код:
#include <GuiConstantsEx.au3> |
Creat0R, скрипт работает но с недостатком о котором я говорил здесь То есть из за кард рийдера выскакивает окно с сообщением непонятным и только после нескольких нажатий скрипт продолжает работу. Можно ли это обойти? Поиск на дисках кард рийдера необязателен если скрипт средствами автоит можно задать не искать там.
И еще. Можно ли уменьшить размеры окно которое появляется с выбором диска? Более коипактным его ходелось бы увидеть. Какие строки скрипта за это отвечают Спасибо. |
|
Creat0R, поиск нужен на дисках винчестера, на USВ флешках, на DVD или CD дисках и на USВ винчестерах. Вот именном кард рийдер трогать не нужно вообще. Если просто искать на DVD или CD то я вроде имею представление как поменять ваш скрипт.
|
Цитата:
Или буква этого ридера известна заранее? |
Creat0R, видимо никак нельзя определить что это кард рийдер а не флешка буквы дисков кард рийдера не известны. А может как то можно средствами автоит подавить возникающие окна и чтобы скрипт работал дальше не ожидая нажатия Продолжить?
|
А если так:
Код:
#include <GuiConstantsEx.au3> |
Creat0R, все сработало. Спасибо. Как я заметил скрипт отличается строкой
If $aDrives[$i] = "a:" And DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop Для моего общего развития можете объяснить в чем разница? И еще. Можно ли в появляющемся окне вставить еще какой нибудь текст между буквой выбора диска и заголовком окна? |
Creat0R, начал тестировать скрипт, все хорошо, только прошу добавить еще маленькую вещь. Нужно добавить такую вот запись в реестре:
RegWrite($sKey &"\910", "1", "REG_SZ","REGEDIT /S "& $sDVD &"\$OEM$\HKLM.reg") Только в этом случае чтобы буква диска $sDVD определялась по наличию на диске файла WIN51 и никакого выбора диска как в вашем последнем скрипте не нужно делать. Поиск файла WIN51 нужно произвести на всех дисках и очень желательно чтобы не было проблемы с кардрийдером, так как в последней версии Вашего скрипта. Спасибо |
Цитата:
Цитата:
Цитата:
Код:
$sKey = "HKEY_LOCAL_MACHINE\SOFTWARE" |
Время: 05:25. |
Время: 05:25.
© OSzone.net 2001-