Змінюй хід війни! Допомагай ЗСУ!

Как в Java вызвать API функции SendMessage и PostMessage()?

  • Автор теми Автор теми Madboy4ik
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 17.12.2006
Повідом.: 1003
Как в Java вызвать API функции SendMessage и PostMessage()?

подскажите пожалуйста как можно вызвать функции 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.
 
Здрасьте, а что, ANSI и Multibyte версии функции уже отменили? Которые SendMessageA и SendMessageW?
 
Я не в тему, но тут вроде профессионалы. Посоветуйте толковую толстую книгу по изучению Java, желательно русским языком.
 
bruce eckel "thinking in java"
 
Назад
Зверху Знизу