0 Members and 1 Guest are viewing this topic.
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"); }
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); }
result: 0ERROR: 0accept
2. Как минимум у вас ошибка в том, что вы пытаетесь отправлять сообщения "Taimpmainform", а нужно это делать другому, сервисном окошку: "AIMP2_RemoteInfo"