1
Разработка / Development / Java отправка SendMessage
« on: April 02, 2016, 23:13:15 »
Добрый день.
Пытаюсь с помощью Java отправить команду аимпу через библиотеку JNA(В библиотеке реализована возможность работы с WinApi).
Ранее не работал с WinApi и пробую работать с аимпом по примерам, которые нагуглил -_-
Собственно проблема следующая: делаю следующее
и используемый класс для найденный на просторах:
результат:
Подскажите, чего я не правильно делаю, так как аимп не реагирует на команды.
Буду благодарен за помощь.
Пытаюсь с помощью Java отправить команду аимпу через библиотеку JNA(В библиотеке реализована возможность работы с WinApi).
Ранее не работал с WinApi и пробую работать с аимпом по примерам, которые нагуглил -_-
Собственно проблема следующая: делаю следующее
Code: [Select]
public static void main(String[] args) {
//константы
int WM_USER = 0x0400;
int WM_AIMP_COMMAND = WM_USER + 0x75;
//получаем Хандлер
WinDef.HWND HWND = User32Ext.USER32EXT.FindWindow("Taimpmainform", null);
//посылаем команду next
//ID команды next 10 + 7
int res = User32Ext.USER32EXT.SendMessage(HWND, WM_AIMP_COMMAND, 17, 0);
System.out.println("result: " + res);
System.out.println("ERROR: " + Native.getLastError());
System.out.println("accept");
}
и используемый класс для найденный на просторах:
Code: [Select]
public interface User32Ext extends User32 {
User32Ext USER32EXT = (User32Ext) Native.loadLibrary("user32",
User32Ext.class, W32APIOptions.DEFAULT_OPTIONS);
HWND FindWindowEx(HWND lpParent, HWND lpChild, String lpClassName,
String lpWindowName);
HWND GetTopWindow(HWND hwnd);
HWND GetParent(HWND hwnd);
HWND GetDesktopWindow();
int SendMessage(HWND hWnd, int dwFlags, byte bVk, int dwExtraInfo);
int SendMessage(HWND hWnd, int Msg, int wParam, String lParam);
int SendMessage(HWND hWnd, int Msg, int wParam, int lParam);
LRESULT SendMessage(HWND hWnd, int Msg, WPARAM wParam, LPARAM lParam);
void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
void SwitchToThisWindow(HWND hWnd, boolean fAltTab);
}
результат:
Code: [Select]
result: 0
ERROR: 0
accept
Подскажите, чего я не правильно делаю, так как аимп не реагирует на команды.
Буду благодарен за помощь.