ini-dateien und registry

32
Wizards & Wizards & Builders Builders GmbH GmbH INI-Dateien und Registry INI-Dateien und Registry Arbeiten mit der Registry von Arbeiten mit der Registry von Windows NT / Windows 95 in Windows NT / Windows 95 in Microsoft Visual FoxPro Microsoft Visual FoxPro

Upload: eilis

Post on 02-Feb-2016

42 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

INI-Dateien und RegistryINI-Dateien und Registry

Arbeiten mit der Registry von Arbeiten mit der Registry von Windows NT / Windows 95 inWindows NT / Windows 95 in

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 2: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Diese Schulung dient der Einführung in das Arbeiten mit INI-

Dateien sowie der Registry von Windows NT unter

Microsoft Visual FoxPro

Page 3: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

ThemenübersichtThemenübersicht

Aufbau von INI-DateienAufbau von INI-Dateien Verarbeiten von INI-DateienVerarbeiten von INI-Dateien Bearbeiten der RegistryBearbeiten der Registry Bereiche der RegistryBereiche der Registry Die Bereiche im EinzelnenDie Bereiche im Einzelnen Werttypen in der RegistryWerttypen in der Registry Dateien der RegistryDateien der Registry Beispiele für Registry-KeysBeispiele für Registry-Keys VFP-Funktionen für RegistryVFP-Funktionen für Registry Betriebssystem-Funktionen für RegistryBetriebssystem-Funktionen für Registry

Page 4: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit INI-DateienArbeiten mit INI-Dateien

Verwendung von INI-Verwendung von INI-Dateien unter Dateien unter

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 5: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Aufbau von INI-DateienAufbau von INI-Dateien

Werden nur noch ungern Werden nur noch ungern verwendetverwendet

Können an beliebiger Stelle Können an beliebiger Stelle seinsein

Enthalten versch. [Bereiche]Enthalten versch. [Bereiche] Darunter einen Schlüssel mit Darunter einen Schlüssel mit

einer Wertzuweisungeiner Wertzuweisung

Page 6: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Verarbeiten von INI-Verarbeiten von INI-DateienDateien

Deklaration DLL in WIN32API:Deklaration DLL in WIN32API:DECLARE INTEGER GetPrivateProfileString in win32api DECLARE INTEGER GetPrivateProfileString in win32api

String,String,String, String @, integer,stringString,String,String, String @, integer,string

DECLARE INTEGER WritePrivateProfileString in win32api DECLARE INTEGER WritePrivateProfileString in win32api String,String,String,String @, integer,stringString,String,String,String @, integer,string

Aufruf der Funktion:Aufruf der Funktion:=GetPrivateProfileString( <tcSection>, <tcVar>, =GetPrivateProfileString( <tcSection>, <tcVar>,

"", @<tcBuffer>, len(<tcbuffer>), <tcIniFile>)"", @<tcBuffer>, len(<tcbuffer>), <tcIniFile>)

*-- Rückgabe der gültigen neuen Bufferlänge*-- Rückgabe der gültigen neuen Bufferlänge

tcBuffer = left( tcBuffer, lnLen )tcBuffer = left( tcBuffer, lnLen )

Page 7: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

RegistryRegistry

Struktur der Registry Struktur der Registry unter Microsoft Windows unter Microsoft Windows

NTNT

Page 8: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Bearbeiten der RegistryBearbeiten der Registry

REGEDIT.EXEREGEDIT.EXE Übersichtliche Darstellung unter NTÜbersichtliche Darstellung unter NT

REGEDT32.EXEREGEDT32.EXE Darstellung in getrennten FensternDarstellung in getrennten Fenstern Speichern von Bereichen der RegistrySpeichern von Bereichen der Registry

SystemfunktionenSystemfunktionen Direktes Lesen/Schreiben von Direktes Lesen/Schreiben von

EinträgenEinträgen

Page 9: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Aufbau der RegistryAufbau der Registry

Page 10: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Aufbau und Sinn der Aufbau und Sinn der RegistryRegistry

