|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
[архив - Часть 2] AutoIt скрипты
|
(*.*) Сообщения: 36568 |
Внимание! Тема переведена в архивное состояние Текущая тема http://forum.oszone.net/thread-98914.html (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Creat0R,
Цитата:
![]() Цитата:
![]() Цитата:
Спасибо за пример. Кстати твой код мне показался проще и понятнее чем на офф. форуме. GUICtrlSendToDummy() я использую для того чтобы как можно быстрее выйти из функции и отпустить "передающий процесс". От $CmdLineRaw решил отказаться потому что не знаю как правильно разобрать строку. |
|||
Отправлено: 21:21, 03-12-2007 | #811 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Diamond,
Цитата:
![]() Цитата:
Правда почему то функция не срабатывает корректно при разворачивании/восстановлении, поэтому пусть стандартный обработчик справляется с этими событиями ($GUI_EVENT_MAXIMIZE, $GUI_EVENT_RESTORE). Но зато она работает и на внешних приложениях ![]() Цитата:
![]() Цитата:
|
||||
------- Отправлено: 04:11, 04-12-2007 | #812 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Всем еще раз привет.
есть такой код: $file3= FileOpen("DONE.txt", 1) $file4= FileOpen("NOT DONE.txt", 1) $File1=false If $File1 = false then MsgBox(0, "Info", "Disable '&$File1&'.", 3) FileWrite($file4, " '&$File1&' Disable User") Else MsgBox(0, "Info", "DElaem '&$File1&'.", 3) RunWait("ACDSee.exe") FileWrite($file3,&@CRLF " '&$File1&' Ystanovleno" &@CRLF) EndIF Вопрос, как присвоить переменной $File имя ACDSee чтобы в окошке MsgBox когда оно выскакивало был текст Disable ACDSee, а не Disable '&$File1&' . Ну и соответственно в записаном файле тоже самое было. И можно ли как нить создать переменную, с именем пользователя в винде? (Короче говоря какое имя у пользователя в винде, такое же имя и у переменной.) Чтоб она сама себе присваивало, это имя? Спасибо. |
Отправлено: 12:45, 04-12-2007 | #813 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать HORRIBLE,
Цитата:
$file3 = FileOpen("DONE.txt", 1) $file4 = FileOpen("NOT DONE.txt", 1) $File1 = false If $File1 = false then MsgBox(0, "Info", "Disable " & $File1 & ".", 3) FileWrite($file4, " " & $File1 & " Disable User") Else MsgBox(0, "Info", "DElaem " & $File1 & ".", 3) RunWait("ACDSee.exe") FileWrite($file3, @CRLF & " " & $File1 & " Ystanovleno" & @CRLF) EndIF Цитата:
|
||
------- Отправлено: 15:30, 04-12-2007 | #814 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Creat0R,
Дык, а где я должен задать, что $file1 это есть Acdsee, ведь значение false говорит только, что я типо дела отменил установку. Если делать как ты говоришь, то получается Disable false, а мне немного другое надо. Цитата Creat0R:
|
|
Последний раз редактировалось HORRIBLE, 04-12-2007 в 16:56. Отправлено: 16:30, 04-12-2007 | #815 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата HORRIBLE:
![]() Global $ACDSeeVar = "ACDSee" $file3 = FileOpen("DONE.txt", 1) $file4 = FileOpen("NOT DONE.txt", 1) $File1 = false If $File1 = false then MsgBox(0, "Info", "Disable " & $ACDSeeVar & ".", 3) FileWrite($file4, " " & $ACDSeeVar & " Disable User") Else MsgBox(0, "Info", "DElaem " & $ACDSeeVar & ".", 3) RunWait("ACDSee.exe") FileWrite($file3, @CRLF & " " & $ACDSeeVar & " Ystanovleno" & @CRLF) EndIF P.S В справке много полезного ![]() |
|
------- Отправлено: 16:57, 04-12-2007 | #816 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Creat0R, )
Спасибо. Чет я сглупил, а все так просто оказалось)). Я хотел обойтись ток 1 переменной. Наивный. |
Отправлено: 17:04, 04-12-2007 | #817 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать По мативам примера из справки (при использовании фикса очередного бага в примерах справки), я написал функцию для открытия системного диалога выбора иконки:
$sFileName = @SystemDir & "\User32.dll" $WinHandle = WinGetHandle("") $stRet = _PickIconDlg($sFileName, 1, $WinHandle) If Not @error Then $sFileName = $stRet[0] $nIconIndex = $stRet[1] Msgbox(64, "Info", "Selected file: " & $sFileName & @LF & "Icon-Index: " & $nIconIndex) EndIf ;===================================================================================== ; ; Function Name: _PickIconDlg() ; Description: Show the Windows PickIconDlg. ; ; Parameter(s): $sFileName - Path to icon file to be used as initial pick file. ; $nIconIndex - [Optional] Default Icon zero-based Index to pick (default is 0). ; $hWnd - [Optional] Handle of owner window (Default is 0). ; ; Requirement(s): None. ; Return Value(s): On Success - Returns 2 elements array: ; $stRetArr[0] = Selected Icons File Path. ; $stRetArr[1] = Picked Index from the icon file. ; On Failure - If "Cancel" button was pressed, return 2 elements array with initial data. ; On DllCall() fail return -1. ; In both cases @error is set to 1. ; Author(s): G.Sandler (CreatoR), the main concept is taken from AutoIt Help file. ; ;====================================================================================== Func _PickIconDlg($sFileName, $nIconIndex=0, $hWnd=0) Local $stIcon, $stString, $nStructSize, $nRetErr, $stRetArr[2] ; Create a structure to store the icon index $stIcon = DllStructCreate("int") DllStructSetData($stIcon, 1, $nIconIndex) If @OSType = "WIN32_NT" Then ; Win NT $stString = DLLStructCreate("wchar[260]") DllStructSetData($stString, 1, $sFileName) $nStructSize = DllStructGetSize($stString) / 2 Else ; Win'9x $stString = DLLStructCreate("char[260]") DllStructSetData($stString, 1, $sFileName) $nStructSize = DllStructGetSize($stString) EndIf ; Run the PickIconDlg - '62' is the ordinal value for this function $nRetErr = DllCall("shell32.dll", "int", 62, _ "hwnd", $hWnd, _ "ptr", DllStructGetPtr($stString), _ "int", $nStructSize, _ "ptr", DllStructGetPtr($stIcon)) If @error Then $nRetErr = 1 $stRetArr[0] = DllStructGetData($stString, 1) $stRetArr[1] = DllStructGetData($stIcon, 1) $stString = 0 $stIcon = 0 If $nRetErr = 1 Then Return SetError(1, 0, -1) If Not $nRetErr[0] Then $nRetErr = 1 Return SetError($nRetErr, 0, $stRetArr) EndFunc Добавленно: Вы не поверите, как только я запостил эту функцию, я на оф. форуме совершенно случайно наткнулся на подобную функцию, а точнее всего одну строчку вызовом Dll !!! Вот функция на основе этой строчки ![]() Func _PickIconDlg($sFileName, $nIconIndex=0, $hWnd=0) Local $nRet, $stRetArr[2] $nRet = DllCall("shell32.dll", "int", "PickIconDlg", _ "hwnd", $hWnd, _ "wstr", $sFileName, "int", 1000, "int_ptr", $nIconIndex) If Not $nRet[0] Then Return SetError(1, 0, -1) $stRetArr[0] = $nRet[2] $stRetArr[1] = $nRet[4] Return $stRetArr EndFunc |
------- Последний раз редактировалось Creat0R, 05-12-2007 в 05:33. Отправлено: 05:13, 05-12-2007 | #818 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Creat0R
А как можно создать toolbar ![]() , если можно, с примерами пожалуйста. |
Отправлено: 08:01, 05-12-2007 | #819 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
![]() Я скоро выложу «AutoIt Bar», там не совсем оригинальный тулбар, но что-то похожее, предназначен в помощь скриптеру AutoIt'а ![]() |
|
------- Отправлено: 23:11, 05-12-2007 | #820 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|