ورود

View Full Version : فشردن دکمه در یک برنامه دیگر و انتقال متن به آن برنامه



_mojitaba_
پنج شنبه 26 آذر 1394, 00:27 صبح
سلام
من قصد نوشتن برنامه ای رو دارم که بتونه یک برنامه دیگر رو کنترل کنه
مثلا برنامه notpad ویندوز رو بتونم منوهاش رو باز کنم و یک گزینه رو انتخاب کنم
با کتابخانه JNA و با استفاده از توابع خود ویندوز تونستم برنامه مورد نظرم رو پیدا کنم
اما در کلیک کردن و ... دچار مشکل هستم
این کدی هست که باهاش کار رو انجام میدم


public static interface User32 extends StdCallLibrary {
final User32 instance = (User32) Native.loadLibrary ("user32", User32.class);
HWND FindWindowA(String winClass, String title);
HWND FindWindowExA(HWND hwndParent, HWND hwndChildAfter, String lpClassName ,String lpWindowName);
boolean ShowWindow(HWND hWnd, int nCmdShow);
boolean SetForegroundWindow(HWND hWnd);
int SendMessageA(HWND hWnd, int msg, int num1, int num2);

}

public static void main(String[] args) {
HWND hwnd = User32.instance.FindWindowA(null, "Untitled - Notepad");
User32.instance.ShowWindow(hwnd, 9);
User32.instance.SetForegroundWindow(hwnd);
HWND Ntpd = User32.instance.FindWindowExA(hwnd, null, "Edit",null);
User32.instance.SendMessageA(Ntpd, 0x0204, 0, 0);
}


وقتی که مقدار Ntpd رو چاپ میگیرم null بر میگردونه! چرا؟
کجای کار اشکال داره؟