Hierarchische Gliederung von Hierarchische Gliederung von KonfigurationsinformationenKonfigurationsinformationen

Einheitlicher Zugriff über Einheitlicher Zugriff über „Schlüssel“ (Hierarchie)„Schlüssel“ (Hierarchie)

Definition von „Name“, Definition von „Name“, „Datentyp“ und „Wert“„Datentyp“ und „Wert“

Zentrale Speicherung im OSZentrale Speicherung im OS

Page 11: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Bereiche der RegistryBereiche der Registry

HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE HKEY_USERSHKEY_USERS HKEY_DYN_DATAHKEY_DYN_DATA

HKEY_CLASSES_ROOTHKEY_CLASSES_ROOT HKEY_CURRENT_USERHKEY_CURRENT_USER HKEY_CURRENT_CONFIGHKEY_CURRENT_CONFIG

Page 12: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Verkürzte EinträgeVerkürzte Einträge

HKEY_CLASSES_ROOTHKEY_CLASSES_ROOT entspricht HKEY_LOCAL_MACHINE\entspricht HKEY_LOCAL_MACHINE\

Software\ClassesSoftware\Classes

HKEY_CURRENT_USERHKEY_CURRENT_USER entspricht HKEY_USERS\ für den aktuellen entspricht HKEY_USERS\ für den aktuellen

AnwenderAnwender

HKEY_CURRENT_CONFIGHKEY_CURRENT_CONFIG entspricht HKEY_LOCAL_MACHINE\entspricht HKEY_LOCAL_MACHINE\

Software bzw. \Hardware für aktuelle Software bzw. \Hardware für aktuelle KonfigurationKonfiguration

Page 13: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Tatsächliche EinträgeTatsächliche Einträge

HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE Komplette Konfiguration für den Komplette Konfiguration für den

Arbeitsplatz ohne BenutzerspezifischesArbeitsplatz ohne Benutzerspezifisches

HKEY_USERSHKEY_USERS Anwenderspezifische DatenAnwenderspezifische Daten

HKEY_DYN_DATAHKEY_DYN_DATA Dynamische Daten - kein Bearbeiten Dynamische Daten - kein Bearbeiten

oder Lesen möglich!oder Lesen möglich!

Page 14: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

HKEY_LOCAL_MACHINE (1)HKEY_LOCAL_MACHINE (1)

HARDWAREHARDWARE wird beim Systemstart neu aufgebautwird beim Systemstart neu aufgebaut siehe separate Aufstellungsiehe separate Aufstellung

SAMSAM Security Account ManagerSecurity Account Manager Zugriff nur über BenutzermanagerZugriff nur über Benutzermanager

SECURITYSECURITY ebenfalls kein direkter Zugriffebenfalls kein direkter Zugriff

Page 15: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

HKEY_LOCAL_MACHINE (2)HKEY_LOCAL_MACHINE (2)

SOFTWARESOFTWARE Diverse Schlüssel von MicrosoftDiverse Schlüssel von Microsoft Schlüssel anderer Hersteller (!)Schlüssel anderer Hersteller (!) siehe separate Aufstellungsiehe separate Aufstellung

SYSTEMSYSTEM Konfiguration EinheitentreiberKonfiguration Einheitentreiber Konfiguration Dienste von NTKonfiguration Dienste von NT siehe separate Aufstellungsiehe separate Aufstellung

Page 16: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

HKEY_LOCAL_MACHINE\HKEY_LOCAL_MACHINE\HARDWAREHARDWARE

DESCRIPTIONDESCRIPTION Beim Start gesammelte Beim Start gesammelte

Systeminformationen - änderbar aber Systeminformationen - änderbar aber bei nächstem Start überschrieben...bei nächstem Start überschrieben...

DEVICEMAPDEVICEMAP Verweis auf Registry-InformationenVerweis auf Registry-Informationen

RESOURCEMAPRESOURCEMAP Zuordnung Treiber zu IRQ/IO usw.Zuordnung Treiber zu IRQ/IO usw.

Page 17: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

