Что нового

Изменить расположение msgbox

alex1912

Новичок
Сообщения
24
Репутация
0
Подскажите пожалуйста как изменить расположение msgbox? А то он выскакивает прямо у бокса куда вводить пароль.
Нашел схожую тему про gui, но для меня это совсем дебри.

Код:
#RequireAdmin
AutoItSetOption('MouseCoordMode', 0)
BlockInput(1) ;блокировка клавиаутуры и мышки
ShellExecute( "Soft1")
WinWaitActive("Soft1 menu")
Send("{ENTER}")
$hWnd = WinWaitActive("Soft1 Nickname:", "", 7) ;если пароль не сохранился, то заход в цикл
While $hWnd = 0
BlockInput (0)
    $msg1 = MsgBox(1 + 262144, 'Ошибка пароля', 'Ввели пароль?')
    If $msg1 = 1 Then 
        $hWnd = WinWaitActive("Soft1 Nickname:", "", 7)
        BlockInput (1)
    ElseIf $msg1 = 2 Then Exit
    EndIf   
WEnd
Run(@ScriptDir & "\Soft2.exe") ; если пароль ввели скрипт продолжается
 
Автор
A

alex1912

Новичок
Сообщения
24
Репутация
0
Да, видел эту тему. Вчера весь день пробовал, но так и не получилось у меня интегрировать это в мой скрипт в первом посте(
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Видимо не внимательно читали, в той теме одним из решений была ссылка на UDF "MsgBox.au3" от CreatoR, прикрепляю ниже (чуть исправил - закомментировал блок с глобальными переменными)
Вот и пример (тоже чуть изменил)
Код:
#include "MsgBox.au3"

$MB_MESSAGEBEEP = 1
$MB_TIMEOUTCOUNT = 1

$nFlags = BitOR($MB_TOPMOST, $MB_SYSTEMMODAL, $MB_DEFBUTTON1, $MB_ICONASTERISK, $MB_YESNO)
$sTitle = "My Custom MsgBox"
$sText = "Are you sure?"
$iTimeOut = 2
$hWnd = WinGetHandle("")

$Ask = _MsgBoxEx($nFlags, $sTitle, $sText, $iTimeOut, $hWnd,10,10)
ConsoleWrite(StringFormat("+ Return: %i\n! TimedOut: %s\n", $Ask, @extended = 1))
 

Вложения

  • MsgBox.au3
    16.5 КБ · Просмотры: 10
Автор
A

alex1912

Новичок
Сообщения
24
Репутация
0
Спасибо большое, буду разбираться.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Можно проще. Создаем свое окно через GuiCreate, блокируя окно программы. Всего несколько строк кода
 
Верх