Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#18

Re: lpEnvironment-Parameter bei CreateProcessWithLogonW

  Alt 2. Aug 2005, 11:55
Hier noch das Beispiel mit dem eigenen selbsterstellten Environment-Block (Unicode!):

Delphi-Quellcode:
(******************************************************************************
Hier erstellen wir mal frisch fröhlich ein eigenes Environment, nur um zu
zeigen wie das geht. Hier wird WideString benutzt, weil wir in unserem Wrapper
*immer* Unicode-Environments erwarten ...
******************************************************************************)

  Writeln('-----------------------------------------------------------------------');
  Writeln('Mit Pfriemelei (eigenes Environment) ...');
  (* WICHTIG: Am Ende muß immer 2x die #0 stehen! Das ist quasi der END-Marker *)
  env:= 'USERNAME=SONSTWAS' + #0 + 'PATH=C:\Blabla\bla\blubb' + #0 + #0;
  lpEnvironment := @env[1];
  if (CreateProcessWithLogonWrapper(
      'ottokar',
      nil,
      'das fruechtchen',
      'cmd.exe',
      '/E:ON /K SET USERNAME',
      CREATE_NEW_CONSOLE,
      lpEnvironment
      )) then
      Writeln('Guck mal an, es funzt ja doch')
    else
      Writeln('FEHLER: Es ist ein Fehler aufgetreten (', GetLastError(), ')');
  // Wait for input
  Writeln('ENTER druecken um fortzufahren ...');
  Readln;
Werde das gleich im Anhang des Beitrags obendrüber ändern ...
Hier sieht man mal den Vorteil von Delphi-Strings
  Mit Zitat antworten Zitat