Open Event of Window and Handle of Window

2019-03-04 17:29发布

问题:

How do I get a window handle (IntPtr) from the Outlook window I have just opened?

    OutLook.Items items = oFolder.Items;

    foreach (OutLook.MailItem mail in items)
    {

          mail.Display();

          //IntPtr a = (System.IntPtr)mail.GetInspector.Parent;

I am new to C sharp.

回答1:

I think I'll have to settle with this solution. I was hoping for something a lot more solid, but this is about 80% solid. Interested to see what others think.

Its standard get window by window title:

                    Process[] processes = Process.GetProcessesByName("OUTLOOK");

                    foreach (Process p in processes)
                    {

                        if (p.MainWindowTitle == mail.GetInspector.Caption)
                        {

                            handle = p.MainWindowHandle;

                            break;
                        }

                    }