Re: Easy GUI with HTML?
"Daneel" wrote:
I've been doing (visual) C++ (6.0) for some time but I
never did
anything which needed a GUI. Now I do and I would like to
keep it as
simple as possible. I do know HTML quite well. Is there a
way to use a
web browser as a GUI for my C++ program? The C++ program
would output
HTML to the webbrowser (that's easy enough), but there
should also be
some interactivety, i.e., if I press a button in the web
browser, then
my C++ program should be notified.
This should all happen on a local machine. I know that all
this is
possible through a properly configured web server with
CGI, but this
is not the way which I want to go.
So the question is, is there an easy way to use a web
browser (i.e.,
html) as a GUI for my C++ application?
Yes, you can do it with help of so called HTML Application
(HTA):
"HTML Applications"
http://msdn2.microsoft.com/en-us/library/ms536471.aspx
HTA is a regular HTML file with one special tag within HEAD
element: HTA:APPLICATION. HTA is shown with MSHTA.EXE host
instead of IE. Contrary to regular HTML within a browser,
HTA application has the same access rights as any other
executable running under the same account i.e., you can
access disk, Registry, instantiate ActiveX controls, etc..
In order to use C++ binary from HTA you will need to make a
COM object, which supports dual interfaces (i.e.,
`IDispatch' interface for late binding; otherwise COM object
won't be usable from scripts).
Then you just instantiate COM object with script in HTML
page and use it as any other system component.
Personally, I constantly write small HTA applications for
mundane tasks. Moreover, it's quite rarely I need to make
companion COM object nowadays. Today's Windows 2K/XP has
almost everything you will ever need for small desktop
application: MSXML parser, WMI classes, common dialogs,
etc.. Here's the tutorial of simple HTML editor made as HTA:
"How to Create an HTML Editor Application"
http://msdn.microsoft.com/workshop/author/editing/tutorials/html_editor.asp
Sample's code can be downloaded from here:
"HTMLEditor"
http://msdn.microsoft.com/archive/en-us/samples/internet/author/html/htmleditor/default.asp
Alex