Всем добрый день!
Возникла необходимость запускать форму настроек фона из кода, т.е. необходимо было имитировать нажатие клавиш ALT+S из кода.
Попробовал сделать так.
Добавил метод в класс AxPaint:
X++:
public FormRun formRunPaint()
{
return formRunPaint;
}
Добавил метод в на форму AxPaintRunBase:
X++:
FormActiveXControl activeX()
{
return ActiveX;
}
Запускаю джоб на отправку сообщения о нажатии клавиш ALT+S, но ничего не происходит:
X++:
static void Job52(Args _args)
{
#define.WM_SYSKEYDOWN(0x0104)
#define.VK_S(0x53)
AxPaint axPaint = AxPaint::getAxPaint();
FormActiveXControl activexctrl;
Object formRun;
;
if(axPaint.formRunPaint())
{
formRun = axPaint.formRunPaint();
activexctrl = formRun.activeX();
WinAPI::sendMessageEx(activexctrl.hWnd(), #WM_SYSKEYDOWN, #VK_S, 0x20200001);
}
}
Что я делаю не так?