wie mein Titel schon sagt, möchte ich einen REG_EZ wert aus der Registry auslesen und den Rückgabewert dann in eine test.txt Speichern. Aus einem mir unempfindlichen Grund funktioniert dies nicht. Die .txt-Datei bleibt leer.
Nach 2 Tagen intensiver suche nach dem Fehler vom mehrfachen, ach was sag ich zichfachen lesen der Referenzen bis hin zur Durchsuchung des Internets mithilfe von Google, habe ich den Fehler nicht finden können.
Als Anfänger auf dem Gebiet Win32API und als verwöhnter Interrup Nutzer Poste ich die hier zu lesenden Zeilen in der Hoffnung auf Hilfe.
Kurz:
Ich möchte den Wert eines REG_EZ Keys auslesen und in eine .txt Schreiben lassen. Die .txt wird angelegt, bleibt aber leider leer.
Hier mein Source:
Code: Alles auswählen
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\advapi32.inc
includelib \masm32\lib\advapi32.lib
.data
root HKEY HKEY_LOCAL_MACHINE
subkey db "SOFTWARE\Valve\Steam",0
schluessel db "InstallPath",0
filename db "C:\test.txt",0
.data?
zurueck DWORD ?
hKey HKEY ?
written dd ?
hFile dd ?
.code
start:
invoke RegOpenKeyEx, addr root, addr subkey, 0, KEY_READ, addr hKey
invoke RegQueryValueEx, addr hKey, addr schluessel, 0, REG_SZ, addr zurueck, sizeof zurueck-1
;********** CreateFile Funktions Parameter Übergeben begin **********
invoke CreateFile,addr filename,\
GENERIC_WRITE or GENERIC_READ,\
FILE_SHARE_READ or FILE_SHARE_WRITE,\
NULL,\
OPEN_ALWAYS,\
FILE_ATTRIBUTE_NORMAL,\
NULL
mov hFile,eax
;********** CreateFile Funktions Parameter Übergeben end **********
;********** In die Datei schreiben begin **********
invoke WriteFile, hFile, addr zurueck, sizeof zurueck-1, addr written, 0
;********** In die Datei schreiben end **********
invoke CloseHandle, hFile
invoke RegCloseKey, zurueck
Exit:
invoke ExitProcess, 0
end start
MfG _D4rk_
//EDIT: Falls das von Bedeutung ist ich möchte den Wert von "HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam\InstallPath" auslesen.