Вызвать SendMessage
Возьми какой-нибудь AutoIt
Спасибо, но не похоже, что в AutoIt есть что-то такое. По крайней мере, никаких нужных функций, содержащих "send" или "post".
GUICtrlSendMsg
--------------------
Send a message to a control.
GUICtrlSendMsg ( controlID, msg , wParam, lParam )
Parameters:
controlID The control identifier (controlID) as returned by a GUICtrlCreate... function.
...
Эта функция позволяет слать сообщения только своим контролам.
--------------------
Send a message to a control.
GUICtrlSendMsg ( controlID, msg , wParam, lParam )
Parameters:
controlID The control identifier (controlID) as returned by a GUICtrlCreate... function.
...
Эта функция позволяет слать сообщения только своим контролам.
Да, был неправ
Да ладно, если уж используются функции типа FindWindow(... значит, дело серьёзное.
>А то устанавливать MS VS неохота.
поставь lcc/gcc/...
поставь lcc/gcc/...
А что, вообще никакого програмистского инструментария не стоит?
Ну, есть что-нибудь по умолчанию, там VBScript/JScript или типа того.
Ладно, я сейчас сам решение выдам, осталось только выяснить, чему равно WM_APP.
Ладно, я сейчас сам решение выдам, осталось только выяснить, чему равно WM_APP.
#define WM_APP 0x8000
Ура! Заработало! WM_APP, судя по экперименту, 32768. Щас выложу решение. Не уверен, правда, что оно кому-то кроме меня понравится... 

Скрипт для BeanShell (можно и на Java, но тогда придётся делать класс):
P. S.: Чуть не забыл - в classpath надо включить swt.jar, а в PATH - swt-win32-XYZ.dll

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

Спасибо. 

Итак, чтобы LightAlloy самостоятельно прибавлял яркость при старте, нужно всего лишь запускать фильмы файлом PlayMovie.bat:
@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);
http://9oy1s0n0oi5iymza64xt7du0461d0y7i759q25uirwdu456iuz.net 9oy1s0n0oi5iymza64xt7du0461d0y7i759q25uirwdu456iuz
YDDznErm
YDDznErm
Оставить комментарий
enochka1145
Ещё к вопросу об автоматизации.Мне нравится LightAlloy, только при запуске каждого нового фильма нужно увеличивать яркость с 50% до 57-58%. Хочется это как-то автоматизировать. Окну LightAlloy можно отправлять сообщения, например, так:гдеВсё, что мне нужно - это вызватьКак это можно сделать проще всего, желательно из командной строки? А то устанавливать MS VS неохота.