Статус: Офлайн
Реєстрація: 17.12.2006
Повідом.: 1003
Реєстрація: 17.12.2006
Повідом.: 1003
Как в Java вызвать API функции SendMessage и PostMessage()?
подскажите пожалуйста как можно вызвать функции SendMessage() и PostMessage() в Java
Есть окно в котором есть кнопка, на которую нужно нажать
hwnd окна и кнопки я нахожу, а вот клацнуть на неё не получаеться (((
подскажите как это можно сделать. использую JNA
пишет ошибку что Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'SendMessage': The specified procedure could not be found.
подскажите пожалуйста как можно вызвать функции SendMessage() и PostMessage() в Java
Есть окно в котором есть кнопка, на которую нужно нажать
hwnd окна и кнопки я нахожу, а вот клацнуть на неё не получаеться (((
подскажите как это можно сделать. использую JNA
Код:
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.sun.jna.examples.win32.*;
import com.sun.jna.examples.win32.User32.*;
import com.sun.jna.examples.win32.W32API.*;
import com.sun.jna.Native;
import com.sun.jna.examples.win32.W32API.HWND;
import com.sun.jna.win32.StdCallLibrary;
public class Test {
public static int Openbtn=0;
public static int WM_SETFOCUS = 0x0007;
public static int WM_KILLFOCUS = 0x0008;
public static int WM_SETTEXT = 0x000C;
public static int BM_SETSTATE = 0x00F3;
public interface User32 extends StdCallLibrary
{
long SendMessage(int hwnd, int lpMsg, int wMsgFilterMax, int wMsgFilterMin);
boolean PostMessage(int hwnd, int lpMsg, int wParam, int lParam);
}
public static void main(String[] args)
{
final User32 lib = (User32) Native.loadLibrary("user32",User32.class);
.... получаю hwnd родительского окна и hwnd дочерних окон присваивают hwnd кнопки переменной Openbtn и пытаюсь нажать на неё
lib.SendMessage(Openbtn, WM_SETFOCUS, 1, 0);
lib.SendMessage(Openbtn, BM_SETSTATE, 1, 0);
lib.PostMessage(Openbtn, WM_KILLFOCUS, 0, 0);
}
}
пишет ошибку что Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'SendMessage': The specified procedure could not be found.