Alkalmazások műveletei
Previous Topic  Next Topic 

Alkalmazások vezérlése

Run/Futtatás

Cél:

Egy külső Windows alkalmazást futtat, vagy egy DOS parancsot hajt végre.

Kategória:

Alkalmazások

Szintaxis:

Run "parancs" "kapcsolók" "beállítások" "szubrutin" "változó"

parancs

a futtatandó alkalmazás neve és elérési útvonala

kapcsolók

A parancshoz tartozó paraméterek, amit a végrehajtás alatt át akarunk adni az alkalmazásnak (pl. fájlnév, parancskapcsolók stb.).

beállítások


Normal

az alkalmazás futtatása normál állapotban

Wait

Várakozás. Felfüggeszti a NeoBook futtatását amíg az alkalmazás fut.

LoadComplete

Betöltés befejezve. Felfüggeszti a NeoBook futtatását, amíg az alkalazás betöltése nem fejeződött be.


További beállítási lehetőségek:


RunOnce

Egyszer futtatás. Az alkalmazást egyszerre csak egy példányban lehet futtatni.

Minimized

Ikonállapot. Az alkalmazás a háttérben fut, az ikonja megjelenik a tálcán.

Hidden

Rejtve. Az alkalmazás a háttérben fut. Néhány alkalmazás nem engedi, hogy a fő ablaka rejtve maradjon, és figyelmen kívül hagyja ezt a beállíási opciót. Az elrejtés jól működik a legtöbb DOS parancs alkalmazásnál, batch fájloknál, amelyek nem igényelnek interaktivitást a felhasználótól.


You cannot use both the "Ikonállapot" and "Hidden" options at the same Time változó.


A Normal és RunOnce (Normal+RunOnce), a Wait és RunOnce (Wait+RunOnce), valamint a LoadComplete és RunOnce (LoadComplete+RunOnce) kombinálható és ezekhez a Minimized vagy a Hidden hozzáadható, pl. (Normal+ RunOnce+ Hidden), (Normal+ RunOnce+ Minimized).


szubrutin (opcionális)

egy szubrutin neve, amit az alkalmazás bezárásakor fog végrehajtani. Bővebb információt a szubrutinokról a Kiadvány tulajdonságai Műveletek résznél találhatunk.

változó (opcionális)

annak a változónak a neve, amelyben az alkalmazás egyedi azonosítószámát tároljuk. Ezt az azonosítót (AppID) használhatjuk más műveleteknél az alkalmazás azonosításához.

Példa:

A következő példa megnyitja az autoexec.bat fájlt a jegyzettömbben normál állapotú ablakban úgy, hogy azt csak egy példányban lehessen futtatni.


Run "c:\windows\notepad.exe" "c:\autoexec.bat" "Normal+RunOnce" "" "[AppID]"


A kiadvány fordításakor a NeoBook lokalizálja a parancsot, azaz eltávolítja a meghajtó nevét és az elérési útvonalat a fájlnév elől. A fenti példánál a “c:\windows\notepad.exe”-t “notepad.exe”-ra cseréli. Ez a tulajdonság akkor hasznos, amikor más számítógépeken való futtatásra tervezzük a kiadványt, mivel a meghajtók, könyvtárak a kölönböző számítógépeken másképpen lehetnek struktúrálva. Néhány esetben szükség lehet ennek az információnak érintetlenül hagyása. Ezt egyszerűen egy felkiáltójel (!) segítségével érhetjük el, ha ezt a fájl neve elé helyezzük:


Run "!c:\windows\notepad.exe" "c:\autoexec.bat" "Normal+RunOnce" "" "[AppID]"


Szükség lehet egy olyan program futtatására, amelyiket a kiadványunkkal együtt terjesztünk. Ebben az esetben használjuk a [PubDir] globális változót. Ez biztosítja, hogy a kiadványunk képes legyen a futtatandó alkalmazás helyét meghatározni:


Run "![PubDir]My_App.exe" "" "Normal" "" "[AppID]"


Futtatás alatt a NeoBook a [PubDir] változót a lefordított kiadvány elérési útvonalára cseréli fel. A fenti példában a lefordított kiadvány és a “My_App.exe” program ugyanabban a könyvtárban helyezkedik el. Ezt nem befolyásolja, hogy a kiadványt a merevlemezről, CD-ről vagy máshonnan futtatják.

Használhatjuk a [CurrentDir] globális változót, hogy megadjunk egy munkakönyvtárat olyan alkalmazásoknak, amelyek ezt igénylik.


SetVar "[CurrentDir]" "c:\windows"

Run "C:\MyPrograms\MyApp.exe" "" "Normal" "" "[AppID]"


