HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Gyors fájlmegnyitás


Példaprogram letöltése

3919 bájt

Készítünk egy példaprogramot, amely elindítása után a háttérben fut, és nem jelenik meg a tálcán sem. Mindössze egy kis ikon jelzi az óra mellett, hogy az alkalmazás fut. A program segítségével a CTRL+SHIFT+F1-F11 gombokhoz különböző fájlokat rendelhetünk. A megfelelő billentyűkombináció megnyomásakor a program elindítja a megadott állományt.

A mellékelt példaprogram megnyitása előtt, a files.ini állományban állítsa be a megnyitandó állományok neveit és elérési útjait. A program csak olyan állományokat képes megnyitni, amelyet a Windows ismer.
A uses listában fel kell sorolnunk a ShellAPI, IniFiles unitok neveit. Ezekre a későbbiekben szükségünk lesz.
Ahhoz, hogy a CTRL+SHIFT+F1-F11 billentyűkombinációkat ismerje a Windows, a Form OnCreate eseményében regisztrálnunk kell ezeket a kombinációkat.
for i:=112 to 123 do
  RegisterHotKey(Handle,i,MOD_CONTROL+MOD_SHIFT,i);
Az egyes kombinációkat megadhatjuk egyesével is, de mivel az F1-F12 gombok kódjai egymás után helyezkednek el, és az F1 kódja 112, egy for ciklus segítségével regisztrálhatjuk a rendszerben a billentyűkombinációkat.
A RegisterHotKey első paramétere a Form azonosítója. A második paraméterben egy számot kell megadnunk, amely a továbbiakban a billentyűkombinációt azonosítani fogja. A harmadik paraméterben kell megadnunk a használandó módosító billentyűket (CTRL és SHIFT). Végül a negyedik paraméterbe kerül a billentyű kódja.
Az F1-F11 billentyűkhöz állományokat rendelünk, az F12 billentyű lenyomásakor kilépünk a programból.
A regisztrált billentyűkombinációkat a Form OnDestroy metódusában szüntetjük meg, az UnRegisterHotKey, API függvénnyel.
for i:=112 to 123 do
  UnRegisterHotKey(Form1.Handle,i);
A Form OnCreate eseményében kell gondoskodnunk arról, hogy alkalmazásuk ne a tálcán jelenjen meg, hanem csak egy jelzőikonja legyen az óra mellett.
Az óra mellé a Shell_NotifyIcon függvény segítségével helyezhetünk el és törölhetünk egy saját ikont.
Shell_NotifyIcon(NIM_ADD,@FIconData);
A fenti függvényhívás egy ikon létrehozására szolgál. Ha az első paraméterben NIM_DELETE-et adunk meg, akkor a függvény törli az ikont.
Azt hogy az ikon ilyen képpel és tulajdonságokkal jelenjen meg, a második paraméterben adhatjuk meg, egy TNotifyIconData típusú változó segítségével.
Gondoskodnunk kell arról is, hogy alkalmazásunk ikonja ne jelenjen meg a tálcán, ezt az alábbi függvényhívás segítségével érhetjük el.
SetWindowLong(Application.Handle, GWL_EXSTYLE,GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
Azt, hogy melyik billentyűhöz milyen állomány tartozzon, a files.ini fájlban állíthatjuk be, a fájlban szereplő kulcsok segítségével.
F1=c:\proba.txt
F2=''
Az ini állomány tartalmát a Form OnCreate eseményében olvassuk be, az FFiles tömbbe. A tömb 11 sztring elemet tárol, a 11 gombnak megfelelően.
Hogy alkalmazásunk megkapja a HotKey lenyomásakor keletkező üzenetet az operációs rendszertől, létre kell hoznunk a következő függvényt.
procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
A függvény belsejében kell megírnunk azokat az eseményeket, amelyeknek forróbillentyűink lenyomásakor kell futni.
A függvény akkor kerül meghívásra, amikor egy regisztrált HotKey lenyomásra kerül. A lenyomott kombináció értékét az alábbi módon kérdezhetjük le.
if Msg.HotKey in [112..122] then begin
A fenti vizsgálatnál azokat a kódokat kérdezzük le, amelyeket mi rendeltünk hozzá az egyes kombinációkhoz.
Az adott állomány megnyitásához a ShellExecute függvényt használjuk.
if Msg.HotKey in [112..122] then 
  ShellExecute(0,'open',PChar('"'+FFiles[Msg.Hotkey-111]+'"'),'','',SW_SHOW);

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 257. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |