Knihovny a unitky pro Delphi
Zjištění systémových informaí v1.1
Tento malý prográmek ukazuje, jak získat některé systémové informace (velikost volné paměti, verze systému...).
Zdroják je samozřejmě přiložen. Tento zdroják také ukazuje, jak uložit formulář do DLL knihovny.
Zdroják není okomentovaný, ale myslím, že jej každý snadno pochopí
Víte, co vše se spouští při startu vašeho PC?
Ne? Tak tento program (whatsrun) vám to "poví!" Program zjistí všechny programy, jež se spouští po startu Windows nebo
při přihlášení určitého uživatele. Informace zjišťuje z registrů Windows. Zdrojový kód je také přiložen, ale zase
není okomentován, protože je: a) krátký b) podle mne snadno pochopitelný. Zdroják opět ukazuje, jak vložit
formulář do DLL knihovny. Program možná nebude úplně dobře fungovat na WinXP.
SharedMemoryManagement
Potřebovali byste sdílet data mezi několika procesy a nevíte, jak na to jít? V tom by mohla
pomoci unita SharedMemoryManagement. Obsahuje runity, které zajiští alokace, realokaci a uvlonění
paměti sdílené mezi všemi procesy běžícíme ve Windows. Knihovna bude fungovat asi jen pod Win9x.
Jsou v ní použiti nedokumentované API funkce, takže nepřebírám žádnou zodpovědnost.
OSVersion
Tato jednotka obsahuje diagnostické funkce pro určení verze Windows (95/98/ME/NT3/NT4/200/XP).
Odchycení Ctrl+Alt+Del (Jen Windows XP)
Tady je malý prográmek, který je schopný zachytit stisk Ctrl+Alt+Del a zablokovat ho.
To způsobí, že se nevyvolá TaskManager. Program používá dll-injection a subclassing (nahrazení
procedury okna). Zdrojové kódy jsou přiloženy a i trochu okomentovány. Drobnou úpravou ve
zdrojácích lze samozřejmě program vylepšit - může logovat zprávy, které se šíří jen systémovými
procesy atp.
Některé nedokumentované funkce pro Windows 95/98
Tato unita umožňuje využít několika nedokumentovaných funkcí Winodws 95/98. Funkce lze
použít např. k DLL injection nebo k získání handlu vlákna z jeho TID. Knohovna obsahuje i funkce
pro práci s pamětí sdílenou mezi všemi procesy. Knohovna konkrétně obsahuje ekvivalenty těchto
API běžných na Windows NT/XP:
- VirtualAllocEx
- VirtualFreeEx
- CreateRemoteThread
- OpenThread
Jelikož využívá nedokumentovaných postupů, neručím za jakékoli poškození, jež tato unita způsobí
vašemu počítači.
DoublyLinkedLists
Velmi jednoduchá unitka pro práci s obousměrnými spojovými seznamy s hlavou. V jednotce je deklarován
datový typ LIST_ENTRY, což jsou vlasně dva pointery (na předchozí a následující uzel seznamu). LIST_ENTRY
neobsahuje žádnou položku na data, protože je určen k včlenění do již existujících záznamů, čímž je udělá
schopnými zapojit se do spojového seznamu. Takovým to způsobem to funguje např. v jádře Windows. Jelikož se
mi tato myšlenka velmi líbí, rozhodl jsem se napsat tuto unitku (ale byly i jiné důvody).
|