A megadott könyvtárat fogja használni a következő futtatott alkalmazás addig, ameddig nem tiltjuk le. A Run művelet által használt munkakönyvtárat a [CurrentDir] nullára állításával érhetjük el.


SetVar "[CurrentDir]" ""


A [CurrentDir] változót nullára állítva nem változtatjuk meg a rendszer aktuális könyvtárát!


Mielőtt egy más által készített programot terjesztenénk, kérjünk hozzá engedélyt a szerzőtől!


A bedolgozó fejlesztőknek és talán másoknak is hasznosak lehetnek a [AppID.ProcessID], [AppID.ProcessHandle],  [AppID.WinHandle] és [AppID.ExitCode] globális változók.


RunInRectangle/Futtatás négyszögben

Cél:

Egy külső Windows alkalmazást futtat egy Négyszög objektumban. Az alkalmazás ablaka átméretezésre és/vagy levágásra kerül, hogy az beleférjen az adott négyszögbe. Nem minden alkalmazás működik együtt ezzel a paranccsal.

Kategória:

Alkalmazások

Szintaxis:

RunInRectangle "objektum neve" "parancs" "kapcsolók" "beállítások" "szubrutin" "változó"

objektum neve

Egy meglévő négyszög objektum neve

parancs

a futtatandó alkalmazás neve és elérési útvonala

kapcsolók

A parancshoz tartozó paraméterek, amit a végrehajtás alatt át akarunk adni az alkalmazásnak (pl. fájlnév, parancskapcsolók stb.).

beállítások

HideMenu

megpróbálja elrejteni az alkalmazás menüsorát. Nem minden alkalmazásnál sikerül ez.

HideSizeBox

Megpróbálja elrejteni az alkalmazás méretező dobozát, amelyik általában a jobb alsó sarokban található.


Szubrutin (opcionális)

egy szubrutin neve, amit az alkalmazás bezárásakor fog végrehajtani. Bővebb információt a szubrutinokról a Kiadvány tulajdonságai Műveletek résznél az 5. fejezetben találhatunk.

Változó (opcionális)

annak a változónak a neve, amelyben az alkalmazás egyedi azonosítószámát tároljuk. Ezt az azonosítót (AppID) használhatjuk más műveleteknél az alkalmazás azonosításához.

Példa:

A következő példa a Jegyzettömb programot futtatja egy négyszögben:


RunInRectangle "Rectangle1" "notepad.exe" "" "" "" "[AppId]"



A bedolgozó fejlesztőknek és talán másoknak is hasznosak lehetnek a [AppID.ProcessID], [AppID.ProcessHandle],  [AppID.WinHandle] and [AppID.ExitCode] globális változók.


CloseApp/Alkalmazás bezárása

Cél:

Egy futó alkalmazást zár be.

Kategória:

Alkalmazások

Szintaxis:

CloseApp "alkalmazás" "mód"

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

mód

Egyik a következők közül:

RequestClose

Bezárás igénylése: egy üzenet küldése az alkalmazásnak annak bezárását kérve. Az alkalmazás elutasíthatja ezt az igényt.

ForceClose

Bezárás kikényszerítése: az alkalmazás bezárásának kikényszerítése, így annak nincs módja a normális bezárási folyamatot végigvinni, és adatvesztés is felléphet.

Példa:

CloseApp "[AppID]" "RequestClose"


IsAppRunning/Alkalmazás fut-e

Cél:

Egy adott alkalmazást vizsgál meg, hogy az fut-e.

Kategória:

Alkalmazások

Szintaxis:

IsAppRunning "alkalmazás" "változó"

alkalmazás

egy alkalmazás fájlneve vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

változó

a vizsgálat eredményét tároló változó neve. Ha az alkalmazás fut, a változó értéke "True" (igaz), egyéb esetben "False" (hamis).

Példa:

IsAppRunning "notepad.exe" "[Eredmeny]"


SendKeys/Billentyűleütés küldése

Cél:

Egy alkalmazásnak billentyűleütéseket küld. Ezzel a művelettel egy másik alkalmazást szabályozhatunk azzal, hogy billentyűleütéseket szimulálunk. Ha az alkalmazás még nincs megnyitva, a SendKeys először megnyitja azt, mielőtt a billentyűleütéseket elküldené.

Kategória:

Alkalmazások

Szintaxis:

endKeys "alkalmazás" "billenyűleütések"

alkalmazás

Egy futtatható alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

billentyűleütések

az alkalmazásnak küldendő billyentyűleütések. Ezek lehetnek normál betűk és speciális billentyűleütések is:


{Esc}

{F4}

{F9}

{BS} visszatörlés


{Enter}

