1 / 32

INI-Dateien und Registry

INI-Dateien und Registry. Arbeiten mit der Registry von Windows NT / Windows 95 in Microsoft Visual FoxPro. Diese Schulung dient der Einführung in das Arbeiten mit INI-Dateien sowie der Registry von Windows NT unter Microsoft Visual FoxPro. Themenübersicht. Aufbau von INI-Dateien

eilis
Télécharger la présentation

INI-Dateien und Registry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INI-Dateien und Registry Arbeiten mit der Registry von Windows NT / Windows 95 in Microsoft Visual FoxPro

  2. Diese Schulung dient der Einführung in das Arbeiten mit INI-Dateien sowie der Registry von Windows NT unter Microsoft Visual FoxPro

  3. Themenübersicht • Aufbau von INI-Dateien • Verarbeiten von INI-Dateien • Bearbeiten der Registry • Bereiche der Registry • Die Bereiche im Einzelnen • Werttypen in der Registry • Dateien der Registry • Beispiele für Registry-Keys • VFP-Funktionen für Registry • Betriebssystem-Funktionen für Registry

  4. Arbeiten mit INI-Dateien Verwendung von INI-Dateien unter Microsoft Visual FoxPro

  5. Aufbau von INI-Dateien • Werden nur noch ungern verwendet • Können an beliebiger Stelle sein • Enthalten versch. [Bereiche] • Darunter einen Schlüssel mit einer Wertzuweisung

  6. Verarbeiten von INI-Dateien • Deklaration DLL in WIN32API: DECLARE INTEGER GetPrivateProfileString in win32api String,String,String, String @, integer,string DECLARE INTEGER WritePrivateProfileString in win32api String,String,String,String @, integer,string • Aufruf der Funktion: =GetPrivateProfileString( <tcSection>, <tcVar>, "", @<tcBuffer>, len(<tcbuffer>), <tcIniFile>) *-- Rückgabe der gültigen neuen Bufferlänge tcBuffer = left( tcBuffer, lnLen )

  7. Registry Struktur der Registry unter Microsoft Windows NT

  8. Bearbeiten der Registry • REGEDIT.EXE • Übersichtliche Darstellung unter NT • REGEDT32.EXE • Darstellung in getrennten Fenstern • Speichern von Bereichen der Registry • Systemfunktionen • Direktes Lesen/Schreiben von Einträgen

  9. Aufbau der Registry

  10. Aufbau und Sinn der Registry • Hierarchische Gliederung von Konfigurationsinformationen • Einheitlicher Zugriff über „Schlüssel“ (Hierarchie) • Definition von „Name“, „Datentyp“ und „Wert“ • Zentrale Speicherung im OS

  11. Bereiche der Registry • HKEY_LOCAL_MACHINE • HKEY_USERS • HKEY_DYN_DATA • HKEY_CLASSES_ROOT • HKEY_CURRENT_USER • HKEY_CURRENT_CONFIG

  12. Verkürzte Einträge • HKEY_CLASSES_ROOT • entspricht HKEY_LOCAL_MACHINE\Software\Classes • HKEY_CURRENT_USER • entspricht HKEY_USERS\ für den aktuellen Anwender • HKEY_CURRENT_CONFIG • entspricht HKEY_LOCAL_MACHINE\Software bzw. \Hardware für aktuelle Konfiguration

  13. Tatsächliche Einträge • HKEY_LOCAL_MACHINE • Komplette Konfiguration für den Arbeitsplatz ohne Benutzerspezifisches • HKEY_USERS • Anwenderspezifische Daten • HKEY_DYN_DATA • Dynamische Daten - kein Bearbeiten oder Lesen möglich!

  14. HKEY_LOCAL_MACHINE (1) • HARDWARE • wird beim Systemstart neu aufgebaut • siehe separate Aufstellung • SAM • Security Account Manager • Zugriff nur über Benutzermanager • SECURITY • ebenfalls kein direkter Zugriff

  15. HKEY_LOCAL_MACHINE (2) • SOFTWARE • Diverse Schlüssel von Microsoft • Schlüssel anderer Hersteller (!) • siehe separate Aufstellung • SYSTEM • Konfiguration Einheitentreiber • Konfiguration Dienste von NT • siehe separate Aufstellung

  16. HKEY_LOCAL_MACHINE\HARDWARE • DESCRIPTION • Beim Start gesammelte Systeminformationen - änderbar aber bei nächstem Start überschrieben... • DEVICEMAP • Verweis auf Registry-Informationen • RESOURCEMAP • Zuordnung Treiber zu IRQ/IO usw.

  17. HKEY_LOCAL_MACHINE\SOFTWARE • CLASSES = HKEY_CLASSES_ROOT • MICROSOFT = Programme/System • PROGRAM GROUPS (alt) • SECURE = Administratoren • WIN 3.1 MIGRATION STATUS • Windows 3.1. Migration Status INI-Files

  18. Hinweis HKEY_CLASSES_ROOT • Erstmal alle System-Endungen • Bei den meisten Einträgen Untereintrag mit Verweis CLSID • CLSID mit Untereintrag mit Verweis auf TYPELIB • TYPLIB enthält Interface-Beschreibung (OLE2-Viewer)

  19. HKEY_LOCAL_MACHINE\SYSTEM • CLONE • Letzte lauffähige Version • CONTROLSETnnn • verschiedene Control-Sets • CURRENTCONTROLSET • aktuelle Konfiguration • SELECT • Current, Default, Failed, LastKnownGood • SETUP

  20. HKEY_LOCAL_MACHINE\SYSTEM\Controlset • CONTROL • Einstellungen für Systemstart • SERVICES • Einheitentreiber und Dienste • Diverse Treiber für nicht vorhandenes... • HARDWARE PROFILES (ggf.) • ENUM (Plug & Play) (ggf.)

  21. Datentypen in der Registry • REG_BINARY Binär/Hexawert • REG_DWORD 32-Bit-Wert Hex • REG_SZ Zeichenkette • REG_EXPAND_SZ Expandiert • z.B. für Verwendung von Platzhaltern • Beispiel: %systemroot% • REG_MULTI_SZ Mehrzeilig

  22. Dateien der Registry • %systemroot%\PROFILES • Defaultuser mit NTUSER.DAT-Vorlage • <User>-Verzeichnis mit NTUSER.DAT • %systemroot%\SYSTEM32\CONFIG • HKEY_LOCAL_MACHINE • Default, SAM, Security, Software, System • *. = Original, *.ALT = Backup, *.LOG = Protokoll, *.SAV = Zusatzinformationen

  23. Beispiele Registry-Schlüssel • Einstellung Sommerzeit: • "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" anwählen • Bei der Position "StandardStart" im dritten Zahlenpaar die 09 durch 0A ersetzen • Einstellung Source-Control: • "HKEY_LOCAL_MACHINE\SOFTWARE\SourceControlProvider\InstalledSCCProvider“ • Einstellungen zu Visual FoxPro

  24. Programmierung Registry Programmierung der Registry mit Microsoft Visual FoxPro

  25. Registry-Funktionen in VFP • =SYS(3056,1) • SET OLEOBJECT ON/OFF • -R-Switch • Registry-Objekt • GetAppPath • GetLatestVersion • GetApplication

  26. Programmierung (1) • WINAPI-Funktionsdeklarationen: DECLARE INTEGER RegOpenKey IN Win32API ; INTEGER hKey, ; && handle of open key STRING @lpszSubKey, ; && address of name of subkey to open INTEGER @phkResult && address of handle of open key DECLARE INTEGER RegCreateKey IN Win32API ; INTEGER hKey, ; && handle of open key STRING @lpszSubKey, ; && address of name of subkey && to create INTEGER @phkResult && address of handle of open key DECLARE INTEGER RegCloseKey IN Win32API ; INTEGER hKey && handle of open key DECLARE INTEGER RegDeleteKey IN Win32API ; INTEGER hKey, ; && handle of open key STRING @lpszSubKey && address of name of &&subkey to delete

  27. Programmierung (2) DECLARE INTEGER RegDeleteValue IN Win32API ; INTEGER nHKey, ; && handle of key STRING cSubKey && address of value name DECLARE INTEGER RegSetValueEx IN Win32API ; INTEGER hKey, ; && handle of key to set value for STRING lpValueName, ; && address of value to set INTEGER Reserved, ; && reserved, set to 0 INTEGER dwType, ; && flag for value type STRING lpData, ; && address of value data INTEGER cbData && size of value data DECLARE INTEGER RegQueryValueEx IN Win32API ; INTEGER hKey, ; && handle of key to query STRING lpszValueName, ; && address of name of value to query INTEGER lpdwReserved, ; && reserved INTEGER @lpdwType, ; && address of buffer for value type STRING @lpbData, ; && address of data buffer INTEGER @lpcbData && address of data buffer size

  28. Beispiel Solution-Samples * Die Library ist im Solution Sample enthalten set library to progs\reg_sol lcProgram= "" lcPfad= "" oReg= create( "FileReg") * GetApplication( cExtnKey,cAppKey, lServer) * GetAppPath( cExtension,cExtnKey,cAppKey,lServer) if oReg.GetAppPath( "DOC",@lcProgram,@lcPfad) # 0 return endif ? lcProgram ? lcPfad

  29. Konstanten für Registry #define HKEY_CLASSES_ROOT -2147483648 #define HKEY_CURRENT_USER -2147483647 #define HKEY_LOCAL_MACHINE -2147483646 #define REG_SZ 1 #define REG_OPTION_RESERVED 0 #define REG_CLASS_DEFAULT "" #define REG_SECURITY_DEFAULT 0 #define REG_OPTION_NON_VOLATILE 0 #define REG_OPTION_VOLATILE 1 #define REG_ALL_ACCESS 63

  30. Welche Fragen stellen sich? • Verwendung der Registry eigentlich zwingend (!) • Anlegen / Lesen von lokalen Registry-Werten • Hierarchie (!)

  31. Vielen Dank! Das waren die Themen: • Aufbau von INI-Dateien • Verarbeiten von INI-Dateien • Bearbeiten der Registry • Bereiche der Registry • Die Bereiche im Einzelnen • Werttypen in der Registry • Dateien der Registry • Beispiele für Registry-Keys • VFP-Funktionen für Registry • Betriebssystem-Funktionen für Registry

  32. Wenn Fragen bestehen: Wizards & Builders Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175

More Related