HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Új elem hozzáadása a Dokumentumok-listához; Állományhoz kapcsolódó alkalmazás keresése


Példaprogram letöltése

9346 bájt

Cikkünkben két, fájlokkal kapcsolatos API metódust mutatunk be a Shell metódusok csoportjából, melyek használata egyszerű, de annál hasznosabb lehet bizonyos esetekben. A cikk első szakaszában megismerhetjük, hogyan határozható meg egy állományhoz tartozó futtaható alkalmazás neve. A cikk második szakaszában kiderítjük, hogyan helyezhetünk el új állományokat a Dokumentumok-listában, illetve szükség esetén hogyan tudjuk őket törölni onnan.

A mellékelt példában a Form TabControl-jának két füle alatt hívhatjuk meg az API metódusokat, melyek deklarációi a Win32 osztályban találhatók.
Futtatható alkalmazás keresése
Az első fül alatt meg kell adnunk a szövegmezőben egy elérési útvonalat, és megnyomnunk a műveletgombot. Ekkor megkaphatjuk az állományhoz kapcsolódó futtatható alkalmazás nevét.
A műveletet a FindExecutable metódussal végezhetjük el. A metódus deklarációja a következő:
FindExecutable
int FindExecutable(
string lpFile, stringlpDirectory, StringBuilderlpResult
);
Visszaadja a futtatható állománynevet egy karakterláncban.
Paraméterek
string lpFile
Az állomány neve.
stringlpDirectory
Az állomány könyvtárának neve. Amennyiben az első paraméterben teljes elkérési útvonalat adtunk meg, akkor ezt NULL értékre választhatjuk.
StringBuilderlpResult
Az alkalmazás elérési útvonalát tartalmazó karakterlánc.
Visszatérési érték
Az eredménytől függően háromféle értéket vehet fel:
  • SE_ERR_FNF: A fájl nem található.
  • SE_ERR_NOASSOC: Nincs kapcsolható alkalmazás.
  • SE_ERR_OOM: Nincs elegendő erőforrás. Ez csak Windows XP esetén használható.
A metódus hívásához létre kell hoznunk egy StringBuilder objektumot, majd ezt megadnunk a metódus harmadik paraméterében.
StringBuilder sb = new StringBuilder(260);
int i = Win32.FindExecutable(textBox1.Text,null,sb);
Az eredményt a szövegmezőben jelenítjük meg, ha ez a szám nagyobb, mint 32.
textBox2.Text = sb.ToString();
Ellenkező esetben a fenti visszatérési értékek valamelyikéhez tartozó üzenetet helyezzük el ugyanitt.
Állomány hozzáadása a Dokumentumok listához
A Form második füle alatt kipróbálhatjuk, hogy hogyan lehet a Windows Start menüjében található Dokumentum menühöz programból új, tetszőleges elemet hozzáadni.
Ehhez a SHAddToRecentDocs metódus következő deklarációját használjuk fel.
[DllImport("shell32.dll")]
public static extern void SHAddToRecentDocs(UInt32 uFlags, [MarshalAs(UnmanagedType.LPWStr)] string pv);
Az első paraméterben jeleznünk kell, hogy a második paraméter egy karakter-konstans, vagy egy mutató. A SHARD_PATH érték esetén a második paraméter egy karakterlánc, amely a fájl elérési útvonalát tartalmazza, míg a SHARD_PIDL érték esetén az egy mutató.
Az állomány hozzáadásakor az első megoldást választjuk, vagyis egy karakterláncot adunk meg.
public static void AddToList(String path)
{
      SHAddToRecentDocs((uint)ShellAddRecentDocs.SHARD_PATHW,path);  
}
A törléskor viszont egy mutatót adunk meg a második paraméterben.
public static void ClearList()
{
      SHAddToRecentDocs((uint)ShellAddRecentDocs.SHARD_PIDL,IntPtr.Zero);
}

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 766. 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 |