如何确定用户是否发送了由Java代码生成的MS Outlook消息?
在我的程序中,我创建Outlook.exe进程并发送带有预填充内容的消息。在发送消息或关闭消息窗口后,我需要知道用户是否发送了消息如何确定用户是否发送了由Java代码生成的MS Outlook消息?,java,outlook,Java,Outlook,在我的程序中,我创建Outlook.exe进程并发送带有预填充内容的消息。在发送消息或关闭消息窗口后,我需要知道用户是否发送了消息 exitValue()处理方法没有帮助,因为两种情况下exitValue都是0 ProcessBuilder processBuilder = new ProcessBuilder(); Process process = processBuilder.command("C:\\Program Files(x86)\\Microsoft Office\\Office
exitValue()
处理方法没有帮助,因为两种情况下exitValue都是0
ProcessBuilder processBuilder = new ProcessBuilder();
Process process = processBuilder.command("C:\\Program Files(x86)\\Microsoft Office\\Office15\\OUTLOOK.exe", "/a").start();
if (process.exitValue() == 0) {
Session session = sessionExtracting();
session.beginTransaction();
SQLQuery query = session.createSQLQuery("UPDATE mailorder set mailordstatus = 2");
query.executeUpdate();
session.close();
}
首先,Outlook是一个单实例—如果Outlook.exe已经在运行,启动第二个实例只需将控制权转移到第一个实例即可。其次,您正在对outlook.exe文件位置进行硬编码
使用Outlook对象模型(使用COM桥接)-创建
Outlook.Application
COM对象的实例,使用Application.CreateItem(0)
创建新邮件,填充邮件属性(主题、正文、收件人等)调用MailItem.Send
或使用MailItem.display
显示消息,并捕获MailItem.Send
事件。这可能不是一个适合StackOverflow的问题-我建议您尝试在Microsoft产品论坛上提问,或者在stack exchange站点上。@sillyfly-这是一个完全正确的问题。