Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Закрытая тема
Настройки темы
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

(*.*)


Сообщения: 36509
Благодарности: 6681


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
А также есть ещё такой диалог для завершения работы (обычно выводится разными программами для перезапуска системы): »
Неплохой пример, но непонятно, почему проверяется версия ОС и в соответствии с этим задаётся тип данных (char или wchar), но в функции DllCall всё равно используется тип wstr? Вроде бы так будет корректно:
Код: Выделить весь код
_RestartDialog('Установка программы успешно завершена!')

Func _RestartDialog($sPrompt = '', $iFlag = 2, $hWnd = 0)
    Local $sStringType = "str"
    If @OSTYPE = "WIN32_NT" Then $sStringType = "wstr"

    Local $aRet = DllCall("Shell32.dll", "int", "RestartDialog", _
                                                "hwnd", $hWnd, _
                                                $sStringType, $sPrompt, _
                                                "int", $iFlag)
    Return $aRet[0]
EndFunc   ;==>_RestartDialog

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Последний раз редактировалось Maza Faka, 14-01-2009 в 13:42.


Отправлено: 10:19, 14-01-2009 | #1521



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Maza Faka:
непонятно, почему проверяется версия ОС и в соответствии с этим задаётся тип данных (char или wchar), но в функции DllCall всё равно используется тип wstr? »
Проверяется это для структуры - Хотя как я понял она вообще не нужна, да и в последней версии аутоита вообще и сама проверка не нужна, ведь Win 9x уже не поддерживается, т.ч можно сразу использовать "wstr".

Цитата Maza Faka:
Вроде бы так будет корректно »
Не совсем, у тебя перепутаны параметры местами, в первом параметре передаёшь тест вместо hWnd

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

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


Отправлено: 12:32, 14-01-2009 | #1522


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Проверяется это для структуры »
Я знаю, для чего это применяется, я говорю о том, что, если пользователь будет использовать этот код в среде Win 9x, то функция не сработает, так, как в функции у тебя используется wstr-тип данных. Да и вообще, вызов функции неправильный, для чего создаётся структура, если в MSDN-e сказано:
Цитата:
A null-terminated Unicode string that contains the text that displays in the dialog box which prompts the user.
а, если даже и создаётся структура, то нужно указывать на неё используя DllStructGetPtr

Цитата Creat0R:
у тебя перепутаны параметры местами, в первом параметре передаёшь тест вместо hWnd »
А при чём здесь порядок передачи параметров? В самой функции параметры используются по порядку. Я передаю, так, как мне удобно. Или это аксиома?

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 13:22, 14-01-2009 | #1523


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Maza Faka:
в функции у тебя используется wstr-тип данных »
Это не у меня, функцию я взял отсюда

Цитата Maza Faka:
А при чём здесь порядок передачи параметров? В самой функции параметры используются по порядку. Я передаю, так, как мне удобно. Или это аксиома? »
- Пересмотри пожалуйста свой пример с объективной точки зрезния (как будто это не твоей "рукой" написано), и скажи мне, что в нём не так...

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

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:37, 14-01-2009 | #1524


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Пересмотри пожалуйста свой пример »
Вот млин, на вызов функции внимания не обратил Сорри

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 13:45, 14-01-2009 | #1525


Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте чтото не могу понять как зделать чтобы закрытие вызваного окна по
#include"My okno.au3"
не вызывалозакрытие всего скрипта.
Не поиму предназначение функции: exitloop
Пример из справки работает хотя непредставляю ищо как его дописать к своему окну хотя в нем есть большой недостаток при повторном вызове окна основной скрипт слетает с ошибкой. Пробовал убить его спомощью
WinClose("My okno", "")
WinKill("My okno", "")
без результатно
Пример из справки


#include <GUIConstants.au3>

GUICreate("My GUI") ; will create a dialog box that when displayed is centered

GUISetState () ; will display an empty dialog box

; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()

If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend

GUIDelete(); ; will return 1

-------
Да всё гениальное заключаеться в простом!!!


Отправлено: 14:40, 14-01-2009 | #1526


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


litus
А если прятать окно? GuiSetState(@SW_HIDE, $hGUI)

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 15:30, 14-01-2009 | #1527


Аватара для voler

Ветеран


Сообщения: 907
Благодарности: 36

Профиль | Отправить PM | Цитировать


Подскажите хочу сделать autoit скрипт для автоматической установки sql 2000

[code]Run(".\SETUPSQL.EXE")

WinWait("Setup")
WinActivate ("Setup")
WinWaitActive("Setup")
Send("!s")
Send ( '{ENTER}' )
Вот оно


Но почему то не нажимает на окно предупреждения, когда ставишь на XP.

-------
Linux, это плацдарм для изучения своих возможностей.


Последний раз редактировалось voler, 14-01-2009 в 18:42.


Отправлено: 18:25, 14-01-2009 | #1528


Аватара для semiono

Ветеран


Сообщения: 838
Благодарности: 33

Профиль | Отправить PM | Цитировать


Creat0R, 1. свой диалог shutdown нельзя! у меня проблемы с перезагрузкой, работают только графический Пуск... и Диспетчер Задач тоже самое - кнопки и клики. Если выполнить shutdown.exe или
шатдаун() в автоит то зависнет! я пробовал уже. Только GUI кнопками работает! Трабла такая у мну
2. И вообще это интересно и любопытно, как taskmgr можно нажимать, чисто интересно, пожалуйста попытайтесь написать код?
ЗЫ Раз есть проблем у мну, то он может быть не только у мну, а значит уже не надёжно всётаки, но дел не в этом,
просто хочется альтернативу иметь тоже.

-------
Полезное сообщение


Отправлено: 21:51, 14-01-2009 | #1529


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата semiono:
как taskmgr можно нажимать, чисто интересно »
Примерно так:

Код: Выделить весь код
#include <WindowsConstants.au3>
#include <SendMessage.au3>
#include <GuiMenu.au3>

Run("taskmgr.exe")

WinWait("[CLASS:#32770;REGEXPTITLE:.*Windows.*]", "", 5)
$hTskMgr = WinGetHandle("[CLASS:#32770;REGEXPTITLE:.*Windows.*]")

If Not WinExists($hTskMgr) Then Exit

$hMenu = _GUICtrlMenu_GetMenu($hTskMgr)
$hSubMenu = _GUICtrlMenu_GetItemSubMenu($hMenu, 4) ;change to 3th submenu (zero-based), now it will only show the "About" window.
$iItemID = _GUICtrlMenu_GetItemID($hSubMenu, 3) ;2 = Shutdown, 3 = Restart (2 and 3 it's zero-based item from the top of menu)

_SendMessage($hTskMgr, $WM_COMMAND, $iItemID, 0)
Кстати, можно и скрыто это сделать (кроме икокни в трее), нужно заменить Run("taskmgr.exe") на Run("taskmgr.exe", "", @SW_HIDE).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

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:28, 15-01-2009 | #1530



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 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




 
Переход