C# - Internet Explorer elérése parancsállományból

Windows Script Host lehetőségei 7. rész

forráskód letöltése
A sorozat korábbi számaiban megismerhettük, hogyan teremthetünk kapcsolatot a fájlrendszer elemivel saját parancsállományunk segítségével. A merevlemez objektumainak eléréséhez egy külső objektumot kellett létrehoznunk, és meghívnunk a metódusait. Cikkünkben most arra mutatunk egy példát, milyen külső objektumot kell ahhoz példányosítanunk, hogy kapcsolatot létesítsünk az Internet Explorer alkalmazásunkkal annak érdekében, hogy egy tetszőleges URL által meghatározott erőforrást elérjünk.
Mellékelt példa megnyitása előtt szükséges egy WebApp nevű virtuális könyvtár létrehozása, mely a példa mappájában található WebApp könyvtárra mutat. Ehhez nyissa meg a WebApp alkönyvtár Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
A mellékelt példa mappája két projektnek ad helyet. A WebApp mappában található ASP.NET alkalmazás tartalmazza azt a WebForm1.aspx lapot, melyet - tesztelendő a parancsállományunkat - a kliensünkből is elérhetünk hálózati kapcsolat nélkül.
A WinClient mappa tartalmazza a Wsh07.wsf nevű parancsállományunkat futtató alkalmazást, melyben megadhatjuk, hogy milyen parancssori argumentumokkal futtassuk a script-et.
A Wsh07.wsf script egyetlen logikai egységet (JOB) tartalmaz, melyben megvalósítottuk a böngésző objektumával való kapcsolatteremtést.
A Form-on elhelyezett kontrolokban meg kell adnunk azt az URL-t, melyet a megnyitandó böngésző ablakában be kívánunk tölteni.
A három CheckBox kontrolban meghatározhatunk néhány paramétert, melyekkel beállítjuk a létrehozandó objektum property-jeit, és amelyek bizonyos futtatási sajátosságot eredményeznek az ablak megnyitásakor. A jelölőnégyzetek megjelölésével, illetve kihagyásával egy-egy lokális változót állíthatunk 0, vagy 1 értékűre, melyeket azt követően parancssori argumentumként adhatunk át a script-nek.
A sorozat korábbi cikkeiben megismert, és használt WScript objektumot fogjuk használni arra, hogy lekérdezzük a parancssori argumentumokat, valamint létrehozzuk az objektum használandó példányát. Lássuk, hogyan is fest a parancsállomány:
<package>
<?job error="false" debug="true"?>
  <job id="browse">
    <script language="JScript">
A klasszikus határoló tagok után lekérdezzük az argumentumokat:
      var args = WScript.Arguments;
Ezt követően létrehozzuk az Internet Explorer egy példányát, mely egy klasszikus COM objektum, néhány metódussal és property-vel:
      var ie = WScript.CreateObject("InternetExplorer.Application");
A jelölőnégyzetekkel beállítjuk a futáskori megjelenést.
A megnyíló ablak láthatóságát, vagyis hogy legyen-e felhasználói felülete, vagy csak procesz-ként fusson a Visible property-vel adhatjuk meg. A Visible property értéke TRUE, vagy FALSE lehet, melyet az első jelölőnégyzettel állíthatunk be:
      try
      {
        ie.Visible = args(0);
Azt, hogy látszódjon-e a böngésző MENU-je, vagy sem, a MenuBar property-jének TRUE, illetve FALSE értékével lehet meghatározni. Erre szolgál a második jelölőnégyzet:
        ie.MenuBar = args(1);
Az ablak eszköztárának láthatóságát pedig a ToolBar property TRUE, vagy FALSE értékével lehet szabályozni. Erre használhatjuk a harmadik jelölőnégyzetet:
        ie.ToolBar = args(2);
A negyedik parancssori argumentum pedig az URL lesz:
        var url = args(3);
Az URL-t átadjuk az objektum Navigate metódusának, mely megnyitja a kért oldalt:
        ie.Navigate(url);
      }
      catch(e)
      {
Hiba esetén üzenetet adunk:
        WScript.Echo("Kevés argumentumot adott meg!");
        WScript.Quit(0);      
      }      
    </script>
  </job>   
</package>
Alapértelmezésben minden property, melyeket állíthatunk TRUE értékű, vagyis nincs letiltva.
Természetesen van lehetőség arra, hogy a megnyíló ablak méreteit beállítsuk (Height, és Width property-k), méretezhető voltát szabályozzuk (Resizable property), megadjuk az ablak pozícióját (Left, és Top propery-k), és a teljes méretben való megjelenést (FullScreen property).

Windows Script Host lehetőségei cikksorozat