我通常会运行下面列出的方法来最大化图标化窗口;然而,当涉及到Outlook时,有时会最大化一个邮件(消息),我已打开,而不是父应用程序(Outlook);它只是拉起了它发现的任何前景,我需要父母,我怎么能做到这一点?检索父窗口处理C#(试图最大化Outlook)
我试过使用WINAPI GetAncestor,我也试过GetParent。
public static bool EventChecking(string progr)
{
int bb = 0;
if (Process.GetProcessesByName(progr).Length > 0)
{
bb++;
}
if (bb == 0)
{
return false;
}
foreach (Process ddcd in Process.GetProcesses())
{
if (ddcd.ProcessName.Contains(progr))
{
if (ddcd.MainWindowHandle != IntPtr.Zero)
{
pointer = ddcd.MainWindowHandle;
if (IsIconic(pointer))
{
SendMessage(pointer, 0x112, 0xF120, 0);
}
SetForegroundWindow(pointer);
}
};
}
return true;
}
编辑:
最近我也试过:
if (ddcd.MainWindowTitle.EndsWith("- Outlook"))
,它仍然拉起单个电子邮件
或许,这可能会帮助 - http://stackoverflow.com/questions/637652/get-the-handle-of-a-window-with-not-fully-known-title-c – 2014-10-07 23:45:36
它仍然是拉动打开单个电子邮件;我现在搜索结束与“ - 展望”只有主窗口结束与此字符串不是单个电子邮件; – ModS 2014-10-08 00:31:40