|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как найти и прописать в реестре запуск нужного файла? |
|
|
[решено] Как найти и прописать в реестре запуск нужного файла?
|
Ветеран Сообщения: 2756 |
Нужно запустить файл 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 или более то пусть выскакивает сообщение об этом и возможность выбора с какой буквы диска запустить скрипт. Спасибо в любом случае. |
|
Отправлено: 23:58, 11-03-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
|
|
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 00:17, 12-03-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, скрипт не важно откуда запущен. Он должен найти файл WPI.mht который находится в папке WPI. Сама папка WPI может находится в корне любого диска (диск винчестера, флешки, DVD...). Метка по которой скрипт должен искать и является сам путь к файлу диск:\WPI\WPI.hta
|
------- Отправлено: 00:27, 12-03-2009 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
#include <GuiConstantsEx.au3> #include <ComboConstants.au3> $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") |
|
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 01:20, 12-03-2009 | #4 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, скрипт работает но с недостатком о котором я говорил здесь То есть из за кард рийдера выскакивает окно с сообщением непонятным и только после нескольких нажатий скрипт продолжает работу. Можно ли это обойти? Поиск на дисках кард рийдера необязателен если скрипт средствами автоит можно задать не искать там.
И еще. Можно ли уменьшить размеры окно которое появляется с выбором диска? Более коипактным его ходелось бы увидеть. Какие строки скрипта за это отвечают Спасибо. |
|
------- Отправлено: 07:44, 12-03-2009 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 10:13, 12-03-2009 | #6 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, поиск нужен на дисках винчестера, на USВ флешках, на DVD или CD дисках и на USВ винчестерах. Вот именном кард рийдер трогать не нужно вообще. Если просто искать на DVD или CD то я вроде имею представление как поменять ваш скрипт.
|
------- Отправлено: 12:04, 12-03-2009 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
Или буква этого ридера известна заранее? |
|
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 13:36, 12-03-2009 | #8 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, видимо никак нельзя определить что это кард рийдер а не флешка буквы дисков кард рийдера не известны. А может как то можно средствами автоит подавить возникающие окна и чтобы скрипт работал дальше не ожидая нажатия Продолжить?
|
------- Отправлено: 14:01, 12-03-2009 | #9 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать А если так:
#include <GuiConstantsEx.au3> #include <ComboConstants.au3> ; $sWPI_Drives = "" $sSel_Drive = "" $sFirst_Drive = "" $sKey = "HKEY_LOCAL_MACHINE\SOFTWARE" $aDrives = DriveGetDrive("All") For $i = 1 To $aDrives[0] If 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", 200, 100) $Drives_Combo = GUICtrlCreateCombo("", 20, 20, 170, 20, $CBS_DROPDOWNLIST) GUICtrlSetData(-1, $sWPI_Drives, $sFirst_Drive) $OK_Button = GUICtrlCreateButton("OK", 20, 70, 60, 20) $Cancel_Button = GUICtrlCreateButton("Cancel", 130, 70, 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") |
------- Альберт Эйнштейн P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©» http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community Отправлено: 14:36, 12-03-2009 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - HELP! Как прописать в реестре SP2 не устанавливая оного??? | emperor-august | Microsoft Windows 2000/XP | 2 | 05-10-2009 11:38 | |
CMD/BAT - [решено] Как организовать поиск нужного диска и запуск с него приложения? | Nun-Nun | Скриптовые языки администрирования Windows | 16 | 28-05-2009 22:12 | |
[решено] Как написать скрипт о проверке нужного файла на съемном носителе? | Pozia | AutoIt | 12 | 05-03-2009 20:20 | |
VBS/WSH/JS - [решено] Stop цикл при обнаружении нужного значения из файла | Afon | Скриптовые языки администрирования Windows | 4 | 26-01-2009 15:16 | |
[решено] Как запрепить запуск программы по имени файла | AlxCruel | Microsoft Windows 2000/XP | 10 | 05-04-2006 08:58 |
|