Will das nicht gekappt hat
Geht's etwas genauer? Folgendes funktioniert einwandfrei:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
uses ShellApi;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
SetEnvironmentVariable('
blub', '
mist');
ShellExecute(Self.Handle, '
open', '
cmd.exe',
nil,
nil, SW_SHOW);
end;
Das heißt, die Variable
blub enthält den Wert
mist. Und ob da nun die cmd.exe oder ein Batchskript gestartet wird, spielt keine Rolle. Denn auch das hier funktioniert:
ShellExecute(Self.Handle, 'open', 'cmd.exe', '/K C:\test.cmd', nil, SW_SHOW);
mit test.cmd:
Es gibt also keine Notwendigkeit für irgendwelche Verrenkungen.
MfG Dalai