Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#16

Re: lpEnvironment-Parameter bei CreateProcessWithLogonW

  Alt 2. Aug 2005, 11:07
Hier noch 2 Funktionen um die Umgebung, von welcher wir den Pointer haben, zu dumpen:

Delphi-Quellcode:
procedure DumpEnvironmentW(lpEnvironment: LPVOID);
var
  Env: PWideChar;
begin
  Env := lpEnvironment;
  Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
  while(lstrlenW(Env) > 0) do
  begin
    Writeln(String(WideString(Env)));
    Env := PWideChar(DWORD(Env) + DWORD(lstrlenW(Env) + 1) * DWORD(sizeof(Env^)));
  end;
  Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
end;

procedure DumpEnvironmentA(lpEnvironment: LPVOID);
var
  Env: PAnsiChar;
begin
  Env := lpEnvironment;
  Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
  while(lstrlenA(Env) > 0) do
  begin
    Writeln(String(Env));
    Env := PAnsiChar(DWORD(Env) + DWORD(lstrlenA(Env) + 1) * DWORD(sizeof(Env^)));
  end;
  Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
end;
Wie sofort ersichtlich ist, dient eine für ANSI- und die andere für Unicode-Umgebungen!

EDIT: Anhang entfernt, bitte im nächsten Beitrag den Anhang beachten!
  Mit Zitat antworten Zitat