HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Alapértelmezett levelezési beállításokat lekérdező komponens


Példaprogram letöltése

12513 bájt

Olyan alkalmazásokban, melyek valamilyen formában elektronikus leveleket küldenek a felhasználó nevében, praktikus megoldás lehet, ha az alkalmazás ismeri a felhasználó alapértelmezett levelezési beállításait, megkímélve annak begépelésétől a program használóját. Cikkünkben elkészítünk egy komponenst, mely lekérdezi ezeket a levelezési beállításokat.

A felhasználó által létrehozott elektronikus postafiókok adatai, beállításaiknak információi a Rendszerleíró adatbázis egy meghatározott kulcsában tárolódnak, így más alkalmazások által is hozzáférhetők. A cikkben elkészített komponens is innen olvassa ki őket.
Az információk két részletben tárolódnak. Mivel a rendszer több fiókinformációt tartalmazhat, első lépésben meg kell határoznunk, hogy ezek közül melyik az alapértelmezett. Ezt a Registry következő kulcsa alatt találjuk meg, a „Default Mail Account” bejegyzésben:
HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager
Ennek értékét kiolvasva egy újabb kulcsnevet kapunk, melynek adatai már a fiókinformációkat tartalmazzák.
A kulcs a
Registry HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts
kulcsa alatt található, ahonnan már csak ki kell olvasnunk a szükséges bejegyzéseket.
A komponens DefaultSMTPInfos property-je szolgál arra, hogy ezeket az adatokat egy ArrayList típusban visszaadja.
[Browsable(false)]
public ArrayList DefaultSMTPInfos
{
  get
  {
    return GetSmtpInfos();
  }
}
A property-ben meghívjuk a GetSmtpInfos metódust, mely prezentálja az adatokat.
Elsőként létrehozunk egy objektumot a főkulcs olvasásához.
RegistryKey mainkey = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser,"");
Megnyitjuk az Internet Account Manager nevű kulcsot, hogy az alapértelmezett bejegyzéseket tartalmazó kulcs nevét kiolvassuk.
RegistryKey defaultkey = mainkey.OpenSubKey("Software\\Microsoft\\Internet Account Manager");
string defname = defaultkey.GetValue("Default Mail Account").ToString();
Létrehozunk egy újabb objektumot, mely már a kért bejegyzéseket olvassa sorban, és elhelyezi azokat az ArrayList objektumban.
RegistryKey smtpkey = mainkey.OpenSubKey("Software\\Microsoft\\Internet Account Manager\\Accounts\\" + defname);
info.Add("Bejegyzés neve: " + smtpkey.GetValue("Account Name"));
...
Az alkalmazás indulásakor egy ListView kontrolban megjelenítjük az adatokat.

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