Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: PapaFilippa
Дата сообщения: 25.01.2008 17:15
ViSiToR
Огромное спасибо за помощь, своими силами обошлись, все дело было в позицонированиии окон, т.е. для работы данного скрипта нужно, чтобы окна четко находились на своих местах.
Автор: xpr123
Дата сообщения: 28.01.2008 10:29
пробую пример из справки:

Код:
; Set the RunAs parameters to use local adminstrator account
RunAsSet("Administrator", @home, "1")

; Run registry editor as admin
RunWait("regedit.exe")

; Reset user's permissions
RunAsSet()
Автор: ViSiToR
Дата сообщения: 28.01.2008 17:35
xpr123

Цитата:
пробую пример из справки:

Из какой справки? в AutoIt'овской (последних версии) этого вроде нет .


Цитата:
при запуске выдает ошибку

Портому что макроса такого нету в AutoIt, нужно один из @HomeDrive/@HomePath/@HomeShare... а вообще, как второй параметр в функции RunAsSet, нужно передавать имя домена (@ComputerName к примеру, как и указано в справке).
Автор: corel user1
Дата сообщения: 29.01.2008 19:37
Подскажите, пожалуйста, способ вызвать приложение из трея?
Повторный запуск не помогает, нужен двойной щелчок по иконке в трее.
Автор: ViSiToR
Дата сообщения: 30.01.2008 01:11
corel user1

Цитата:
нужен двойной щелчок по иконке в трее


Код: ControlClick("[CLASS:Shell_TrayWnd]", "", "ToolbarWindow321", "Left", 2, 50, 5)
Автор: elchupakabra
Дата сообщения: 30.01.2008 09:45
Подскажите пожалуйста:

Код: $DM = RegRead ("HKEY_CURRENT_USER\Software\2vg\Download Master","ShowTrayIconAnimation")
$enable = StringRegExp($DM, '(1)', 0)
$disable = а вот тут интересует не значение параметра, а указать его отсутствие
Автор: Maza Faka
Дата сообщения: 30.01.2008 13:18
elchupakabra
Для программы Download Master:

Код: RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Download Master_is1", "UninstallString")
If @error Then
MsgBox(16, "Error", "Application not installed")
Exit
Else

;Your code...
EndIf
Автор: Dobrii
Дата сообщения: 30.01.2008 13:54
Возник вопрос.
С помощью AutoIT можно получить доступ к базе Acces? Если можно - ткните носом в примерчик или подробное описание.
Автор: NIKZZZZ
Дата сообщения: 30.01.2008 14:23
Это только у меня такой баг - не открываются файлы FileOpen ( "filename", mode ) при mode=1 ?

Автор: U235
Дата сообщения: 30.01.2008 15:27
У меня с FileOpen ( "filename", 1 ) проблем нет.
Автор: ViSiToR
Дата сообщения: 30.01.2008 17:42
elchupakabra

Цитата:
определить установлено ли приложение

Конкретно Download Master? Он подерживает СOM...


Код: $DMObject = ObjCreate("dmie.moveurl")

If IsObj($DMObject) Then
;DMaster уcтановлен
EndIf
Автор: NIKZZZZ
Дата сообщения: 30.01.2008 20:42
ViSiToR

Цитата:
не открываются файлы FileOpen
Приведи неработающий пример.

Разобрался - файл был заблокирован ...
Автор: ViSiToR
Дата сообщения: 30.01.2008 20:51
NIKZZZZ

Цитата:
файл был заблокирован

Для этого и нужно пользоваться проверкой на ошибочность:


Код: $hFOpen = FileOpen("File.txt", 1)

If $hFOpen = -1 Then
MsgBox(16, "Ошибка"', "Ошибка при чтении файла.")
Else
;
FileClose($hFOpen)
EndIf
Автор: Maza Faka
Дата сообщения: 31.01.2008 08:19
Кстати, можно ли работать с word-овским документом при помощи функции FileOpen()?.
Автор: U235
Дата сообщения: 31.01.2008 11:02
Это примерно тоже самое, что и правка вордовского документа блокнотом или HEX редактором. Для работы с *.DOC есть же соответствующие UDF функции.
Хотя, если работа - это поиск определенного слова или строчки в вордовском файле, то можно и FileOpen() открывать, но все равно нужен будет unicode-конвертер.
Автор: Fem1
Дата сообщения: 31.01.2008 23:44
Всем привет. У меня пару вопросов. Надеюсь поможете =)
Как сделать, что бы в кнопке был прямоугольник с цветом. Ну или покрасить кнопку в тот цвет что был выбран?
Можно ли заменять значения в блоках памяти, подобно тому, как это делает ArtMoney?
Автор: ViSiToR
Дата сообщения: 01.02.2008 01:53
Fem1

