?
Solved

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

Posted on 2016-09-11
3
Medium Priority
?
556 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 39

Assisted Solution

by:Geert G
Geert G earned 600 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 28

Accepted Solution

by:
Sinisa Vuk earned 1400 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

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
This is an update to some code that someone else posted on Experts Exchange. It is an alternate approach, I think a little easier to use, & makes sure that things like the Task Bar will update.
If you are looking for an automated tool which can generate reports for Outlook emails and other items from PST file, then you can go for Kernel PST Reporter tool. The reports which are created by this tool are helpful to analyze and understand PST …
To export Lotus Notes to Outlook PST or Exchange and Domino Server files to Exchange Server or PST files with ease, go for Kernel for Lotus Notes to Outlook conversion tool. Through the video, you can watch the conversion process. A common user with…

579 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