Вызвать SendMessage
Возьми какой-нибудь AutoIt
Спасибо, но не похоже, что в AutoIt есть что-то такое. По крайней мере, никаких нужных функций, содержащих "send" или "post".
--------------------
Send a message to a control.
GUICtrlSendMsg ( controlID, msg , wParam, lParam )
Parameters:
controlID The control identifier (controlID) as returned by a GUICtrlCreate... function.
...
Эта функция позволяет слать сообщения только своим контролам.
Да, был неправ
Да ладно, если уж используются функции типа FindWindow(... значит, дело серьёзное.
поставь lcc/gcc/...
А что, вообще никакого програмистского инструментария не стоит?
Ладно, я сейчас сам решение выдам, осталось только выяснить, чему равно WM_APP.
#define WM_APP 0x8000
Ура! Заработало! WM_APP, судя по экперименту, 32768. Щас выложу решение. Не уверен, правда, что оно кому-то кроме меня понравится...
import org.eclipse.swt.internal.win32.*;Это заставляет запущенный LightAlloy перейти в режим Full Screen.
OS.SendMessage(OS.FindWindow(new TCHAR(0, "LightAlloyFront".toCharArray true null 35272, 202, 0);
P. S.: Чуть не забыл - в classpath надо включить swt.jar, а в PATH - swt-win32-XYZ.dll
Спасибо.
@java -cp "C:\Program Files\Java\BeanShell\User scripts\swt.jar"; переносгде PlayMovie.bsh - это
"C:\Program Files\Java\BeanShell\bsh-2.0b2.jar" bsh.Interpreter перенос
"C:\Program Files\Java\BeanShell\User scripts\PlayMovie.bsh" %1
import org.eclipse.swt.internal.win32.*;
Runtime.getRuntime.exec("C:\\Program Files\\Light Alloy\\LA.exe \"" + bsh.args[0] + "\"");
Thread.sleep(3000);
OS.SendMessage(OS.FindWindow(new TCHAR(0, "LightAlloyFront".toCharArray true null 35272, 314, 0);
OS.SendMessage(OS.FindWindow(new TCHAR(0, "LightAlloyFront".toCharArray true null 35272, 314, 0);
YDDznErm
Оставить комментарий
enochka1145
Ещё к вопросу об автоматизации.Мне нравится LightAlloy, только при запуске каждого нового фильма нужно увеличивать яркость с 50% до 57-58%. Хочется это как-то автоматизировать. Окну LightAlloy можно отправлять сообщения, например, так: где Всё, что мне нужно - это вызвать Как это можно сделать проще всего, желательно из командной строки? А то устанавливать MS VS неохота.