Недавние сообщения

Страницы: 1 2 [3] 4 5 ... 10
21
Общие вопросы по AutoIt / Re: Как обратится к последнему элементу объекта _IETagNameGetCollection
« Последний ответ от NakeD Отправлен Октябрь 20, 2018, 18:50:14 »
Добрый

Пользовался поиском по форуму, почитал примеры и ответы, но не смог реализовать нужные мне условия

Пример кода:
Код: AutoIt [Выделить]
#include <IE.au3>
$IE =  _IECreate ("url")
$aButtons = _IETagNameGetCollection($IE, "span")
For $oButton In $aButtons
If $oButton.onclick = "условие");" Then
_IEAction($oButton, "click")
ExitLoop
EndIf
Next


Все отлично отрабатывает, но меня интересует приватный режим хрома или того же IE

Код: AutoIt [Выделить]
#include <IE.au3>
$IE = ShellExecute('chrome.exe','--incognito "url"')
$aButtons = _IETagNameGetCollection($IE, "span")
For $oButton In $aButtons
If $oButton.onclick = "условие" Then
_IEAction($oButton, "click")
ExitLoop
EndIf
Next


И вот тут уже начинается проблема. Получаю ошибку Variable must be of type "Object"

Что именно делаю не так?

upd. а нет, вру. В IE тоже не работает..
22
Общие вопросы по AutoIt / Re: Узнать аппаратную поддержку процессора
« Последний ответ от Prog Отправлен Октябрь 20, 2018, 17:16:18 »
helecu  [?]
Цитировать
Если делать запуск на виртуальной машине, то выходит ошибка.
Какая ошибка?
23
Общие вопросы по AutoIt / Re: Встраивание окна внешнего приложения в интерфейс GUI
« Последний ответ от xXx Отправлен Октябрь 20, 2018, 16:19:26 »
Код: AutoIt [Выделить]
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $aOpen[3][2] = [[@ScriptDir & '\1.txt', '[TITLE:1.txt — Блокнот]'], _
        [@ScriptDir & '\2.txt', '[TITLE:2.txt — Блокнот]'], _
        [@SystemDir & '\calc.exe', '[TITLE:Калькулятор]']]
       
Global $hGUI = GUICreate('', -1, -1, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPCHILDREN), $WS_EX_CLIENTEDGE)

For $i = 0 To UBound($aOpen) - 1
    $iPid = ShellExecute($aOpen[$i][0], '', '', '', @SW_HIDE)
    If $iPid Then
        $hWnd = WinWait($aOpen[$i][1], '', 2)
        If $hWnd Then
            $aOpen[$i][1] = $hWnd
            _WinAPI_SetParent($hWnd, $hGUI)
        EndIf
    Else
        $aOpen[$i][1] = ''
    EndIf
Next

GUISetState(@SW_MAXIMIZE)

For $i = 0 To UBound($aOpen) - 1
    If $aOpen[$i][1] Then WinSetState($aOpen[$i][1], '', @SW_SHOW)
Next

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            ExitLoop
    EndSwitch
WEnd

24
Общие вопросы по AutoIt / Re: Встраивание окна внешнего приложения в интерфейс GUI
« Последний ответ от InnI Отправлен Октябрь 20, 2018, 16:09:18 »
Вот простой пример. Доработайте под свои нужды
Код: AutoIt [Выделить]
#include <WinAPISysWin.au3>

$hGUI = GUICreate("MultiProg", 800, 600, -1, -1, 0x00CF0000) ; $WS_OVERLAPPEDWINDOW
GUISetState()

Run("notepad.exe " & @ScriptDir & "\1.txt")
$hWnd1 = WinWaitActive("[class:Notepad]")
_WinAPI_SetParent($hWnd1, $hGUI)
WinMove($hWnd1, "", 0, 0, 400, 300)
$OldPos1 = WinGetPos($hWnd1)

Run("notepad.exe " & @ScriptDir & "\2.txt")
$hWnd2 = WinWaitActive("[class:Notepad]")
_WinAPI_SetParent($hWnd2, $hGUI)
WinMove($hWnd2, "", 0, 300, 400, 300)
$OldPos2 = WinGetPos($hWnd2)

Run("calc.exe")
$hWnd3 = WinWaitActive("Калькулятор")
_WinAPI_SetParent($hWnd3, $hGUI)
WinMove($hWnd3, "", 400, 0)
$OldPos3 = WinGetPos($hWnd3)

$OldActive = 0
AdlibRegister("Refresh")

Do
Until GUIGetMsg() = -3

