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

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

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


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


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

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


Изменения
Автор: Vadikan
Дата: 27-01-2008
Внимание!
Тема переведена в архивное состояние







(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.


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

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



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

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

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

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

 

Пользователь


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

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


VelDmi, нет прога будет работать и на компах которые нужно переименовать

Отправлено: 09:39, 12-10-2007 | #591



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

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


Старожил


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

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


mikola1983,
Код: Выделить весь код
$ComputerName = IniRead(@ScriptDir & "\Config.ini", "Setup", "ComputerName", 0)

If @ComputerName <> $ComputerName Then
	FileWriteLine(@ScriptDir & '\rename.vbs', 'strComputer = "' & @ComputerName & '"')
	FileWriteLine(@ScriptDir & '\rename.vbs', 'Set objWMIService = GetObject("winmgmts:" _')
	FileWriteLine(@ScriptDir & '\rename.vbs', '    & "{impersonationLevel=impersonate}!\\" _')
	FileWriteLine(@ScriptDir & '\rename.vbs', '    & strComputer & "\root\cimv2")')
	FileWriteLine(@ScriptDir & '\rename.vbs', 'Set colComputers = objWMIService.ExecQuery _')
	FileWriteLine(@ScriptDir & '\rename.vbs', '    ("Select * from Win32_ComputerSystem")')
	FileWriteLine(@ScriptDir & '\rename.vbs', 'For Each objComputer in colComputers')
	FileWriteLine(@ScriptDir & '\rename.vbs', '    errReturn = ObjComputer.Rename("' & $ComputerName & '")')
	FileWriteLine(@ScriptDir & '\rename.vbs', 'Next')

	RunWait (@SystemDir & '\WScript.exe ' & @ScriptDir & '\rename.vbs')
	FileDelete (@ScriptDir & '\rename.vbs')
	FileWriteLine(@ScriptDir & "\error.log", StringFormat("%s:%s:%s %s-%s-%s   Сменили имя компьютера с %s на %s", @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR, @ComputerName, $ComputerName))
	Shutdown (6)
EndIf
Соответственно в Config.ini меняешь имя компьютера и запускаешь скрипт.

Отправлено: 10:15, 12-10-2007 | #592


Аватара для TERMINAL

Ветеран


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

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


Creat0R, Это я уже встречал, но оно у меня не работает даже с 1 сидюком. При условии если 2 сидюка (нужно что бы выезжал нужный, а не все) то можно сделать поиск по файлу-например в корне диска лежит файл SysDisc7.exe. Сможешь помочь? Очень нужно....

-------
Автоматизация прежде всего....


Отправлено: 11:05, 12-10-2007 | #593


Аватара для Creat0R

Must AutoIt


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

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


VelDmi,
Это можно кстати средствами одного лишь AutoIt сделать:

Код: Выделить весь код
$ComputerName = IniRead(@ScriptDir & "\Config.ini", "Setup", "ComputerName", 0)

If @ComputerName <> $ComputerName Then
    $strComputer = @ComputerName
    $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    For $objComputer In $colComputers
        $errReturn = $ObjComputer.Rename($ComputerName)
    Next
    FileWriteLine(@ScriptDir & "\error.log", StringFormat("%s:%s:%s %s-%s-%s   Сменили имя компьютера с %s на %s", _
        @HOUR, @MIN, @SEC, @MDAY, @MON, @YEAR, @ComputerName, $ComputerName))
    Shutdown(6)
EndIf

TERMINAL,

Цитата:
можно сделать поиск по файлу
Примерно так:

Код: Выделить весь код
$File_Indicator = "SysDisc7.exe"
$CDROM_Drives = DriveGetDrive("CDROM")

For $i = 1 To $CDROM_Drives[0]
    If FileExists($CDROM_Drives[$i] & "\" & $File_Indicator) Then
        CDTray($CDROM_Drives[$i], "Open")
        ExitLoop
    EndIf
Next

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

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

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:39, 12-10-2007 | #594


Аватара для TERMINAL

Ветеран


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

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


Creat0R, спасибо, супер !

-------
Автоматизация прежде всего....


Отправлено: 12:00, 13-10-2007 | #595


Аватара для Creat0R

Must AutoIt


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

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


Как можно сделать чтобы во время растягивания/перетаскивания окна, его содержимое не отображалось? (в настройках системы установлено “Отображать содержимое окна при перетаскивании”).

Я видел многие программы такое умеют, мне нужно такое же сделать для моего GUI...
Я имею в виду что то типа этого, но чтобы отображалась граница растягиваемого окна (только граница, без содержимого окна):

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

Global Const $WM_ENTERSIZEMOVE = 0x231
Global Const $WM_EXITSIZEMOVE = 0x232

$Gui = GUICreate("GUI", 200, 400, -1, -1, $WS_SIZEBOX)

GUIRegisterMsg($WM_ENTERSIZEMOVE, "WM_ENTERSIZEMOVE")
GUIRegisterMsg($WM_EXITSIZEMOVE, "WM_EXITSIZEMOVE")

$Button = GUICtrlCreateButton("Содержимое окна ;)", 50, 100)

GUISetState()

While GUIGetMsg() <> $GUI_EVENT_CLOSE
WEnd

Func WM_ENTERSIZEMOVE()
    GUISetState(@SW_LOCK)
EndFunc

Func WM_EXITSIZEMOVE()
    GUISetState(@SW_UNLOCK)
EndFunc
Это возможно?
Я тут нашёл вроде решение, но не знаю как его приминить - Пробовал посылать сообщение WM_SETREDRAW с параметром False, но окно “зависает” при попытке изменить размер/перетащить окно.

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

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

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


Отправлено: 03:06, 14-10-2007 | #596


Аватара для Creat0R

Must AutoIt


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

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


amel27
Ты недавно приводил функцию _ControlGetFocus(), а можно точно такую, но чтобы не сфокусированный элемент возвращала, а тот над которым проводим мышкой? (типа _ControlGetHovered()).

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

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

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


Отправлено: 07:25, 14-10-2007 | #597


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


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

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


работа с Auto3Lib _ListView_

Код: Выделить весь код
$hListVie = ControlGetHandle("WindowTitle", "", "SysListView323")
_ListView_Scroll($hListVie, 0, 0)
$Item = 11
_ListView_ClickItem($hListVie, $Item, "Left", False, 1, 0)
как считать эту линию?

$ItemText = _ListView_GetItemText($Item, "") ?

или если надо проверить текст линии

$sText = mytext
If _ListView_FindInText($Item, $sText) = 0 Then
Blah blah blah...

это правильный syntax? _ListView_FindInText() возвращает что то?

Отправлено: 13:02, 14-10-2007 | #598


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

Ветеран


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

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


Oldschool
Цитата:
как считать эту линию?
В смысле считать? Вернуть текст из элемента ListView? Попробуй так:
Код: Выделить весь код
#include <GUIConstants.au3>
#include <GUIListView.au3>

GUICreate("Drop_Gui", 420, 310, -1, -1, $WS_OVERLAPPEDWINDOW, $WS_EX_ACCEPTFILES)

$input = GUICtrlCreateInput("", 50, 10, 200, 20, BitOR($ES_CENTER, $ES_AUTOHSCROLL), $WS_EX_CLIENTEDGE)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)

$ListView = GUICtrlCreateListView("Selected files", 50, 50, 320, 200, $LVS_SORTASCENDING, $LVS_EX_FULLROWSELECT + $LVS_EX_GRIDLINES)
_GUICtrlListViewSetColumnWidth($ListView, 0, 320)

$add = GUICtrlCreateButton("Add", 260, 10, 50, 22)
$read = GUICtrlCreateButton("Read", 320, 10, 50, 22)

GUISetState()

While 1
    $msg = GUIGetMsg()

        Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop

            Case $msg = $read
        $LV_Item_text = _GUICtrlListViewGetItemText($ListView, _GUICtrlListViewGetCurSel($ListView))
        MsgBox(0, "Item text", $LV_Item_text)

        Case $msg = $add
        $inputRead = GUICtrlRead($input)
        If Not $inputRead = "" Then GUICtrlCreateListViewItem($inputRead, $ListView)

            EndSelect
WEnd
Всё это есть в справке

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


Отправлено: 16:36, 14-10-2007 | #599


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


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

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


при чем ту GUI я не понял , ты вообще о чем?

я пытаюсь считать текст с ListView32 в чужой проге...здесь я беру окно:

Код: Выделить весь код
$hListVie = ControlGetHandle("WindowTitle", "", "SysListView323")
здесь я ставлю мышку на одинадцатаю линию этого ListView:

Код: Выделить весь код
$Item = 11
_ListView_ClickItem($hListVie, $Item, "Left", False, 1, 0)
теперь я хочу прочитать эту линию с помощью

_ListView_GetItemText()

например вот так:

Код: Выделить весь код
$Title = _ListView_GetItemText($hListVie, $Item, $Item)
а потом сравнить ее с другим текстом вот так например

Код: Выделить весь код
If StringInStr($Title, $sText) Then
и т.д и т.п

мой вопрос конкретно про _ListView_GetItemText т.к в данном виде неполучается чего то

Отправлено: 17:20, 14-10-2007 | #600



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 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




 
Переход