Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定用户是否发送了由Java代码生成的MS Outlook消息?_Java_Outlook - Fatal编程技术网

如何确定用户是否发送了由Java代码生成的MS Outlook消息?

如何确定用户是否发送了由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

在我的程序中,我创建Outlook.exe进程并发送带有预填充内容的消息。在发送消息或关闭消息窗口后,我需要知道用户是否发送了消息

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-这是一个完全正确的问题。