在另一个应用程序表单关闭后,如何恢复大小并将重点放在表单上?

时间:2012-02-04 18:03:14

标签: delphi

我有一个程序,最终格式化电子邮件消息并将信息发送到用户的默认电子邮件客户端。在此之前我最小化我的应用程序。

用户点击他或她的电子邮件客户端上的“发送”按钮后,我希望我的应用程序能够自行恢复 - 但不是之前。一个简单的Application.Restore不会这样做,因为我的应用程序将在用户点击他或她的电子邮件“发送”按钮(关闭邮件应用程序的表单)之前恢复。换句话说,在用户发送电子邮件之前,Application.Restore会在电子邮件客户端上恢复主窗体。

1 个答案:

答案 0 :(得分:1)

为此,您需要至少知道要监视哪个窗口。越来越多的人现在使用网络邮件而不是电子邮件的侮辱,以至于默认情况下调用计算机的电子邮件应用程序会导致更多的混淆而不是它的价值。然后有大量可能的电子邮件客户端,更不用说用户在您的功能运行时可能已经在编写电子邮件消息。

我建议您考虑以下其中一种选择。

  1. 如果应用程序的目标是技术能力,请让他们输入自己的SMTP服务器详细信息并使用它来发送您的电子邮件。
  2. 在PHP之类的内容中编写一个接口,将请求字符串转换为电子邮件消息并从您选择的服务器发送。然后,您可以在应用程序中提供表单以进行消息组合,并使用HTTP组件将请求发送到托管接口的URL。有一个简单的例子in this article
  3. 最简单的选择不是最小化您的应用程序,并让用户选择打开计算机的默认电子邮件应用程序,或将电子邮件地址复制到剪贴板以粘贴到Webmail消息中。
  4. 使用[1]和[2],您将知道消息何时发送,以及发送是否成功。 [3]这没关系。