En anden måde at løse det på, som jeg har siddet og rodet lidt med, er at bruge ShellExecute/ShellExecuteEx til at starte Internet Explorer op med sitet.
Når du oprettet det, skal du så kunne finde det handle IE har fået og sende en besked til IE om at det skal ændre størrelse, ex med MoveWindow.
Desværre vil det jeg har lavet ikke finde noget handle for IE
Et lille kort kode-eksempel, virker kun hvis IE er standard browser, kan ikke lige huske hvordan man tvinger den til at åbne i IE.
procedure TForm1.Button1Click(Sender: TObject);
var
MyHandle: HWND;
WinRect: TRect;
begin
// Husk at tilføje ShellApi under uses, for at kunne bruge ShellExecute
ShellExecute(Handle,'open', 'www.udvikleren.dk', nil, nil, SW_SHOWNORMAL) ;
MyHandle := FindWindow('IEFrame', nil);
if MyHandle <> 0 then
begin
// Minimer program:
// SendMessage(MyHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
// Luk program:
// SendMessage(MyHandle, WM_SYSCOMMAND, SC_CLOSE, 0);
// Ændre størrelse på vindue:
GetWindowRect(MyHandle, WinRect);
MoveWindow(MyHandle, WinRect.Left, WinRect.Top, 800, 600, True);
end;
end;
Den åbner browseren og ændre størrelsen til 800*600 hvis IE vel at mærke er standard browseren, håber det kan bruges Ken, og evt også til dig Jannich.
REDIGERET:
http://udvikleren.dk/ rettet til www.udvikleren.dk, for at koden ikke bliver ødelagt.
Indlæg senest redigeret d. 13.11.2007 00:04 af Bruger #6080