微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们可以在 VC++ 中使用 ::PostMessage() 重新启动 Outlook.exe 吗?

如何解决我们可以在 VC++ 中使用 ::PostMessage() 重新启动 Outlook.exe 吗?

我想通过在我的 C++ 应用程序中传递命令行参数来重新启动 Outlook.exe。

我有两个问题

  1. 如果我有 Outlook.exe 窗口的句柄,我们可以使用 ::PostMessage() 函数重新启动它吗?或者任何其他方式来实现它?
  2. 我可以将命令行参数传递给它吗?

解决方法

您可以将 WM_CLOSE 发布到 Outlook,但这只会关闭它。您需要使用 CreateProcess 之类的东西重新启动它,这就是您可以传递命令行参数的地方。

,

您可以在应用程序启动新进程时指定命令行参数,例如,要启动外部应用程序,您可以使用以下代码:

#include <stdlib.h>
...
system("cmd.exe")

第二个参数允许指定参数。

但是,您需要先关闭 Outlook,然后才能启动新实例并应用命令行参数来清除自动完成列表。因此,您可以开发一个外部应用程序,该应用程序可以使用指定的命令行启动 Outlook,但应从您的应用程序中安排该应用程序运行,并且当 outlook.exe 进程不存在时。因此,在您的应用程序中运行它并等待 Outlook 从正在运行的应用程序列表中退出)并关闭 Outlook(请参阅 Application 类的 Quit 方法)。

WM_CLOSE 消息可能仅对活动窗口有任何影响,因此如果打开多个窗口,Outlook 可以保持运行。例如,打开多个检查器窗口。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。