HKEY_LOCAL_MACHINE\HKEY_LOCAL_MACHINE\SOFTWARESOFTWARE

CLASSES CLASSES = HKEY_CLASSES_ROOT= HKEY_CLASSES_ROOT MICROSOFT MICROSOFT = =

Programme/SystemProgramme/System PROGRAM GROUPS (alt)PROGRAM GROUPS (alt) SECURE SECURE = Administratoren= Administratoren WIN 3.1 MIGRATION STATUSWIN 3.1 MIGRATION STATUS

Windows 3.1. Migration Status INI-Windows 3.1. Migration Status INI-FilesFiles

Page 18: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Hinweis Hinweis HKEY_CLASSES_ROOTHKEY_CLASSES_ROOT

Erstmal alle System-EndungenErstmal alle System-Endungen Bei den meisten Einträgen Bei den meisten Einträgen

Untereintrag mit Verweis CLSIDUntereintrag mit Verweis CLSID CLSID mit Untereintrag mit CLSID mit Untereintrag mit

Verweis auf TYPELIBVerweis auf TYPELIB TYPLIB enthält Interface-TYPLIB enthält Interface-

Beschreibung (OLE2-Viewer)Beschreibung (OLE2-Viewer)

Page 19: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

HKEY_LOCAL_MACHINE\SYSTEMHKEY_LOCAL_MACHINE\SYSTEM

CLONECLONE Letzte lauffähige VersionLetzte lauffähige Version

CONTROLSETnnnCONTROLSETnnn verschiedene Control-Setsverschiedene Control-Sets

CURRENTCONTROLSETCURRENTCONTROLSET aktuelle Konfigurationaktuelle Konfiguration

SELECTSELECT Current, Default, Failed, LastKnownGoodCurrent, Default, Failed, LastKnownGood

SETUPSETUP

Page 20: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

HKEY_LOCAL_MACHINE\SYSTEM\ControlsetHKEY_LOCAL_MACHINE\SYSTEM\Controlset

CONTROLCONTROL Einstellungen für SystemstartEinstellungen für Systemstart

SERVICESSERVICES Einheitentreiber und DiensteEinheitentreiber und Dienste Diverse Treiber für nicht Diverse Treiber für nicht

vorhandenes...vorhandenes...

HARDWARE PROFILES (ggf.)HARDWARE PROFILES (ggf.) ENUM (Plug & Play) (ggf.)ENUM (Plug & Play) (ggf.)

Page 21: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Datentypen in der Datentypen in der RegistryRegistry

REG_BINARYREG_BINARY Binär/HexawertBinär/Hexawert REG_DWORDREG_DWORD 32-Bit-Wert Hex32-Bit-Wert Hex REG_SZREG_SZ ZeichenketteZeichenkette REG_EXPAND_SZREG_EXPAND_SZ ExpandiertExpandiert

z.B. für Verwendung von Platzhalternz.B. für Verwendung von Platzhaltern Beispiel: %systemroot%Beispiel: %systemroot%

REG_MULTI_SZREG_MULTI_SZ MehrzeiligMehrzeilig

Page 22: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Dateien der RegistryDateien der Registry

%systemroot%\PROFILES%systemroot%\PROFILES Defaultuser mit NTUSER.DAT-VorlageDefaultuser mit NTUSER.DAT-Vorlage <User>-Verzeichnis mit NTUSER.DAT<User>-Verzeichnis mit NTUSER.DAT

%systemroot%\SYSTEM32\CONFIG%systemroot%\SYSTEM32\CONFIG HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE

Default, SAM, Security, Software, SystemDefault, SAM, Security, Software, System

*. = Original, *.ALT = Backup, *.LOG = *. = Original, *.ALT = Backup, *.LOG = Protokoll, *.SAV = Protokoll, *.SAV = ZusatzinformationenZusatzinformationen

Page 23: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Beispiele Registry-SchlüsselBeispiele Registry-Schlüssel

Einstellung Sommerzeit:Einstellung Sommerzeit: "HKEY_LOCAL_MACHINE\System\"HKEY_LOCAL_MACHINE\System\

