Solved

How to open a new windows chrome resized and disabled the toolbar?

Posted on 2016-09-11
3
58 Views
Last Modified: 2016-09-25
Hello guys,

I need to call a new google chrome window in size 500 x 500, toolbar disable,

I am trying some codes that I found but I am not having success.

I can open a new windows, it is ok.  But I can't open it in my size 500, 500, when the windows is created, if I have one open, the new windows is created with the same size.

this is my simple code, please take a look at this:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, StrUtils, ShellApi;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Edit1: TEdit;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function crGetDefaultBrowser: string;
var
  Path: array [0 .. 255] of char;
  Buff: array [0 .. 255] of WideChar;
  Filename: PWideChar;
  crGetTempPath: string;
begin
  GetTempPath(255, Buff);
  crGetTempPath := Buff;
  Filename := PWideChar(crGetTempPath + 'default.html');
  CloseHandle(CreateFile(Filename, GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS,
    FILE_ATTRIBUTE_NORMAL, 0));
  FindExecutable(Filename, nil, Path);
  DeleteFile(Filename);
  Result := Path;
end;

function crOpenBrowser(url: string): LongWord;
var
  Startupinfo: TStartupInfo;
  Processinfo: Tprocessinformation;
begin
  Fillchar(Startupinfo, Sizeof(Startupinfo), #0);
  Startupinfo.cb := Sizeof(Startupinfo);
  Startupinfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
  Startupinfo.wShowWindow := SW_SHOWNORMAL;

  if not Createprocess(nil, PWideChar(crGetDefaultBrowser + '  --cast-initial-screen-height=300 --cast-initial-screen-width=300 --window-position=20,20  --window-size=300,300 --new-window --url=' + ' ' + url ), nil, nil, False,
    CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, Startupinfo, Processinfo) then
    Result := WAIT_FAILED;

  if Processinfo.Hprocess <> 0 then
    CloseHandle(Processinfo.Hprocess);
  if Processinfo.Hthread <> 0 then
    CloseHandle(Processinfo.Hthread);
end;

//http://peter.sh/experiments/chromium-command-line-switches/


procedure TForm1.BitBtn1Click(Sender: TObject);
begin

  crOpenBrowser('www.bol.com.br');

end;

end.

Open in new window



here you can get the chrome parameter list
http://peter.sh/experiments/chromium-command-line-switches/#window-size

and here you can get some examples as it could be in other language:
https://github.com/s-haines/chrome-window-positioner/blob/master/src/main.js

I appreciate a lot a help on this
Alex
0
Comment
Question by:hidrau
3 Comments
 
LVL 36

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 150 total points
ID: 41795732
FindExecutable returns LaunchWinApp for me, even if chrome is my default browser

chrome seems to ignore the settings for window sizing
0
 
LVL 25

Accepted Solution

by:
Sinisa Vuk earned 350 total points
ID: 41796973
Maybe you want to embed G. Chrome into your app. Following this chromiumembedded framework - you can. There is a Delphi component to simplify this process....
0
 
LVL 1

Author Closing Comment

by:hidrau
ID: 41815221
Thanks a lot
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now