Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Оработка открытого окна (http://forum.oszone.net/showthread.php?t=145675)

11943499 20-07-2009 18:07 1172924

Оработка открытого окна
 
Как расположить эти строки, чтобы окно ввода пароля стало активированным и прозрачным ? Если ставить до Input - не сработает, так как окно ЕЩЕ не открыто.
Если ставить после Input, не сработает, так как окно УЖЕ находится в режиме ожидания.


WinSetTrans("Security Check", "", 80) ; Make window semi-transparent.
WinActivate("Security Check", "")

$passwd = InputBox("Security Check", "Enter your password.", "", "*")

Creat0R 20-07-2009 18:39 1172954

Можно вот так:

Код:

_WinSetTransEx("Security Check", "", 80)
$passwd = InputBox("Security Check", "Enter your password.", "", "*")

Func _WinSetTransEx($sTitle, $sText, $nTrans)
    Local $sScript = 'Opt("WinWaitDelay", 0)' & @CRLF
    $sScript &= 'AutoItWinSetTitle("$~$~_WinSetTransEx~$~$")' & @CRLF
    $sScript &= 'WinWait("' & $sTitle & '", "' & $sText & '")' & @CRLF
    $sScript &= 'WinSetTrans("' & $sTitle & '", "' & $sText & '", ' & $nTrans & ')' ; Make window semi-transparent.

    Local $sOld_Opt_WWD = Opt("WinWaitDelay", 0)

    Local $hFile = FileOpen(@TempDir & "\~au3_script.tmp", 2)
    FileWrite($hFile, $sScript)
    FileClose($hFile)

    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\~au3_script.tmp"')
    WinWait("$~$~_WinSetTransEx~$~$")
    FileDelete(@TempDir & "\~au3_script.tmp")

    Opt("WinWaitDelay", $sOld_Opt_WWD)
EndFunc


Creat0R 20-07-2009 18:46 1172965

Цитата:

Цитата Medic84
Конечно может не сработать »

Ты ещё сомневаешься в этом? :)

Во-первых, $passwd это не заголовок окна, почему он используется как таковой в WinSetTrans?
И во-вторых, автор темы ведь написал (что и должно быть понятым из справки) - функция WinSetTrans не будет вовсе вызвана пока InputBox не закроется, такие функции (как и Msgbox для примера) блокируют выполнение скрипта.

11943499 20-07-2009 20:09 1173035

Спасибо, все работает, похожий способ использовал, когда скрипт обрабатывает другой скрипт, жаль что сделать это в реальном времени невозможно.

Creat0R 20-07-2009 23:33 1173173

Цитата:

Цитата 11943499
жаль что сделать это в реальном времени невозможно »

Возможно. Нужно свой GUI рисовать.

proxy 21-07-2009 00:33 1173210

11943499,
Цитата:

Цитата Creat0R
Возможно. Нужно свой GUI рисовать. »

именно об этом и говорил на ру-борде....на этом форуме, уже была тема на эту тему, и были примеры там, и не один..

11943499 21-07-2009 00:47 1173220

Цитата:

Цитата Creat0R
Возможно. Нужно свой GUI рисовать. »

Оно понятно, что возможно в принципе. Есть еще С+, ассемблер )
Я про то, что возможно это где-то есть, странно, что нет похожего примера.
Самому лениво глубоко копать, напрограмился уже в свое время.... :)

proxy 21-07-2009 00:57 1173230

Цитата:

Цитата 11943499
Самому лениво глубоко копать, напрограмился уже в свое время.... »

твою работу за тебя ни кто делать не будет ! соберись, напрягись и в путь ....поиск рядом ;)

Creat0R 21-07-2009 01:33 1173249

Цитата:

Цитата 11943499
возможно это где-то есть, странно, что нет похожего примера »

Есть.


Время: 15:37.

Время: 15:37.
© OSzone.net 2001-