Цитата:
покрасить кнопку

GUICtrlSetColor()?


Цитата:
Можно ли заменять значения в блоках памяти

Есть несколько функции для работы с памятью тут, а также в последней версии AutoIt'а есть UDF'ы, может и поможет .
Автор: Fem1
Дата сообщения: 01.02.2008 07:38

Цитата:
Цитата:
покрасить кнопку

GUICtrlSetColor()

В версии 3.2.2.0 не действует. GUICtrlSetBkColor() тоже.
Скачал последнюю бета версию, что то там скрипты совсем отказываются работать, вообщем пока не разобрался и думаю, что зря бету скачал.


Цитата:
Есть несколько функции для работы с памятью тут, а также в последней версии AutoIt'а есть UDF'ы, может и поможет .

спасибо, посмотрим)
Автор: Maza Faka
Дата сообщения: 01.02.2008 10:28
Красная кнопка

Код: #include <GuiConstants.au3>

$Gui = GUICreate("Test", 200, 100)

$Btn = GUICtrlCreateButton("Button", 60, 40, 70, 25)
GUICtrlSetBkColor(-1, 0xFF0000)

GUISetState()

Do
Until
GUIGetMsg() = -3
Автор: Maza Faka
Дата сообщения: 01.02.2008 13:22
Наверное многие сталкивались с проблемой, когда было нужно кликнуть на элементе (иконке) в трее. Теперь это возможно сделать зная лишь часть текста всплывающего меню элемента. Пример для элемента "Громкость", наводим курсор мыши на элемент , смотрим как называется элемент в нашем случае "Громкость" и передаём этот текст в качестве первого параметра функции. Если же текст "большой", например при наведении курсора мыши на значок Winamp-а появляется меню содержащее данные о проигрываемом файле и подстроку Winamp, то достаточно будет подстроки Winamp.

Код: #NoTrayIcon
#Include
<GuiToolBar.au3>

_SysTray_ClickItem("Громкость", "left", 2)

;====================================================================================
;
;Function Name: _SysTray_ClickItem()
;Description: Click on item in Windows system tray by any substring in the title
;Parameters: $iTitle - The title of the item in Windows system tray (you can see the title of the item when mouse cursor hovered on item).
; $iButton - [optional] The button to click, "left" or "right". Default is the left button.
; $iClick - [optional] The number of times to click the mouse. Default is 2
;
;Return Value(s): None
;Requirement(s): AutoIt 3.2.10.0
;
;
;Autor(s): R.Gilman (a.k.a rasim); Siao (Thanks for idea )
;
;====================================================================================

Func _SysTray_ClickItem($iTitle, $iButton = "left", $iClick = 2)
Local $hToolbar, $iButCount, $aRect, $i

If Not $iTitle Then
MsgBox(16, "Error", "Please indicate title")
Return 0
EndIf

$hToolbar = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]')
If @error Then
MsgBox(16, "Error", "System tray not found")
Return 0
EndIf

$iButCount = _GUICtrlToolbar_ButtonCount($hToolbar)
If $iButCount = 0 Then
MsgBox(16, "Error", "Not found item in system tray")
Return
EndIf

For
$i = 0 To $iButCount - 1
$cID = _GUICtrlToolbar_IndexToCommand($hToolBar, $i)
If StringInStr(_GUICtrlToolbar_GetButtonText($hToolBar, $i), $iTitle) Then
$aRect = _GUICtrlToolbar_GetButtonRect($hToolBar, $i)
ControlClick("[Class:Shell_TrayWnd]", "", "ToolbarWindow321", $iButton, $iClick, $aRect[0], 5)
$aRect = 0
Return 1
EndIf
Next

MsgBox(48, "Fail", "Required item not found")
EndFunc
Автор: ViSiToR
Дата сообщения: 01.02.2008 13:43
Fem1

Цитата:
В версии 3.2.2.0 не действует

Правильно, там ещё не добавили поддержку цветных кнопок


