【发布时间】:2014-02-26 06:04:55
【问题描述】:
我正在尝试使用 org.eclipse.swt.ole 库通过 java 程序发送邮件。 我正在使用 64 位 JVM 和 32 位 Outlook。当我尝试运行程序时,它显示-“未能创建 OLEClientSite”。在浏览了互联网上的许多论坛后,我认为问题出在 64 位 jvm 和 32 位 Outlook 上。我附上了创建 OLEClientSite 的代码。如果这开始工作,我可以进一步编写程序。
import org.eclipse.swt.SWT;
import org.eclipse.swt.ole.win32.OLE;
import org.eclipse.swt.ole.win32.OleAutomation;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class OleTest {
public static void main(String[] args) {
Email("test@gmail.com","test email", "test");
}
public static void Email(String sRecipient, String sSubject, String sReportName)
{
Display display = new Display();
Shell shell = new Shell(display);
OleFrame frame = new OleFrame(shell, SWT.NONE);
// This should start outlook if it is not running yet
OleClientSite site = new OleClientSite(frame, SWT.NONE,
"Outlook.Application");
site.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
// Now get the outlook application
OleClientSite site2 = new OleClientSite(frame, SWT.NONE,
"Outlook.Application");
OleAutomation outlook = new OleAutomation(site2);
}
}
The error which I am getting is:
Exception in thread "main" org.eclipse.swt.SWTException: Failed to create Ole Client.
result = -2147221164
at org.eclipse.swt.ole.win32.OLE.error(Unknown Source)
at org.eclipse.swt.ole.win32.OleClientSite.<init>(Unknown Source)
at OleTest.Email(OleTest.java:22)
at OleTest.main(OleTest.java:14)
【问题讨论】:
标签: java swt 64-bit sendmail ole