Solved

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

Posted on 2016-09-11
3
265 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 37

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 27

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

[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This video Micro Tutorial shows how to password-protect PDF files with free software. Many software products can do this, such as Adobe Acrobat (but not Adobe Reader), Nuance PaperPort, and Nuance Power PDF, but they are not free products. This vide…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…

705 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