Check out my new blog at

Tuesday, May 23, 2017

New Download - A Browser in A Process


This application allows for setting up shortcuts to your favorite sites without launching a browser
directly.  The requirement to have such a thing sprung from my work on using Google's oAuth
and Blogger APIs inside a Windows app.  See here for more information.

As a side-effect, I ended up needing to design a "browser process" that's purpose was to
launch a web page and act as a go-between the client and server.

It is useful for creating shortcuts to your favorite websites and have them run outside the browser. 
For me, I am constantly generating more and more tabs in Chrome or IE, which I invariably get overwhelmed
by so I just close the browser, forgetting I was on YouTube listening to a song or a social site
in the middle of a conversation, so I have to start over.

This little app looks nothing like a browser, except for a single page
(you can still go to other sites, navigate, use the context menu, etc., but you won't inadvertently
shut it down with your other tab-bloated browsers


It is pretty easy to use, but I must excuse the strange symbols used in the command switches. For various
technical resources related to the work I was doing on oAuth, I had to try to find characters that weren't
likely to be returned by an authentication request

You can drive this from the command line or, more likely, setup shortcuts and pin them to your Start
screen or menu

Basic Switches

To open the application and connect to a specific webpage (url address)

[InstallDrive]:\[InstallDirectory]\SW.BrowserProcess.exe ~url© ~standalone

Don't forget the ~standalone switch!

Also, just to make it easy for you, the '©' symbol is easily achieved on your keyboard:

  1. Make sure Num Lock is on
  2. Press Alt + 0169 on the keypad, which if you go look here:, you can find many
    more cool tricks

Advanced Switches

The following switches I would consider "experimental" for you because they were designed specifically
for my needs in oAuth, but here goes

[InstallDrive]:\[InstallDirectory]\SW.BrowserProcess.exe ~url© ~attach©[WINDOW_HANDLE]

The WINDOW_HANDLE is either obtained via Win32 API or WinForms (if you are nodding off now, just quit).

This switch makes the browser window a child of the window represented by WINDOW_HANDLE.
This is tricky because its not really a good idea to have two message pumps in one process that
aren't setup
that way to begin with (lot's of WM_PAINT problems, MDI clients spawned this way don't respond to
MDI directives like cascade or minimize all, because the parent really doesn't know it exists. BAD

If you add the~mdi switch, the browser process will attempt to make itself
an MDI (multiple Document Interface) document of the parent process.

I figure since I included these experimental switches, I should show you an example of what this looks

Embedded Browser

I have a forthcoming post on this, so I will provide details there but what you are seeing on the right
is the browser process running as an MDI client inside another application, waiting for me to deny or
allow access to my blog.

Embedded Browser



No comments :


Content on this site is provided "AS IS" with no warranties and confers no rights. Additionally, all content on this site is my own personal opinion and does not represent my employer's view in any way.