Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: ksa-nsk on November 05, 2014, 08:54:22 PM
-
надо проверить, открыт ли блокнот, и если нет, то открыть, если да, то не открывать второй.
в кликермане смотрю - блокнота нет, но по скрипту
$hwnd_bloknot = wndfind("Блокнот")
print("$hwnd_bloknot=", $hwnd_bloknot)
показывает, что есть, попробовал сделать так ($hwnd - основная программа, с которой буду работать):
$hwnd_bloknot = wndfind("Блокнот")
print("$hwnd_bloknot=", $hwnd_bloknot)
IF ($hwnd_bloknot = 0)
execute("notepad.exe")
$hwnd_bloknot = wndfind("Блокнот")
Wait(4)
WNDBUMP($hwnd) // помещает окно на передний план
Wait(4)
ELSE
WNDBUMP($hwnd_bloknot) // помещает окно на передний план
WNDPOS ($hwnd_bloknot, 50, 50)
WNDSIZE( wndfind("Блокнот"), 300, 300)
$hwnd_bloknot_test = HGET(60, 60)
IF($hwnd_bloknot = $hwnd_bloknot_test)
// очищаю содержимое блокнота
KEYDOWN(#CTRL)
waitms(13)
KEYPRESS(#A)
waitms(13)
KEYUP(#CTRL)
waitms(13)
KEYPRESS(#DELETE)
waitms(23)
WNDBUMP($hwnd) // помещает окно на передний план
ELSE_IF
execute("notepad.exe")
Wait(4)
$hwnd_bloknot = wndfind("Блокнот")
WNDBUMP($hwnd) // помещает окно на передний план
Wait(4)
END_IF
END_IF
в итоге если блокнота нет, он открывается, если есть, то запускается второй блокнот
-
В блокноте два окна
IF($hwnd_bloknot = $hwnd_bloknot_test)
внутреннее окно имеет другой HWND поэтому запустится еще один блокнот
-
я сначала получаю $hwnd_bloknot. Как я думал, если это = 0, то запускаю блокнот, $hwnd_bloknot имеет конкретное значение, хотя блокнот нигде не открыт, я пытался его активировать - облом. В итоге мне нужно переключаться с блокнота на другую программу и наоборот...
-
Так ты любое окно в заголовке которого написано блокнот захватишь, например эту страницу.
-
спасибо, вопрос решился так:
$hwnd_bloknot = wndfind("__NotDelete.txt")
print("$hwnd_bloknot=", $hwnd_bloknot)
IF ($hwnd_bloknot = 0)
execute("__NotDelete.txt")
$hwnd_bloknot = wndfind("__NotDelete.txt")
Wait(2)
WNDBUMP($hwnd_bloknot) // помещает окно на передний план
ELSE
WNDBUMP($hwnd_bloknot) // помещает окно на передний план
WNDPOS ($hwnd_bloknot, 50, 50)
WNDSIZE($hwnd_bloknot, 500, 300)
KEYDOWN(#CTRL)
waitms(13)
KEYPRESS(#A)
waitms(13)
KEYUP(#CTRL)
waitms(13)
KEYPRESS(#DELETE)
waitms(23)
END_IF
WNDBUMP($hwnd) // помещает основное окно на передний план
wait(2)