Re: bringing Pocket Internet Explorer (PIE) to foreground

From: Peter Foot [MVP] (feedback_at_no-spam.inthehand.com)
Date: 11/06/04


Date: Sat, 6 Nov 2004 19:00:16 -0000

Have you tried calling SetForegroundWindow with this handle:-
http://blog.opennetcf.org/pfoot/PermaLink.aspx?guid=a4bca0e4-439b-411a-87cd-0950e9d16b10

Peter

-- 
Peter Foot
Windows Embedded MVP
www.inthehand.com | www.opennetcf.org
"Rich" <Rich@discussions.microsoft.com> wrote in message 
news:2B44A4D5-9099-456D-AC4F-833E36BE3369@microsoft.com...
> Peter,
> Thanks for the swift reply! (I should pay closer attention to the method
> signature ;)
>
> When I tried
>  int h = FindWindow (null, "Internet Explorer");
> h is now bound to the integer 941872, which is hopeful.
> Unfortunately, the PIE window did not come to the foreground on the ASUS
> MyPal PocketPC.
>
> Any other hints?
>
> -Rich
>
> "Peter Foot [MVP]" wrote:
>
>> Since the first argument of FindWindow is the classname and the second is
>> the window title try
>>
>> int h = FindWindow(null, "Internet Explorer");
>>
>> Peter
>>
>> -- 
>> Peter Foot
>> Windows Embedded MVP
>> www.inthehand.com | www.opennetcf.org
>>
>> "Rich" <Rich@discussions.microsoft.com> wrote in message
>> news:71A7F7F6-CAE5-45C2-B17C-ECACC30469E0@microsoft.com...
>> > Hopefully a trivial question -
>> > I have a C# PocketPC 2003 Windows Forms application running under 
>> > ARMv4.
>> > I want to have the application put itself in the background and bring 
>> > PIE
>> > to
>> > the foreground. PIE is already loading, and can be seen in "Running
>> > Programs".
>> >
>> > I tried the famous code example where I substituted out "HHTaskBar" for
>> > PIE
>> >
>> > static public void showTaskBar ()
>> > {
>> > int h = FindWindow ("HHTaskBar", "");
>> > ShowWindow (h, SW_SHOW);
>> > }
>> >
>> >
>> > [DllImport("coredll.dll")]
>> > public static extern int FindWindow (string lpClassName, string
>> > lpWindowName);
>> > private const int SW_HIDE = 0x0000;
>> > private const int SW_SHOW = 0x0001;
>> >
>> > [DllImport("coredll.dll")]
>> > public static extern int ShowWindow (int hwnd, int nTaskShow);
>> >
>> > [DllImport("coredll.dll")]
>> > public static extern int MoveWindow (IntPtr hwnd, int X, int Y, int
>> > nWidth, int nHeight, bool bRepaint);
>> > }
>> >
>> > My code for show is -
>> >  static public void showPIE ()
>> >    {
>> >      int h = FindWindow ("IEFrame", "");
>> >      // int h = FindWindow ("iexplore", "");
>> >      // int h = FindWindow ("Internet Explorer", "");
>> >      ShowWindow (h, SW_SHOW);
>> >    }
>> >
>> > However, PIE is not brought to the foreground.
>> >
>> > As the commented lines in "showPIE" hint, I tried various names for 
>> > PIE -
>> >  "Internet Explorer" appears in the list of "Running Programs",
>> >  "iexplore.exe" is the name of the executable in the PocketPC Windows
>> > directory,
>> >  and I saw a web posting that hinted that "IEFrame" might work.
>> >
>> > In any of the three cases, the integer h in "showPIE" is bound to "0".
>> >
>> > What do I need to change?
>> >
>> > Also - No offence intended, but I have a mild preference *not* to have 
>> > to
>> > use a 3rd-party library such as opennetcf.org
>>
>>
>>