使用纯JAVA,很费劲的。JAVA对别的线程的控制很麻烦,要使用WIN32 API。要控制别的程序的界面,要使用一堆窗口API、宽首WIN32事件处理,等隐卖。
Runtime.exec() 对DOS程序还要灶巧逗,对windows程序,无能为力。
分两类:1. 由Java awt创建的window,awt API可以进行一些 *** 作,如resize等
2. 外部程序创建的window,比如QQ,MSN 窗体等,Java一般很难 *** 作,因为这些window和JVM无任何关系,晌乱 如果非要 *** 作,则通过JNI调用JAWT API(JDK_HOME/include/jawt.h) 以及windows user32 API来完成调滚前用,比如:
HWND qqWindow = FindWindow("QQ2010",NULL)
PostMessage(qqWindow,WM_CLOSE,NULL,NULL)
以大谨清上代码可以被java通过JNI调用,而函数内部又通过windows API post了一个消息给这个qqwindow,结果就是QQ window **掉了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)