Registry Wert REG_EZ auslesen - Rückgabewert leer

Hi zu allen,
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:
.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_
 
Zurück
Oben