具有部分已知标题的FindWindow

时间:2012-01-12 18:42:32

标签: c# pinvoke

示例Outlook:它只有一个进程但可以有多个窗口(用户可以双击电子邮件在自己的窗口中打开它)

所以,我不能使用 Process.GetProcess()来遍历流程并比较标题。

FindWindow()需要完整标题;我知道标题,但Outlook窗口最后添加了自己的标题,即 - 消息(富文本)或 - 消息(HTML)等。

我可以获取Outlook的所有电子邮件窗口(句柄)吗?然后使用 GetWindowText()迭代这些以找到我的窗口?任何指针都将受到高度赞赏。

1 个答案:

答案 0 :(得分:10)

您可以使用EnumWindow枚举所有找到所需窗口的窗口。

http://www.pinvoke.net/default.aspx/user32.enumwindows