java调用win32 api动态连接类库dll和office com组件搞定。总之,还是借助了第三方架包。本人用的是jawin,自我感觉这个架包还行,挺好挺简单的,和jacob比起来,就是开发资料太少。但和jacob套路方法基本上是一样的。微有不同。不多说废话了,代码如下:
调用win32 api
FuncPtr msgBox = null;
// try {
// user32.dll 为win32api,想做点坏事,可以研究研究这个。
// msgBox = new FuncPtr("user32.dll", "ExitWindowsEx");
// msgBox.invoke_I(0,"EWX_LOGOFF",ReturnFlags.CHECK_FALSE);
// } catch (COMException e) {
// // handle exception
// e.printStackTrace();
//
// } finally {
// if (msgBox != null) {
// try {
// msgBox.close();
// } catch (COMException e) {
// // handle fatal exception
// e.printStackTrace();
// }
调用offic com组件对word操作打印功能。
try {
Ole32.CoInitialize();
DispatchPtr app = new DispatchPtr("Word.Application");
app.put("Visible", true);
app.put("ActivePrinter","Microsoft Office Document Image Writer");
DispatchPtr docs = (DispatchPtr)app.get("Documents");
DispatchPtr doc = (DispatchPtr) docs.invoke("Open", "C:\\vv.doc");
doc.invoke("PrintOut");
app.invoke("Quit");
Ole32.CoUninitialize();
} catch (Exception e){
e.printStackTrace();
}
}
调用offic com组件对excel操作功能。对于这个同上,但excel某些操作参数与word不同,我也在不断研究试用,还未出结果,希望高手能挤出宝贵时间给我贴上几行代码,小弟不胜感激。