{Tab} tabulátor

{F5}

{F10}

{Ins} Insert

{Home}

{PgUp}

{F1}

{F6}

{F11}

{Del} Delete

{End}

{PgDn}

{F2}

{F7}

{F12}


{Up} felfelé nyíl


{F3}

{F8}


{Left} balra nyíl

{Down} lefelé nyíl

{Right} jobbra nyíl


Ezenkívül megadhatjuk a Shift, a Clrl és az Alt billentyűk állapotát is:


{ShiftDn}        Shift le;        {ShiftUp}        Shift fel; 

{CtrlDn}        Ctrl le;                {CtrlUp}        Ctrl fel; 

{AltDn}        Alt le;                {AltUp}        Alt fel;


Ezeket a billentyűparancsokat mindig párban kell használni, tehát egy {CtrlDn}-t egy {CtrlUp}-nak kell követnie, különben a billentyűzetünk úgy fog viselkedni, mintha beragadt volna a Ctrl billentyűnk!

Példa:

A következő példa megnyitja a jegyzettömböt, beírja a Jó napot szöveget, majd végrehajt egy nyomtatási parancsot:


SendKeys "notepad.exe" "Jó napot {Enter}{AltDn}FP{AltUp}"


SendMenuCommand/Menüparancs küldése

Cél:

Egy alkalmazásnak menüparancsot küld.

Kategória:

Alkalmazások

Szintaxis:

SendMenuCommand "alkalmazás" "parancsok"

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

parancsok

a végrehajtandó menüparancsok, vesszővel elválasztva. Megadhatjuk szövegként, pl. "File,Open", vagy numerikus indexként, pl. "1,2", ami a menüben elfoglalt helyet mutatja.

Példa:

SendMenuCommand "[AppID]" "File,Open"


DropFile/Fájl dobása

Cél:

Egy fájlnevet ad át egy futó alkalmazásnak, egy húzd-és-dobd eseményt szimulálva.

Kategória:

Alkalmazások

Szintaxis:

DropFile "alkalmazás" "fájlnév"

alkalmazás

egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

fájlnév

egy külső fájl neve, amit az alkalmazásra kell dobni.

Példa:

DropFile "notepad.exe" "[PubDir]minta.txt"


SetWindowPos/Ablak helyének beállítása

Cél:

Egy alkalmazás fő ablakának állítja be a helyét és méretét.

Kategória:

Alkalmazások

Szintaxis:

SetWindowPos "alkalmazás" "x koord." "y koord." "szélesség" "magsság"

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

x koord., y koord.

az ablak bal felső pontjának helyzete. "-1" értéknél a képernyő közepére helyezi

szélesség, magasság

az ablak szélessége, illetve magassága pixelben. "-1" értéket adva megtartja az eredeti méretét

Példa:

SetWindowPos "[AppID]" "100" "100" "350" "450"


GetWindowPos/Ablak helyzete

Cél:

Egy futó alkalmazás fő ablakának méretéről és helyzetéről szolgáltat információt.

Kategória:

Alkalmazások

Szintaxis:

GetWindowPos "alkalmazás" "x vált." "y vált." "széles. vált." "magas. vált."

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

x vált.

az ablak bal szélének koordinátáját tároló változó neve

y vált.

az ablak felső szélének koordinátáját tároló változó neve

széles. vált.

az ablak szélességét tároló változó neve

magas. vált.

az ablak magasságát tároló változó neve

Példa:

GetWindowPos "[AppId]" "[X]" "[Y]" "[W]" "[H]"


BringAppToFront/Alkalmazást előrehozni

Cél:

Egy külső alkalmazás fő ablakát az előtérbe hozza.

Kategória:

Alkalmazások

Szintaxis:

BringAppToFront "alkalmazás"

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle  műveletek térnek vissza

Példa:

BringAppToFront "[AppID]"


SendAppToBack/Alkalmazást hátraküldeni

Cél:

Egy külső alkalmazás fő ablakát a háttérbe küldi.

Kategória:

Alkalmazások

Szintaxis:

SendAppToBack "alkalmazás"

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

Példa:

SendAppToBack "[AppID]"


DisableApp/Alkalmazás letiltása

Cél:

Egy futó alkalmazás fő ablakában letiltja az egeret és a billentyűzet bevitelt.

Kategória:

Alkalmazások

Szintaxis:

DisableApp "alkalmazás"

alkalmazás

Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

Példa:

DisableApp "[AppID]"


EnableApp/Alkalmazás engedélyezése

Cél:

Egy futó alkalmazás fő ablakában ismét engedélyezi a DisableApp művelettel letiltott egér és billentyűzet bevitelt.

Kategória:

Alkalmazások