Цитата:
Скачал последнюю бета версию, что то там скрипты совсем отказываются работать

Много изменении - а почему бета, есть же стабильная версия 3.2.10.0.
Автор: Fem1
Дата сообщения: 01.02.2008 15:58

Цитата:
а почему бета, есть же стабильная версия 3.2.10.0.

да вот и фиг его знает, что потянуло скачать бету.
Сейчас 3.2.10.0 установил. Работает.
Только это уже не кнопка получается =) плоская какая то, конечно можно и оформление поменять, но при нажатии кнопка "не проваливается", как это делает без GUICtrlSetBkColor(). Вообщем пока сойдёт)

Ещё вопросик, можно ли сделать фон окна изображением? Ещё не совсем разобрался в новой версии, но тут вижу, что можно вставлять рисунки.
Автор: Maza Faka
Дата сообщения: 01.02.2008 16:40
Fem1

Цитата:
можно ли сделать фон окна изображением?


Код: #include <GuiConstants.au3>

$hGui = GuiCreate("Gui with background picture", 300, 200)

$pic = GUICtrlCreatePic(@SystemDir & "\setup.bmp", 10, 10, 280, 180)
GUICtrlSetState(-1, $GUI_DISABLE)

GUISetState()

Do
Until
GUIGetMsg() = $GUI_EVENT_CLOSE
Автор: Fem1
Дата сообщения: 02.02.2008 18:30
Maza Faka
Спасибо) я делал примерно так же, то только AVI фон =) потом подумал что и без фона обойдусь.

Возможно эмулировать нажатие кнопки в свёрнутое окно? И эмулировать нажатие мышки в определённую область экрана, не используя курсора?
Автор: ViSiToR
Дата сообщения: 03.02.2008 00:13
Fem1

Цитата:
Возможно эмулировать нажатие кнопки в свёрнутое окно?

Можно попробовать ControlClick().. хотя не всегда сработает.


Цитата:
эмулировать нажатие мышки в определённую область экрана, не используя курсора?

Также используя ControlClick() можно пробовать без указания имени элемента, и как последние два параметра в функции указывать координаты.
Или можно кликать мышкой, и по завершению восстанавливать позицию в исходное положение .
Автор: Fem1
Дата сообщения: 03.02.2008 04:12
ControlClick ( "title", "text", controlID [, button] [, clicks]] )

Чесно говоря не совсем разобрался в функции. controlID это индентификатор, его смотреть в AutoIt Win Info. Но с этим по видимому у меня проблемы. Хотя вроде делаю как написано.

Искал пример в интернете, так и не нашёл понятный.
Автор: ViSiToR
Дата сообщения: 03.02.2008 04:51
Fem1

Цитата:
с этим по видимому у меня проблемы


Вот пример:


Код: #include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 200)

$Click_Button = GUICtrlCreateButton("Click On Button", 20, 40, 80, 20)
$CtrlClick_Button = GUICtrlCreateButton("Button", 20, 70, 60, 20)

GUISetState(@SW_SHOW, $GUI)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case
$Click_Button
ControlClick($GUI, "", "Button2", "Left", 1)
Case $CtrlClick_Button
MsgBox(64, "", "Button Clicked")
EndSwitch
WEnd
Автор: Kauffman
Дата сообщения: 04.02.2008 10:11
Помогите разобраться с горячими клавишами: HotKeySet почему-то не работает с "ctrl+буква" ( Например ^n), а например с F3 всё нормально (короче как в AutoIt Editor'е от RazerM). Что делать???
Автор: ViSiToR
Дата сообщения: 04.02.2008 10:42
Kauffman

Цитата:
Что делать?

Читать справку

Пример из справки у меня работает:


Код: ; Press Esc to terminate script, Pause/Break to "pause"

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage") ;Shift-Alt-d

;;;; Body of program would go here ;;;;

While 1
Sleep(100)
WEnd
;;;;;;;;

Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc

Func
Terminate()
Exit 0
EndFunc

Func
ShowMessage()
MsgBox(4096,"","This is a message.")
EndFunc
Автор: Kauffman
Дата сообщения: 04.02.2008 15:59
Pause и ESC работает! А вот "+!d" нет (никакого MsgBox не появляется).

Цитата:
Покажи неработающий пример.

Ситуация как в AutoIt Editor'е (у меня не работает)!


Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.