2011-04-20 105 views
2

这里的团队在PC上运行作业,然后启动电子邮件,创建附件,然后发送。他们可以安排这项工作。他们遇到的问题是它会弹出一个窗口,询问是否要发送由另一个程序发送的电子邮件,这样就会触发发送电子邮件的隔夜作业的想法。使用.Net来监控应用程序

编写位于托盘中的控制台监听器并监视此特定窗口的前景如何,然后模拟用户单击发送按钮将其解除并发送电子邮件?

+1

他们如何在.Net中发送电子邮件?我认为你应该尝试找出一种方法来避免窗口弹出。我见过很多应用程序的SmtpClient这样做。 – 2011-04-20 14:51:17

+0

需要监控的应用程序不是.Net应用程序,因此使用SmtpClient不是解决方案。 – SuperTroye 2011-04-20 15:08:19

+0

您可以在几分钟内从C#创建电子邮件发送应用程序 - 网络上有很多示例。您使用某个特定应用发送电子邮件的目的是什么? (并解决你原来的问题 - 是的,这是可行的。有一些GUI自动测试正在使用这个功能 - 当你记录测试时,它捕获窗口的发生,记住你点击的按钮等等...... VS有它,但我不确定您是否可以导出该脚本并从中创建单独的应用程序。 – veljkoz 2011-04-20 15:08:35

回答

0

我同意一些其他意见 - 这将是更好的“修复”弹出。这可能是原因:

http://office.microsoft.com/en-us/outlook-help/i-get-warnings-about-a-program-accessing-e-mail-address-information-or-sending-e-mail-on-my-behalf-HA001229943.aspx

至于监测,它可能在MFC中 - 我相信它也可以在C#中完成。这个想法是监视顶层窗口,如果它是弹出窗口的特定标题,则发送一个单击消息到该窗口上的“确定”按钮。

http://www.codeproject.com/Messages/3325483/sending-click-message-to-child-button-of-a-window.aspx

0

你说他们有一个文件附加到电子邮件?也许他们可以将文件转储到您使用.Net应用程序的monitoring文件夹中,并且.Net应用程序会处理sending the email

这似乎是一种更干净,更优雅的做事方式。

你也可以试试看看this的问题。