Func Refresh()
  $NewActive = WinGetHandle("")
  If $NewActive <> $OldActive Then
    _WinAPI_InvalidateRect($hGUI)
    $OldActive = $NewActive
    Return
  EndIf
  $NewPos1 = WinGetPos($hWnd1)
  For $i = 0 To 3
    If $NewPos1[$i] <> $OldPos1[$i] Then
      _WinAPI_InvalidateRect($hGUI)
      $OldPos1 = $NewPos1
      Return
    EndIf
  Next
  $NewPos2 = WinGetPos($hWnd2)
  For $i = 0 To 3
    If $NewPos2[$i] <> $OldPos2[$i] Then
      _WinAPI_InvalidateRect($hGUI)
      $OldPos2 = $NewPos2
      Return
    EndIf
  Next
  $NewPos3 = WinGetPos($hWnd3)
  For $i = 0 To 3
    If $NewPos3[$i] <> $OldPos3[$i] Then
      _WinAPI_InvalidateRect($hGUI)
      $OldPos3 = $NewPos3
      Return
    EndIf
  Next
EndFunc

25
Общие вопросы по AutoIt / Re: Запрет запуска 2-х скриптов
« Последний ответ от helecu Отправлен Октябрь 20, 2018, 14:50:26 »
Испробовал все варианты предложенные в теме. Намеренно скриптом запуская 2 раза другой скрипт. Единственным рабочим оказался:
Код: AutoIt [Выделить]
Остальные раза с 10го, но запускали 2 копии скрипта, позволяя начать выполняться коду, который стоял после проверки.
26
Общие вопросы по AutoIt / Re: Узнать аппаратную поддержку процессора
« Последний ответ от helecu Отправлен Октябрь 20, 2018, 14:00:10 »
Отлично работает, но есть одна проблема. Если делать запуск на виртуальной машине, то выходит ошибка. Например виртуализированный дедик. Может есть решение? Либо обработать как-то эту ошибку?
Код: AutoIt [Выделить]
#include <StringConstants.au3>

$Struct = DllStructCreate("int eax; int ebx; int ecx; int edx")
$StrCode = "0x505352518B7C24148B4424180FA28907895F04894F0889570C595A5B5831C0C20800"
$tBinData = DllStructCreate("byte["& BinaryLen($StrCode) &"]")
DllStructSetData($tBinData, 1, $StrCode)

DllCallAddress("none", DllStructGetPtr($tBinData), "ptr", DllStructGetPtr($Struct), "int", 1)
ConsoleWrite(BitAND(DllStructGetData($Struct, 3), 0x2000000)) ; Выделение 25 бита в регистре ecx.

ConsoleWrite(@CRLF)

27
Общие вопросы по AutoIt / Re: Недопущение загрузки определенного сайта в браузере
« Последний ответ от InnI Отправлен Октябрь 20, 2018, 11:45:06 »
28
Общие вопросы по AutoIt / Встраивание окна внешнего приложения в интерфейс GUI
« Последний ответ от mv6677 Отправлен Октябрь 20, 2018, 00:45:57 »
Приветствую всех.
Хочу задать вопрос насчет интерфейса.
Я где-то слышал, что в AutoIt'е можно встроить окна внешних приложений - в интерфейс.
И это удобно - эти несколько собранных в одном интерфейсе окон программ будут отображаться под одним ярлыком на панели задач, их можно разом закрыть, перетащить, свернуть и т.д.

Как создать такой составной интерфейс (кажется он называется GUI), в который было бы встроено два блокнота и калькулятор ?

Под двумя блокнотами имеются ввиду файлы 1.txt и 2.txt (в одной папке со скриптом), а под калькулятором - программа Calc.exe
( В общем скрипт просто открывает эти программы - так, что они отображаются - внутри GUI )


29
Общие вопросы по AutoIt / Недопущение загрузки определенного сайта в браузере
« Последний ответ от lixar21 Отправлен Октябрь 19, 2018, 23:13:52 »
Добрый вечер.
Нарыл на сайте - такой скрипт:
Который делает - в google chrome - активной определенную вкладку с сайтом.
(нажмите для показа/скрытия)

Объясните, как с использованием этой UDF - запретить открытие определенного сайта ?
Скрипт - работает постоянно и если увидит, что появилась новая в кладка с запрещенным словом в названии (например yandex) - то он мгновенно закрывает эту вкладку или как-то блокирует ее.

ссылка на файлообменник с файлами TransFiles.ru/73fxx
30
Общие вопросы по AutoIt / Re: Удаление из png - белого цвета
« Последний ответ от cerber412 Отправлен Октябрь 19, 2018, 16:29:26 »
Спасибо
Страницы: 1 2 [3] 4 5 ... 10