Szintaxis:

EnableApp "alkalmazás"

Alkalmazás: Egy futó alkalmazás fájlneve, vagy egy alkalmazás ID változó, amivel a Run vagy a RunInRectangle műveletek térnek vissza

Példa:

EnableApp "[AppID]"


RunNeoBook/NeoBook futtatása

Cél:

Egy másik lefordított NeoBook kiadványt futtat. A jelenlegi kiadvány bezárul és az új megnyílik ugyanazon a helyen. A RunNeoBook parancsot több kisebb kiadvány összekapcsolására használhatjuk, így ugyanazt az eredményt érhetjük el, mint egy terjedelmes kiadvánnyal.

Amikor ezt a parancsot használjuk, az első kiadványt le kell fordítanunk vagy egy futtatható exe fájllá vagy egy Futtatható modullá (NBRun5xx.exe programmal). A csoport többi kiadványát fordíthatjuk futtatható modullá vagy web-böngésző bedolgozóvá, hogy helyet takarítsunk meg.

Kategória:

Alkalmazások

Szintaxis:

RunNeoBook "fájlnév" "opciók"

fájlnév

Egy lefordított NeoBook kiadvány neve (*.exe, *.pkg)

opciók

Vagy semmi vagy a következők közül egy

ClearVars

változók törlése. Kitörli az összes változó értékét, mielőtt betöltené a másik kiadványt. Ne használjuk akkor, ha a változókat az újabb kiadványban is használni szeretnénk. Azok a változók, amelyek olyan objektumokhoz tartoznak, amelyek automatikusan inicializálódnak (mint a rádiógomb, a kijelölőnégyzet és a szövegbeviteli mező), alaphelyzetbe kerülnek az új kiadvány betöltésekor, míg a többi változó, amelyekhez nem tartozik automaikus inicializálás, megtartják értéküket, amennyiben nem használjuk a ClearVars opciót.

CloseWindows

ablakok bezárása. Bezárja az összes ablakot, amelyet ImageWindow, TextWindow vagy CustomWindow paranccsal hoztunk létre. Amennyiben nem alkalmazzuk ezt az opciót, az ablakok nyitva maradnak az új kiadvány betöltésekor.


Példa:

RunNeoBook "[PubDir]MasikKiadvanyom.exe" "ClearVars+CloseWindows"


Megjegyzés: Az ablakok több kiadvány közötti megosztásakor olyan állapothoz vezethet, amikor ugyanazzal a névvel több objektumunk van. A NeoBook ezt megakadályozza egy kiadványon belül, de erre nem képes több kiadvány esetében. Ez akkor lehet probléma, ha olyan objektumot aktivizálunk, amelyiknek a művelete egy objektum nevét igényli, mint például a ShowObject. Amikor két objektum ugyanazzal a névvel rendelkezik egyszerre, az egyedi ablak elsőbbséget élvez a kiadvány-alapú objektum fölött. Ebben a helyzetben nem lehetséges a kiadvány-alapú objektum befolyásolása, mivel az ablakos objektum fogja fel a parancsot először. Ez nem fordul elő, ha figyelmesen tervezzük meg a kiadványainkat.

Ez a parancs csak a lefordított kiadványban működik, és nem lehet tesztelni a NeoBook környezetben.


Régi bedolgozók műveletei

ExecuteAddon/Bedolgozó végrehajtása

Cél:

Egy, a NeoBook 3.x-hez készített bedolgozó program meghívása. A szükséges parancs a bedolgozótól függ. Részletesebb utasítást a bedolgozó program leírásánál találhatunk.

Kategória:

Alkalmazások

Szintaxis:

ExecuteAddOn "fájlnév" "parancsok"

fájlnév

A bedolgozó fájlneve az elérési útvonallal

parancsok

A bedolgozónak átadandó parancs. További részletekhez olvassa el a bedolgozóhoz tartozó utasítást!

Példa:

ExecuteAddOn "c:\add-ons\NeoSock.exe" "nsOpen 21"


Megjegyzés: A NeoBook előző verzióihoz készült bedolgozók használhatóak, de azoknak az eszközöknek az újabb bedolgozóival kell helyettesíteni, amelyeknek ilyen van.



Elavult

DOSCommand/DOS parancs

Cél:

Egy külső Windows-os alkalmazást vagy DOS parancsot hajt végre. Ehelyett lehetőleg a Run parancsot használjuk, mert ez már elavult.

Kategória:

Alkalmazások

Szintaxis:

DOSCommand "parancs" "paraméterek" "beállítások"

Leírást a RUN parancsnál találhatunk.

Példa:

DOSCommand "notepad.exe" "c:\test.bat" "Normal"