???JNA??????????????????????????????????
???????????? ???????[ 2013/4/8 10:11:16 ] ????????
??????ν???????????????
?????????????????????ü??????????????????????Щ??????????????????????????????????????????????????????ò???????API??????????????????????????????????????????????????????????????
???????????????JNA??https://github.com/twall/jna????JNA??????JNI?????????????????JNI??????????á? JNA????jna.jar??platform.jar?????????????????????????????????platform.jar?С???????????????JNA?а?????mac??unix??win32??????????????API??????????
??????API???????JNA???????????????????£?
????????????????μ???https://github.com/twall/jna/blob/master/www/Mappings.md
????????????windows??????????????????????????????????????
????JNA?й???windows??????com.sun.jna.platform.win32????User32??????????????????windows??API??????á?????????????????SendMessage???С?????????????????????SendMessage?????????????£?
1.import com.sun.jna.Native;
2.import com.sun.jna.platform.win32.User32;
3.import com.sun.jna.win32.W32APIOptions;
4.
5.public interface User32Ext extends User32 {
6.
7. User32Ext USER32EXT = (User32Ext) Native.loadLibrary("user32"?? User32Ext.class?? W32APIOptions.DEFAULT_OPTIONS);
8.
9. /**
10. * ???????
11. * @param lpParent ????????????????
12. * @param lpChild ????????????????
13. * @param lpClassName ????
14. * @param lpWindowName ??????
15. * @return ???????????
16. */
17. HWND FindWindowEx(HWND lpParent?? HWND lpChild?? String lpClassName?? String lpWindowName);
18.
19. /**
20. * ??????洰??????????????д????root
21. * @return ???????????
22. */
23. HWND GetDesktopWindow();
24.
25. /**
26. * ??????????
27. * @param hWnd ???????
28. * @param dwFlags ???????
29. * @param bVk ????????
30. * @param dwExtraInfo ??????????0????
31. * @return
32. */
33. int SendMessage(HWND hWnd?? int dwFlags?? byte bVk?? int dwExtraInfo);
34.
35. /**
36. * ??????????
37. * @param hWnd ???????
38. * @param Msg ???????
39. * @param wParam ??0????
40. * @param lParam ??????????????????????????null
41. * @return
42. */
43. int SendMessage(HWND hWnd?? int Msg?? int wParam?? String lParam);
44.
45. /**
46. * ??????????
47. * @param bVk ????????
48. * @param bScan ?? ((byte)0) ????
49. * @param dwFlags ???????????
50. * @param dwExtraInfo ??0????
51. */
52. void keybd_event(byte bVk?? byte bScan?? int dwFlags?? int dwExtraInfo);
53.
54. /**
55. * ???????????????????λ??????????
56. * @param hWnd ?輤?????????
57. * @param fAltTab ???С????????
58. */
59. void SwitchToThisWindow(HWND hWnd?? boolean fAltTab);
60.
61.}
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11