CurrentControlSet\Control\TimeZoneInformation" CurrentControlSet\Control\TimeZoneInformation" anwählenanwählen

Bei der Position "StandardStart" im dritten Bei der Position "StandardStart" im dritten Zahlenpaar die 09 durch 0A ersetzenZahlenpaar die 09 durch 0A ersetzen

Einstellung Source-Control:Einstellung Source-Control: "HKEY_LOCAL_MACHINE\SOFTWARE\"HKEY_LOCAL_MACHINE\SOFTWARE\

SourceControlProvider\InstalledSCCProvider“SourceControlProvider\InstalledSCCProvider“

Einstellungen zu Visual FoxProEinstellungen zu Visual FoxPro

Page 24: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Programmierung RegistryProgrammierung Registry

Programmierung der Programmierung der Registry mit Registry mit

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 25: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Registry-Funktionen in Registry-Funktionen in VFPVFP

=SYS(3056,1)=SYS(3056,1) SET OLEOBJECT ON/OFFSET OLEOBJECT ON/OFF -R-Switch-R-Switch Registry-ObjektRegistry-Objekt

GetAppPathGetAppPath GetLatestVersionGetLatestVersion GetApplicationGetApplication

Page 26: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Programmierung (1)Programmierung (1)

WINAPI-Funktionsdeklarationen:WINAPI-Funktionsdeklarationen:DECLARE INTEGER RegOpenKey IN Win32API ;DECLARE INTEGER RegOpenKey IN Win32API ;

INTEGER hKey, ;INTEGER hKey, ; && handle of open key&& handle of open keySTRINGSTRING @lpszSubKey, ;@lpszSubKey, ; && address of name of subkey to && address of name of subkey to

open open INTEGERINTEGER @phkResult@phkResult && address of handle of open key && address of handle of open key

DECLARE INTEGER RegCreateKey IN Win32API ;DECLARE INTEGER RegCreateKey IN Win32API ;INTEGER hKey, ;INTEGER hKey, ; && handle of open key&& handle of open keySTRINGSTRING @lpszSubKey, ;@lpszSubKey, ; && address of name of subkey && address of name of subkey

&& to create&& to createINTEGERINTEGER @phkResult@phkResult && address of handle of open key && address of handle of open key

DECLARE INTEGER RegCloseKey IN Win32API ;DECLARE INTEGER RegCloseKey IN Win32API ;INTEGER hKeyINTEGER hKey && handle of open key && handle of open key

DECLARE INTEGER RegDeleteKey IN Win32API ;DECLARE INTEGER RegDeleteKey IN Win32API ;INTEGER hKey, ;INTEGER hKey, ; && handle of open key && handle of open key STRINGSTRING @lpszSubKey@lpszSubKey && address of name of && address of name of

&&subkey to delete &&subkey to delete

Page 27: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Programmierung (2)Programmierung (2)

DECLARE INTEGER RegDeleteValue IN Win32API ;DECLARE INTEGER RegDeleteValue IN Win32API ;INTEGERINTEGER nHKey, ;nHKey, ; && handle of key&& handle of keySTRINGSTRING cSubKeycSubKey && address of value name && address of value name

DECLARE INTEGER RegSetValueEx IN Win32API ;DECLARE INTEGER RegSetValueEx IN Win32API ;INTEGERINTEGER hKey, ;hKey, ; && handle of key to set value for&& handle of key to set value forSTRINGSTRING lpValueName, ;lpValueName, ; && address of value to set&& address of value to setINTEGERINTEGER Reserved, ;Reserved, ; && reserved, set to 0&& reserved, set to 0INTEGERINTEGER dwType,dwType, ;; && flag for value type&& flag for value typeSTRINGSTRING lpData, ;lpData, ; && address of value data&& address of value dataINTEGERINTEGER cbDatacbData && size of value data && size of value data

DECLARE INTEGER RegQueryValueEx IN Win32API ;DECLARE INTEGER RegQueryValueEx IN Win32API ;INTEGERINTEGER hKey, ;hKey, ; && handle of key to query&& handle of key to querySTRINGSTRING lpszValueName, ;lpszValueName, ; && address of name of value to && address of name of value to

