|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36561 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйсто, как узнать URL странички которая уже открыта ? Т.е. мне нужно узнать адрес странички на которой сейчас находится пользователь.
Давно тут приводился пример мониторинга нажатия клавиш на клавиатуре, , но у меня почему то выпадает ошибка.... #include <DllCallBack.au3> (ошибка открытия файла) из -за чего это может быть, стоит последняя версия AUTO IT. DENoszone, можно изголиться вот так ))(т.к. по нормальному не получилось написать, вечно спрашивал заблочить ли ему пользователя или нет), , только одно но, отправляются одни латинские буквы нормально, русские идут кракозяброй и иногда пролетает с нажатием на кнопку. |
Отправлено: 17:01, 10-06-2008 | #631 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата HORRIBLE:
Global Const $WH_KEYBOARD_LL = 13 Global $hHook, $pStub_KeyProc Global $pStub_KeyProc = DllCallbackRegister("_KeyProc", "int", "int;ptr;ptr") Global $hmod = DllCall("kernel32.dll","hwnd","GetModuleHandle","ptr",0) Global $hHook = DllCall("user32.dll","hwnd","SetWindowsHookEx","int", _ $WH_KEYBOARD_LL,"ptr",DllCallbackGetPtr($pStub_KeyProc),"hwnd",$hmod[0],"dword",0) Global $buffer = "" MsgBox(4096,"","Type anything anywhere and it will appear in the top left corner of the screen.") While 1 Sleep(10) WEnd Func EvaluateKey($keycode) If (($keycode > 22) And ($keycode < 91)) _ Or (($keycode > 47) And ($keycode < 58)) Then $buffer &= Chr($keycode) ToolTip($buffer,0,0) ElseIf ($keycode > 159) And ($keycode < 164) Then Return EndIf EndFunc Func _KeyProc($nCode, $wParam, $lParam) Local $ret,$KEYHOOKSTRUCT If $nCode < 0 Then $ret = DllCall("user32.dll","long","CallNextHookEx","hwnd",$hHook[0], _ "int",$nCode,"ptr",$wParam,"ptr",$lParam) Return $ret[0] EndIf If $wparam = 256 Then $KEYHOOKSTRUCT = DllStructCreate("dword;dword;dword;dword;ptr",$lParam) EvaluateKey(DllStructGetData($KEYHOOKSTRUCT,1)) EndIf $ret = DllCall("user32.dll","long","CallNextHookEx","hwnd",$hHook[0], _ "int",$nCode,"ptr",$wParam,"ptr",$lParam) Return $ret[0] EndFunc Func OnAutoItExit() DllCall("user32.dll","int","UnhookWindowsHookEx","hwnd",$hHook[0]) EndFunc |
|
Отправлено: 17:42, 10-06-2008 | #632 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать HORRIBLE,
Цитата HORRIBLE:
![]() |
|
------- Отправлено: 17:57, 10-06-2008 | #633 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Можно ли вернуть список запущенных процессов ПОЛЬЗОВАТЕЛЕМ ?
|
Отправлено: 16:32, 11-06-2008 | #634 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать HORRIBLE,
Цитата HORRIBLE:
#include <Array.au3> $aProcessInfo = _ProcListByUserName(@UserName) _ArrayDisplay($aProcessInfo) Func _ProcListByUserName($sUserName = @UserName) Local $oColItems, $objWMIService, $objItem, $cI_Compname = @ComputerName Local $aProcessList[1] $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2") $oColItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL") If Not IsObj($oColItems) Then Return SetError(1, 2, 0) For $objItem In $oColItems If $objItem.CSName <> $sUserName Then ContinueLoop $aProcessList[0] += 1 ReDim $aProcessList[$aProcessList[0] + 1] $aProcessList[$aProcessList[0]] = $objItem.Name Next Return $aProcessList EndFunc |
|
------- Отправлено: 20:30, 11-06-2008 | #635 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Creat0R, возвращает массив пустой, хотя у меня запущено некое кол-во программ от пользователя.
|
Отправлено: 12:55, 12-06-2008 | #636 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Вышла версия 3.2.12.1
Изменений мало, только фиксы: Цитата:
HORRIBLE Цитата:
|
||
------- Отправлено: 13:48, 12-06-2008 | #637 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать HORRIBLE,
Цитата HORRIBLE:
#include <Array.au3> $aProcessInfo = _ProcListByUserName(@UserName) _ArrayDisplay($aProcessInfo) Func _ProcListByUserName($sUserName = @UserName) Local $oColItems, $objWMIService, $objItem, $cI_Compname = @ComputerName Local $aProcessList[1] $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2") $oColItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL") If Not IsObj($oColItems) Then Return SetError(1, 2, 0) For $objItem In $oColItems If _GetExtProperty($objItem.ExecutablePath, 8) <> $sUserName Then ContinueLoop $aProcessList[0] += 1 ReDim $aProcessList[$aProcessList[0] + 1] $aProcessList[$aProcessList[0]] = $objItem.Caption Next Return $aProcessList EndFunc Func _GetExtProperty($sPath, $iProp) Local $iExist, $sFile, $sDir, $oShellApp, $oDir, $oFile, $aProperty, $sProperty $iExist = FileExists($sPath) If $iExist = 0 Then Return SetError(1, 0, 0) $sFile = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1)) $sDir = StringTrimRight($sPath, (StringLen($sPath) - StringInStr($sPath, "\", 0, -1))) $oShellApp = ObjCreate("shell.application") $oDir = $oShellApp.NameSpace($sDir) $oFile = $oDir.Parsename($sFile) If $iProp = -1 Then Local $aProperty[35] For $i = 0 To 34 $aProperty[$i] = $oDir.GetDetailsOf($oFile, $i) Next Return $aProperty Else $sProperty = $oDir.GetDetailsOf($oFile, $iProp) If $sProperty = "" Then Return 0 Return $sProperty EndIf EndFunc ![]() |
|
------- Отправлено: 17:58, 12-06-2008 | #638 |
Старожил Сообщения: 396
|
Профиль | Отправить PM | Цитировать Помогите разобраться. Открываю AutoIt 3, копирую туда текст из файла справки по автоустановке Windows:
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных ![]() For $i = 1 to 99 step 3.3 $j=$j-1 sleep(1000) ProgressSet( $i, "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.") Next ProgressSet(-1 , "Шеф! Все пропало. Прощайте.") Shutdown(2) sleep(5000) сохраняю это все как 12.au3, запускаю его, выскакивает окно: Line 1 (...) ProgressOn("Пожалуйста, подождите...".... ...................................................................... Error: Variable used without begin declared. Что делаю неверно? |
Отправлено: 20:04, 12-06-2008 | #639 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Deep2007,
Цитата Deep2007:
Вот немного поправлены пример: BlockInput(1) $j = 30 ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", _ StringFormat("Система обнаружила использование нелегальной\n" & _ "копии Windows. Через %i сек. все данные\n" & _ "на ваших дисках будут уничтожены.", $j)) For $i = 1 To 99 Step 3.3 $j -= 1 Sleep(1000) ProgressSet($i, _ StringFormat("Система обнаружила использование нелегальной\n" & _ "копии Windows. Через %i сек. все данные\n" & _ "на ваших дисках будут уничтожены.", $j)) Next ProgressSet(100, "Шеф! Все пропало. Прощайте.") Shutdown(2) Sleep(5000) |
|
------- Отправлено: 02:44, 13-06-2008 | #640 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 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 |
|