Gördüğünüz gibi bir HTML dokümanından hiçbir farkı olmamasına rağmen, internet tarayıcısında içerisinde açılmak yerine, bir Windows uygulaması olarak çalıştı. Bunu sağlayan dosyanın Windows tarafından tanınan .hta uzantısına sahip olması. HTA?nın kendine özgü özellikleri kullanabilmek için ise tek yapmanız gereken kodun <HEAD></HEAD> bölümleri arasında <HTA:APPLICATION etiketini eklemeniz.
Şimdi de yazmış olduğumuz kodu şu şekilde geliştirelim:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<TITLE>İlk HTA Dokümanı</TITLE>
<HTA:APPLICATION ID="Kimlik"
APPLICATIONNAME="IlkHTA"
border="thick"
caption="yes"
maximizeButton ="yes"
minimizeButton ="yes"
showInTaskBar ="no"
singleInstance ="yes"
sysMenu ="yes"
windowState ="maximize">
</HEAD>
<BODY>
HTA ile programlamaya başladınız bile?
</BODY>
</HTML>
Görünüşte pek bir fark yok değil mi? Aslında son eklediğimiz satırlar ile birkaç önemli farka kavuşmuş oldu. İlk olarak bu kez program tam ekran açıldı. Çalıştırdığınızda görev çubuğunda yer almıyordu. Ve son önemli değişiklik ise sağ tuş ile tıkladığınızda karşınıza bir menü gelmiyor olmasıydı. Tüm bunları (ve biraz daha fazlasını) bu birkaç satır ile sağladık.
Aslında bu ufak gibi görünen detaylar, geliştireceğiniz bir uygulama için çok faydalı olabilir. Şimdi bu özel HTA komutlarının en önemlilerinin neler olduklarına bir göz atalım:
APPLICATION ID
Windows`un Script yorumlayıcısının kontrol edeceği kimlik bilgisi. Scipt?ler Id.applicationName şeklinde diğer özelliklerin kullanılabilmesini sağlarlar.
applicationName
Programınızın adı. Eğer SingleInstance kullanmak istiyorsanız, programın başka bir instance?ın çalışıp çalışmadığını kontrol edebilmesi için bir isim verilmesi şarttır.
border
Program çerçevesinin kalınlık değerini ifade eder. Thick (kalın), thin (ince), dialog(dialog pencesi), none (yok), normal olarak değer alabilir. Border değerinin ?none? olması başlık çubuğunu ve çubuktaki tüm öğeleri, çerçeve ile birlikte ortadan kaldırır. Border ?thin? olduğu zaman pencerenin boyutunu kenarlarından fare yardımı ile değiştirmek mümkün olmaz.
borderStyle
Programın içeriğindeki çerçevelerin stilini ifade eder. sunken(gömülü), raised(çıkıntılı), complex(aynı anda hem gömülü, hem çıkıntılı), static(standart) veya normal şeklinde değer alabilir.
caption
Programın başlık çubuğunu görüntülenip görüntülenmeyeceğine dair bir Boolean değer alır.
commandLine
Varsayılan bir değer taşımayan bu özellik, script ile kullanıldığında, .hta dosyasının çağırıldığı yolu taşıyan bir string döndür. alert("commandLine = " + Id.commandLine) şeklinde kullanılabilir.
contextMenu
Sağ tuş ile tıklandığında ortaya çıkan menünün gösterilip gösterilmeyeceğine dair Boolen bir değer atanabilir.
icon
Programınızın sol üst köşesinde görünecek olan 32x32 piksel büyüklüğünde .ico uzantılı simgeyi tanımlamak için string türünden bir yol bilgisi atanabilir.
maximizeButton
Başlık çubuğunda büyütme simgesinin görüntülenmemesi için ?no? demelisiniz.
minimizeButton
Başlık çubuğundan programın küçültme imkanı vermek istemiyorsanız ?no? değeri vermelisiniz.
navigatable
Çalıştırılan ilk HTA dosyasının içerisinden, farklı HTML dosyalara verilen bağlantıların aynı pencere içerisinde kullanılıp, kullanılmayacağına dair string bir değer atanır. Eğer değer ?no? ise, bağlatı yeni bir tarayıcı içerisinde açılır. ?yes? ise HTA penceresi içerisinde görüntülenir.
scroll
Kaydırma çubuklarının kullanılıp kullanılmayacağını ifade eder. ?yes?, ?no? veya ?auto? olarak değer alabilir.
scrollFlat
Kaydırma çubuğunun üç boyutlu mu yoksa düz bir görüntüye mi sahip olacağını ifade eder.
selection
Fare veya klavye yardımıyla içeriğin seçili hale getirilip getirilemeyeceğini ifade eder. Varsayılan değeri ?yes?, yani seçime izin verme yönündedir.
showInTaskBar
Programın görev çubuğunda görünmesini istemiyorsanız ?no? yazmalısınız. Fakat bu durumda yine de ALT + TAB ile uygulamaya ulaşılabilir.
singleInstance
Bir kez çalıştırıldıktan sonra, yeniden farklı bir pencerede bir kez daha açılmasını istemiyorsanız buna da ?no? demelisiniz.
sysMenu
Programın başlık çubuğundaki, küçültme, büyütme ve kapatma simgelerini ortadan kaldırmak istiyorsanız ?no? yazmalısınız.
version
Hazırladığınız programın versiyon bilgisini taşımak için string bir değer atanabilir.
windowState
Program çalıştırıldığında açılacak olan pencerenin boyutunu belirler. Tam ekran açılması için ?maximize?, görev çubuğunda simge olarak açılması için ?minimize?, Internet Explorer?ın varsayılan büyüklüğünde açılması için ise ?normal? değeri atanabilir.
Bu özellikler ağırlıklı olarak, HTA?nın çalıştığı Windows penceresini kullanımına yönelik. Diğer yandan HTML ile yapılabilecekleri zaten biliyoruz. HTA?nın, HTML?den en büyük farkının script?leri kullanmak olduğunu söylemiştik. Dolayısıyla bu aşamadan sonra sıra scriptlerinizi eklemeye geldi.
Aynı HTML?de olduğu gibi bu da oldukça basit bir işlem. Tek yapmanız gereken <script></script> etiketleri içine kodunuzu yazmak. İşte VBScipt ile hazırlanmış ufak bir örnek. Bu örnek yardımıyla bilgisayarınızda çalışan işletim sistemi sayfaya yazdıracağız.
Aşağıdaki kodu çalıştırdığınızda karşınıza gelen görüntü şu şekilde olacak:
<head>
<title>HTA ile İşletim Sistemi Bilgisi Almak</title>
<HTA:APPLICATION
APPLICATIONNAME="IsletimSistemBilgisi"
SCROLL="yes"
SINGLEINSTANCE="yes"
>
</head>
<script language="VBScript">
Sub IsletimSisteminiOgren
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
DataArea.InnerHTML = objOperatingSystem.Caption & " " & _
objOperatingSystem.Version
Next
End Sub
</script>
<body>
<input type="button" value="İşletim Sistemi" name="run_button" onClick="IsletimSisteminiOgren">
<p>
<span id = "DataArea"></span>
</body>
Bu, HTA?yı kullanarak yapabileceklerinize dair basit bir örnek. İhtiyaçlarınız doğrultusunda bundan çok daha fazlasını yapmak mümkün. Fakat ne yazık ki HTA geliştirmek ile ilgili kaynak bulmak pek kolay değil. Eğer HTA?nızda script?leri nasıl kullanabileceğinize dair daha fazla yardıma ihtiyacınız varsa, oldukça faydalı örnek kodlar içeren HTA Helpomatic adlı aracı şu adresten temin edebilirsiniz:
http://www.microsoft.com/downloads/details.aspx?FamilyId=231D8143-F21B-4707-B583-AE7B9152E6D9&displaylang=en