现在在做一个java的UI程序,大致就是一个仿QQ的程序,现在要实现当聊天窗体最小化有消息时,是最小化的任务栏图标闪烁(不是右下角的图标闪烁),在winAPI里有个flashWindow函数(在user32.dll里)是专门用来让任务栏闪烁的,请谁可以帮我写个实例调用flashWindow函数,我现在就是在jni调用flashWindow方法时打住了。求指点迷津~
调试欢乐多
你自己写个java类,用javah生成h文件,然后自己写吧。。
https://jna.dev.java.net/
调用FlashWindow很简单,但是你要能找到窗口的句柄。
这个句柄能用jna找到吗?
比如遍历窗口可以用EnumWindowsProc,判断窗口进程可以用GetWindowThreadProcessId。你自己先研究研究吧,不难,但也不是十来行代码就搞定的,估计没人愿意代写代码。
使用jnad调用findWindow这个方法出现
Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'FindWindow': ???????¨?
at com.sun.jna.Function.<init>(Function.java:179)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:344)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:324)
at com.sun.jna.Library$Handler.invoke(Library.java:203)
at $Proxy0.FindWindow(Unknown Source)
at gds.jni.flashWindow.HelloWorld.main(HelloWorld.java:74)
这是什么原因?
这是我调用是传的参数 win32API.FindWindow(null,"窗体1");