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);
}