Script Tips

GUI, Scripted

Turn to HTAs to give your scripts that Windows-like feel, without the programming overhead.

Ready for your Scripting Answers? This issue, I'll show you how to make your HTML Applications (HTAs, which are scripts that look like professional Windows apps) cooler and more professional-looking. If you're totally new to HTAs, hop over to the Forums on www.ScriptingAnswers.com; we've got a whole discussion on the topic.

As you may know, an HTA is a special HTML page that includes both HTML formatting codes as well as your VBScript. It's a sort of low-end Windows application or high-end script depending on how you look at it, and it offers the ability to have a robust graphical user interface, which VBScript normally lacks.

The key to it all is the special HTA tag which is embedded at the start of an HTA file:

<HTA:APPLICATION
  Applicationname = "MyApplication"
  Scroll="no"
>

Most scripters will use a simple HTA that meets the minimum requirements; get more complicated, though, and you can gain some real control over what your HTAs look like and how they perform.

Want More Scripting?

For more scripting help, check out Don's work at http://www.scriptinganswers.com. Plus, don't forget "Mr. Script" columnist Chris Brooke over at http://redmondmag.com/columns/mcsescripting/.

And, let us know how you like Don's new column by e-mailing us at [email protected] with "Scripting Answers column" on the subject line of your message and I'll send 3 lucky winners from all respondents a nifty MCPmag.com baseball cap. Contest ends December 16; winners will be announced in December 20th column.

This simple tag uses two attributes: One to define the application's name, and another to turn off the Internet Explorer scroll bars (since most Windows applications don't have them, this leads to a more professional look). But there are bunches more attributes you can add:

  • Border: Set to thick, dialog, none or thin to define the window border style.
  • Caption: Set to no to turn off the title bar and title bar buttons; use yes to keep them.
  • Contextmenu: Set to no to suppress the normal IE right-click menus.
  • Icon: Provide a path to an ICO file to specify a custom system menu icon.
  • Innerborder: Set to yes to display a 3D inner border, or no to do without.
  • Maximizebutton: Control the appearance of this button by setting to yes or no.
  • Minimizebutton: Set to no to hide the button (and remove the capability to minimize the window); set to yes to show it.
  • Navigable: Set to yes to allow any hyperlinks to open in the same window; set to no and hyperlinks will pop open a new IE window for browsing, just like a "real" application.
  • Scrollflat: If scroll bars are shown (set with the Scroll attribute), set this to yes to make them appear flat or no to show the 3-D effect.
  • Selection: Set to no to prevent text selection within the HTA window; yes allows it.
  • Showintaskbar: Set to yes to emulate "real" application behavior and show a task bar button; set to no to emulate dialog box behavior and hide the task bar button.
  • Singleinstance: Want to ensure only one copy of your application runs at a time? Set this to yes; set to no to allow multiple copies.
  • Sysmenu: Set to no to hide the title bar system menu; set to yes to show it.
  • Windowstate: Set to minimize, normal, or maximize to control the initial window appearance.

Use these attributes to define an HTA that looks like a system dialog box, an application, or whatever you like. Suddenly your scripts will look a lot more professional!

About the Author

Don Jones is a multiple-year recipient of Microsoft’s MVP Award, and is Curriculum Director for IT Pro Content for video training company Pluralsight. Don is also a co-founder and President of PowerShell.org, a community dedicated to Microsoft’s Windows PowerShell technology. Don has more than two decades of experience in the IT industry, and specializes in the Microsoft business technology platform. He’s the author of more than 50 technology books, an accomplished IT journalist, and a sought-after speaker and instructor at conferences worldwide. Reach Don on Twitter at @concentratedDon, or on Facebook at Facebook.com/ConcentratedDon.

comments powered by Disqus
Most   Popular