Kakashi Uy

Kakashi Uy

  • NA
  • 3
  • 16.7k

Set size of IE Process Window C#

Jul 6 2010 10:37 PM

Hey guys. I have a question. In my program, I'm calling a Process (Internet Explorer) on button click, but I want to customize the size of the IE window being opened to something like 800 x 600 pixels. Do you know how do it? Below is my base code.
 
Process p = new Process();
p.StartInfo.FileName = "IExplore.exe";
p.StartInfo.Arguments = target; //target is a string -- this is the link that I'm opening
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.Start();

 

I know I have to use API. I tried to use below code, but the window is not resizing. What happens is it sticks to the previous location and size of the previous internet explorer that I executed. Say I opened an IE, resized it manually to 300 x 300. The next time I click the button and call my functions to resize, it still opens the 300 x 300 that I left.
IntPtr hWnd = (IntPtr) p.MainWindowHandle.ToInt64();
RECT rect = new RECT(new Point(500, 500), new Size(800, 600));
GetWindowRect(hWnd, out rect);
int width = rect.Right - rect.Left;
int height = rect.Bottom - rect.Top;
MoveWindow(hWnd, rect.Left, rect.Top, width, height, true);


Thanks a lot!

Answers (1)