HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Értesítése minden alkalmazásnak a regisztrációs adatbázis változásáról


Példaprogram letöltése

8802 bájt

Amikor a Registry-ben, vagy bármely rendszerhez tartozó INI fájlban módosításokat végzünk, akkor jól tesszük, ha erről értesítjük az összes futó alkalmazást. Ebben a cikkben arra is látunk példát, hogy hogyan tudjuk saját alkalmazásunkban az ilyen üzeneteket fogadni.
A cikkhez két példaprogram is tartozik. Az első (Project1) egy új bejegyzést helyez el a Registry-ben, majd küld egy üzenetet az összes futó alkalmazásnak. A második program ezt az üzenetet figyeli, és ha sikerült azonosítani a küldőt, akkor kiolvassa a Registry-ben elhelyezett adatot.

Az első programban tehát a Button1 OnClick eseményénél beírjuk az aktuális időpontot a Registry egy meghatározott címére, majd küldünk egy üzenetet. Az üzenetküldés a következőképpen történik:
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LongInt(PChar('AnimareSoftware')));
A SendMessage függvény első paramétere egy konstans, amely jelen esetben HWND_BROADCAST. Ezzel adjuk meg, hogy az üzenetet az összes futó alkalmazáshoz el szeretnénk juttatni. A következő paraméter szintén egy konstans, ami az üzenet típusát adja meg, ez jelen esetben WM_SETTINGCHANGE. Régebbi rendszerekkel való kompatibilitás miatt használhatjuk a WM_WININICHANGE konstanst is (Windows NT 3.1). Az üzenet harmadik paramétere annak a rendszer tulajdonságnak az azonosítója, amit megváltoztattunk (A SystemParametersInfo függvénynél használt konstansok). Mivel mi nem rendszerbeállítást változtattunk meg, ezért 0-t adunk meg. Az utolsó paraméter általában egy sztring, ami a módosított címet tartalmazza. Például ha a Registry-ben lett módosítva egy adat, akkor a Registry címet. A legtöbb program ezt a paramétert nem használja. Mi most egy egyedi sztringet adunk meg, amivel a második példaprogram azonosítani tudja az üzenetet.

Ahhoz, hogy az üzenetet fogadni tudjuk a WM_SETTINGCHANGE eseményhez kell írnunk egy eseménykezelő eljárást.
procedure WMSettingChange(var Msg: TWMSettingChange); message WM_SETTINGCHANGE;
Az Msg paraméter Section mezőjéből kiolvasható a sztring, amit az üzenet azonosítására használunk. Ha más alkalmazás küldte az üzenetet, akkor ez valószínűleg nil. Ha sikerült azonosítani azt az üzenetet, amit vártunk, akkor kiolvassuk a Registry-ből az eltárolt időpontot. Ha nem a mi programunk küldte az üzenetet, akkor megjelenítjük a megváltoztatott rendszerparaméter azonosító kódját. Ezt a Flag mezőből olvashatjuk ki.

Cikksorozat

#IDKategóriaCikk címeSorozat
1063DelphiInterbase 6 alkalmazása Delphi-ben1. rész
1072DelphiInterbase 6 alkalmazása Delphi-ben2. rész
1084DelphiInterbase 6 alkalmazása Delphi-ben3. rész
1092DelphiTIBTable komponens4. rész
1102DelphiTIBTransaction komponens5. rész
1111DelphiTIBQuery komponens6. rész
1120DelphiTIBStoredProc komponens7. rész
1128DelphiTIBDataSet komponens8. rész
1141DelphiTIBSQL komponens9. rész
1150DelphiTIBSQLMonitor komponens10. rész
1159DelphiTIBUpdateSQL komponens11. rész
1167DelphiIBEvents komponens12. rész
1177DelphiIBDatabaseInfo komponens használata13. rész
1183DelphiTIBConfigService komponens14. rész
1192DelphiTIBSecurityService komponens15. rész
1204DelphiTIBServerProperties komponens16. rész
1213DelphiTIBBackupService komponens17. rész
1222DelphiTIBRestoreService komponens18. rész
1231DelphiTIBValidationService komponens19. rész
1240DelphiTIBStatisticalService komponens20. rész
1249DelphiTIBLogService komponens21. rész
1258DelphiTIBUninstall komponens22. rész
1267DelphiInterBase Express komponenscsomag23. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 460. 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 |