Subversion Repositories userdetect2

Rev

Rev 82 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 82 Rev 85
Line 35... Line 35...
35
implementation
35
implementation
36
 
36
 
37
{$R *.dfm}
37
{$R *.dfm}
38
 
38
 
39
uses
39
uses
40
  UD2_Utils, UD2_Main, ShellAPI;
40
  UD2_Utils, UD2_Main, UD2_Parsing, ShellAPI;
41
 
41
 
42
procedure TUD2TaskPropertiesForm.LoadExecutableFilesList;
42
procedure TUD2TaskPropertiesForm.LoadExecutableFilesList;
43
resourcestring
43
resourcestring
44
  LNG_RIOD = 'Run in own directory';
44
  LNG_RIOD = 'Run in own directory';
45
  LNG_ADMIN = 'Run as admin';
45
  LNG_ADMIN = 'Run as admin';
46
var
46
var
47
  sl: TStringList;
-
 
48
  i: integer;
47
  i: integer;
49
  cmdLine, flags: string;
48
  flags: string;
-
 
49
  cmds: TUD2CommandArray;
-
 
50
  cmd: TUD2Command;
50
begin
51
begin
51
  //fud2.GetCommandList(AShortTaskName, ListBox1.Items);
52
  //fud2.GetCommandList(AShortTaskName, ListBox1.Items);
52
 
53
 
53
  ListBox1.Clear;
54
  ListBox1.Clear;
54
  sl := TStringList.Create;
-
 
55
  try
-
 
56
    fud2.GetCommandList(FShortTaskName, sl);
55
  cmds := fud2.GetCommandList(FShortTaskName);
-
 
56
 
57
    for i := 0 to sl.Count-1 do
57
  for i := Low(cmds) to High(cmds) do
58
    begin
58
  begin
59
      cmdLine := sl.Strings[i];
59
    cmd := cmds[i];
-
 
60
 
60
      flags := '';
61
    flags := '';
61
 
62
 
62
      if Pos(UD2_RUN_AS_ADMIN, cmdLine) >= 1 then
63
    if cmd.runAsAdmin then
63
      begin
64
    begin
64
        cmdLine := StringReplace(cmdLine, UD2_RUN_AS_ADMIN, '', [rfReplaceAll]);
-
 
65
        if flags <> '' then flags := flags + ', ';
65
      if flags <> '' then flags := flags + ', ';
66
        flags := flags + LNG_ADMIN;
66
      flags := flags + LNG_ADMIN;
67
      end;
67
    end;
68
 
68
 
69
      if Pos(UD2_RUN_IN_OWN_DIRECTORY_PREFIX, cmdLine) >= 1 then
69
    if cmd.runInOwnDirectory then
70
      begin
70
    begin
71
        cmdLine := StringReplace(cmdLine, UD2_RUN_IN_OWN_DIRECTORY_PREFIX, '', [rfReplaceAll]);
-
 
72
        if flags <> '' then flags := flags + ', ';
71
      if flags <> '' then flags := flags + ', ';
73
        flags := flags + LNG_RIOD;
72
      flags := flags + LNG_RIOD;
74
      end;
73
    end;
75
 
74
 
76
      if flags <> '' then
75
    if flags <> '' then
77
      begin
76
    begin
78
        flags := ' [' + flags + ']';
77
      flags := ' [' + flags + ']';
79
      end;
78
    end;
80
 
79
 
81
      ListBox1.Items.Add(cmdLine + flags);
80
    ListBox1.Items.Add(cmd.executable + flags);
82
    end;
-
 
83
  finally
-
 
84
    sl.Free;
-
 
85
  end;
81
  end;
86
end;
82
end;
87
 
83
 
88
procedure TUD2TaskPropertiesForm.LoadIcon;
84
procedure TUD2TaskPropertiesForm.LoadIcon;
89
var
85
var
Line 132... Line 128...
132
begin
128
begin
133
  Close;
129
  Close;
134
end;
130
end;
135
 
131
 
136
procedure TUD2TaskPropertiesForm.Button1Click(Sender: TObject);
132
procedure TUD2TaskPropertiesForm.Button1Click(Sender: TObject);
-
 
133
var
-
 
134
  cmd: TUD2Command;
137
begin
135
begin
-
 
136
  cmd.executable := fud2.IniFileName;
-
 
137
  cmd.runAsAdmin := false;
-
 
138
  cmd.runInOwnDirectory := false;
138
  UD2_RunCMD(fud2.IniFileName, SW_NORMAL);
139
  cmd.windowMode := SW_NORMAL;
-
 
140
  UD2_RunCMD(cmd);
139
end;
141
end;
140
 
142
 
141
end.
143
end.