queryqueryINTEGERINTEGER lpdwReserved, ;lpdwReserved, ; && reserved&& reservedINTEGERINTEGER @lpdwType, ;@lpdwType, ; && address of buffer for value && address of buffer for value

typetypeSTRINGSTRING @lpbData, ;@lpbData, ; && address of data buffer&& address of data bufferINTEGER @lpcbDataINTEGER @lpcbData && address of data buffer size&& address of data buffer size

Page 28: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Beispiel Solution-SamplesBeispiel Solution-Samples

* Die Library ist im Solution Sample enthalten* Die Library ist im Solution Sample enthalten

set library to progs\reg_solset library to progs\reg_sol

lcProgram= ""lcProgram= ""

lcPfad= ""lcPfad= ""

oReg= create( "FileReg")oReg= create( "FileReg")

* GetApplication( cExtnKey,cAppKey, lServer)* GetApplication( cExtnKey,cAppKey, lServer)

* GetAppPath( cExtension,cExtnKey,cAppKey,lServer)* GetAppPath( cExtension,cExtnKey,cAppKey,lServer)

if oReg.GetAppPath( "DOC",@lcProgram,@lcPfad) # 0if oReg.GetAppPath( "DOC",@lcProgram,@lcPfad) # 0

returnreturn

endifendif

? lcProgram? lcProgram

? lcPfad? lcPfad

Page 29: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Konstanten für RegistryKonstanten für Registry

#define HKEY_CLASSES_ROOT #define HKEY_CLASSES_ROOT -2147483648-2147483648

#define HKEY_CURRENT_USER #define HKEY_CURRENT_USER -2147483647-2147483647

#define HKEY_LOCAL_MACHINE #define HKEY_LOCAL_MACHINE -2147483646-2147483646

#define REG_SZ #define REG_SZ 11

#define REG_OPTION_RESERVED#define REG_OPTION_RESERVED 00

#define REG_CLASS_DEFAULT#define REG_CLASS_DEFAULT """"

#define REG_SECURITY_DEFAULT#define REG_SECURITY_DEFAULT 00

#define REG_OPTION_NON_VOLATILE #define REG_OPTION_NON_VOLATILE 00

#define REG_OPTION_VOLATILE #define REG_OPTION_VOLATILE 11

#define REG_ALL_ACCESS#define REG_ALL_ACCESS 6363

Page 30: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Welche Fragen stellen Welche Fragen stellen sich?sich?

Verwendung Verwendung der Registry der Registry eigentlich eigentlich zwingend (!)zwingend (!)

Anlegen / Lesen Anlegen / Lesen von lokalen von lokalen Registry-Registry-WertenWerten

Hierarchie (!)Hierarchie (!)

Page 31: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Vielen Dank!Vielen Dank!

Das waren die Themen:Das waren die Themen: Aufbau von INI-DateienAufbau von INI-Dateien Verarbeiten von INI-DateienVerarbeiten von INI-Dateien Bearbeiten der RegistryBearbeiten der Registry Bereiche der RegistryBereiche der Registry Die Bereiche im EinzelnenDie Bereiche im Einzelnen Werttypen in der RegistryWerttypen in der Registry Dateien der RegistryDateien der Registry Beispiele für Registry-KeysBeispiele für Registry-Keys VFP-Funktionen für VFP-Funktionen für

RegistryRegistry Betriebssystem-Funktionen Betriebssystem-Funktionen

für Registryfür Registry

Page 32: INI-Dateien und Registry

Wizards & Wizards & Builders GmbH Builders GmbH

Wenn Fragen bestehen:Wenn Fragen bestehen:

Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-

Entwicklung GmbHEntwicklung GmbH

Frankfurter Str. 21bFrankfurter Str. 21b

61476 Kronberg61476 Kronberg

Tel.: 06173-950906Tel.: 06173-950906

Fax: 06173-950907Fax: 06173-950907

CIS: 101605,175CIS: 101605,175