421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
1

Как передать параметр в командную строку через Delphi?

06.04.2010, 16:53. Показов 9474. Ответов 13
Метки нет (Все метки)

Есть куча параметров, набирать их лен
Команды Run

compmgmt.msc
clipbrd.exe
cleanmgr.exe
ciadv.msc
charmap.exe
calc.exe
diskmgmt.msc
devmgmt.msc
dfrg.msc
eudcedit.exe
appwiz.cpl
access.cpl
accwiz.exe
desk.cpl
eventvwr.exe
freecell.exe
fsmgmt.msc
hdwwiz.cpl
iexpress.exe
inetcpl.cpl
intl.cpl
joy.cpl
magnify.exe
main.cpl
mmsys.cpl
mspaint.exe
narrator.exe
ntbackup.exe
nusrmgr.cpl
osk.exe
telnet.exe
spider.exe
gpedit.msc
msconfig.exe
verifier.exe
drwtsn32.exe
dxdiag.exe
mobsync.exe
mplay32.exe
odbcad32.exe
packager.exe
perfmon.exe
progman.exe
rasphone.exe
shrpubw.exe
sigverif.exe
sysedit.exe
syskey.exe
sndrec32.exe
timedate.cpl
tourstart.exe
winchat.exe
winmine.exe
write.exe
wupdmgr.exe
explorer.exe
powercfg.cpl
rasphone.exe
regedt32.exe
regedit.exe
sndvol32.exe
notepad.exe
taskmgr.exe
cmd
eventvwr.msc
fsmgmt.msc
gpedit.msc
lusrmgr.msc
fsquirt
dxdiag
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2010, 16:53
Ответы с готовыми решениями:

Как передать строку из слов и пробелов через командную строку?
Я сделал запуск проги через командную строку. Теперь считываю параметры. Ничего сложного. Один...

Управление программой delphi через командную строку
Нужно написать программу которая будет принимать комманд щелчков например ~/project1.exe 600 800...

Как построить проект через командную строку?
Версия Delphi: Delphi XE4. Нужно через командную строку построить проект в режиме Win 32...

Как передать в функцию параметр (например, строку) по ссылке?
Как пепредать в функцию параметр по ссылке, например, строку??? Спасибо.

13
13094 / 5875 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
06.04.2010, 17:38 2
Прочитать параметры командной строки можно так:
Delphi
1
2
3
4
5
6
7
8
9
10
var
  i : Integer;
begin
  Memo1.Clear;
  Memo1.Lines.Add('Параметры командной строки:');
  //Параметр ParamStr(0) - это всегда строка с полным путём к исполняемому файлу.
  for i := 0 to ParamCount - 1 do begin
    Memo1.Lines.Add( ParamStr(i) );
  end;
end;
Если надо запускать файл на исполнение из кода Delphi, тогда это ShellExecute() и WinExec().
0
13207 / 6595 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.04.2010, 17:42 3
Поправка. ParamStr(0) не учитывается в ParamCount(). Параметры нумеруются от 1 до ParamCount().
1
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
06.04.2010, 17:47  [ТС] 4
Наверна Вы меня не поняли...Надо создать код который сделает вот эту
"Пуск"-"Выполнить"-"calc.exe"

Добавлено через 23 секунды
Наверна Вы меня не поняли...Надо создать код который сделает вот эту
"Пуск"-"Выполнить"-"calc.exe"
0
13207 / 6595 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.04.2010, 17:54 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var si:STARTUPINFO;
    pi:PROCESS_INFORMATION;
 
FillChar(si,SizeOf(si),0);
si.cb := SizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL;
if CreateProcess(nil, 'cmd.exe /K "cd \ && cls && echo lol"', nil, nil, false, 0, nil, nil, si, pi) then begin
    CloseHandle(pi.hProcess);
end else begin
    MessageBox(0, PChar(IntToStr(GetLastError())), nil, 0);
end;
1
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
06.04.2010, 17:59  [ТС] 6
не запускался калкулятор,..просто черный екран
0
13207 / 6595 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.04.2010, 18:07 7
Смотрите код внимательно. Там же написано cmd.exe . А если бы я там написал какой-нибудь UninstallWindows?
1
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
06.04.2010, 18:14  [ТС] 8
ответ не корректно, мне не нужна cmd.exe, а
"Пуск"-"Выполнить"-"calc.exe" или
"Start"-"Run"-"Write.exe".........

Добавлено через 16 секунд
ответ не корректно, мне не нужна cmd.exe, а
"Пуск"-"Выполнить"-"calc.exe" или
"Start"-"Run"-"Write.exe".........
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
06.04.2010, 18:25 9
Если надо то я от лени это уже делал но я специально усложнил это дело так как просто програмно открывал окно "Выполнить - програмно прописывал команду и т д но все в один клик делается - это я так winapi учил
1
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
06.04.2010, 18:35 10
Во нашел
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
unit Command;
 {$R My.res}
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons,Registry, Menus,mmsystem;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Edit2: TEdit;
    Timer1: TTimer;
    Panel1: TPanel;
    RadioGroup1: TRadioGroup;
    Label1: TLabel;
    Panel2: TPanel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Label3: TLabel;
    PopupMenu1: TPopupMenu;
 
    procedure FormCreate(Sender: TObject);
    procedure GetSubChild(Wdd: Hwnd);
    procedure Key(key: char);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure N1Click(Sender: TObject);
 
 
 
  private
    procedure WWMove(var Msg: TWMMove);
    message wm_MOVE;
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 uses text;
{$R *.dfm}
var
com: string;
function EnumProc(Wd: HWnd;Param: LongInt):Boolean;stdcall;
var
 
  Nm: Array[0..255] of Char;
  Cs: Array[0..255] of Char;
begin
  GetWindowText(Wd,Nm,255);
  GetClassName(Wd,Cs,255);
  Form1.Memo1.Lines.Add(string(Nm)+' '+string(Cs)+' '+IntToStr(Wd)+'*');
  EnumProc:= True;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
 
var
 Result: Hwnd;
 str,s,s1: string;
 P,i,P1,J,J1,vr: integer;
 
begin
  if ComboBox1.Text = '???' then
  begin
     PlaySound('my', 0, SND_RESOURCE or SND_ASYNC);
     Exit;
  end;
  if ComboBox1.Text = '' then
   begin
  ComboBox1.Text := '???';
  Exit;
   end;
 
  case Form1.RadioGroup1.ItemIndex of
   0: com:= 'control userpasswords2';
   1: com:= 'certmgr.msc';
   2: com:= 'chkdsk';
   3: com:= 'ciadv.msc';
   4: com:= 'cliconfg';
   5: com:= 'clipbrd';
   6: com:= 'compmgmt.msc';
   7: com:= 'control admintools';
   8: com:= 'control schedtasks';
   9: com:= 'dcomcnfg';
   10: com:= 'ddeshare';
   11: com:= 'dfrg.msc';
   12: com:= 'diskmgmt.msc';
   13: com:= 'drwtsn32 ';
   14: com:= 'dxdiag';
   15: com:= 'eudcedit';
   16: com:= 'eventvwr.msc';
   17: com:= 'fsmgmt.msc';
   18: com:= 'gpedit.msc';
   19: com:= 'lusrmgr.msc';
   20: com:= 'msconfig';
   21: com:= 'mstsc';
   22: com:= 'ntmsmgr.msc';
   23: com:= 'ntmsoprq.msc';
   24: com:= 'odbccp32.cpl';
   25: com:= 'perfmon.msc';
   26: com:= 'regedit';
   27: com:= 'secpol.msc';
   28: com:= 'services.msc';
   29: com:= 'sfc /scannow ';
   30: com:= 'sigverif';
   31: com:= 'sysedit';
   32: com:= 'syskey';
   33: com:= 'telnet';
   34: com:= 'utilman';
   35: com:= 'verifier';
   36: com:= 'wmimgmt.msc';
  end;
 
  case Form1.ComboBox1.ItemIndex of
   0: vr:= 200;
   1: vr:= 500;
   2: vr:= 1000;
   3: vr:= 1500;
   4: vr:= 2000;
   5: vr:= 2500;
   6: vr:= 3000;
   7: vr:= 10000;
  end;
  keybd_event(vk_LWIN,0,0,0);
  keybd_event(byte('R'),0,0,0);
  keybd_event(byte('R'),0,KEYEVENTF_KEYUP,0);
  keybd_event(vk_LWIN,0,KEYEVENTF_KEYUP,0);
  Sleep(vr);
  str:= com;
  Result:= FindWindow('#32770','Запуск программы');
  if Result=0 then
  begin
   ShowMessage('Окно не найдено');
   Exit;
  end
   else
  begin
   GetSubChild(Result);
  for I := 0 to Form1.Memo1.Lines.Count - 1 do
   begin
     P:=Pos('Edit',Form1.Memo1.Text);
     P1:=Pos('ОК Button',Form1.Memo1.Text);
   end;
  S:= Copy(Form1.Memo1.Text,p+5,7);
  S1:= Copy(Form1.Memo1.Text,p1+10,7);
  for J := 1 to Length(s) do
   begin
    case s[j] of
    '0'..'9': else s[j]:=Chr(0);
   end;
  end;
  Form1.Edit1.Text:= s;
  for J1 := 1 to Length(s1) do
   begin
    case s1[j1] of
   '0'..'9': else s1[j1]:=Chr(0);
   end;
 end;
  Form1.Edit2.Text:= s1;
 end;
  SendMessage(StrToInt(s), WM_SETTEXT, 0, LParam(PChar('')));
  for I := 1 to Length(str) do
  begin
   Key(str[i]);
  end;
   SendMessage(StrToInt(s1), WM_LBUTTONDOWN, 0, 0);
   SendMessage(StrToInt(s1), WM_LBUTTONUP, 0, 0);
end;
 
 
 
 
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  Key:= Chr(0);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Visible:= False;
 Edit1.Visible:= False;
 Edit2.Visible:= False;
end;
 
 
 
procedure TForm1.GetSubChild(Wdd: Hwnd);
begin
  Memo1.Clear;
  EnumChildWindows(WDD,@EnumProc,0);
end;
 
 
procedure TForm1.Key(key: char);
var
  q: integer;
  s: string;
begin
  s:= Edit1.Text;
  q:= StrToInt(s);
  SendMessage(q, wm_char, ord(key), 0);
end;
 
 
 
 
procedure TForm1.Label1Click(Sender: TObject);
var
reg: TRegistry;
dan: TStrings;
dan1: string;
k: integer;
begin
Form2.Memo1.Clear;
Form2.Show;
dan:= TStringList.Create;
reg:= TRegistry.Create;
reg.RootKey:= HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',False);
reg.GetValueNames(dan);
if dan.Count>0 then
 begin
   for k := 0 to dan.Count - 1 do
    begin
      dan1:= reg.ReadString(dan[k]);
      Form2.Memo1.Lines.Add(IntToStr(k+1)+'  '+dan1);
      Form2.Memo2.Lines.Add(dan[k]);
    end;
 end;
 reg.CloseKey;
 reg.Free;
end;
 
 
 
procedure TForm1.N1Click(Sender: TObject);
begin
 ShowMessage('Ну чего непонятно?'+#13+'На галку нажми и время выбери!!!');
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Form1.Caption:= 'Выполнить  сегодня:  '+DateToStr(now)+'  '+TimeToStr(now);
end;
 
procedure TForm1.WWMove(var Msg: TWMMove);
begin
if Form2<>NIL then
MoveWindow(Form2.Handle, Form1.left+Form1.Width+3,
 Form1.Top, Form2.Width, Form2.Height, true) ;
end;
 
end.
Вложения
Тип файла: rar окно-выполнить.rar (702.2 Кб, 260 просмотров)
1
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
607 / 387 / 81
Регистрация: 15.12.2009
Сообщений: 753
06.04.2010, 18:38 11
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var si:STARTUPINFO;
    pi:PROCESS_INFORMATION;
 
FillChar(si,SizeOf(si),0);
si.cb := SizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL;
if CreateProcess(nil, 'cmd.exe /K "cd \ && cls && echo lol"', nil, nil, false, 0, nil, nil, si, pi) then begin
    CloseHandle(pi.hProcess);
end else begin
    MessageBox(0, PChar(IntToStr(GetLastError())), nil, 0);
end;
Цитата Сообщение от kentaw Посмотреть сообщение
ответ не корректно, мне не нужна cmd.exe, а
"Пуск"-"Выполнить"-"calc.exe" или
"Start"-"Run"-"Write.exe".........
а ты недодумался написать в этом коде место cmd.exe - calc.exe??????
0
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
06.04.2010, 18:46  [ТС] 12
Цитата Сообщение от *~<`PIK`>~* Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var si:STARTUPINFO;
    pi:PROCESS_INFORMATION;
 
FillChar(si,SizeOf(si),0);
si.cb := SizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWNORMAL;
if CreateProcess(nil, 'cmd.exe /K "cd \ && cls && echo lol"', nil, nil, false, 0, nil, nil, si, pi) then begin
    CloseHandle(pi.hProcess);
end else begin
    MessageBox(0, PChar(IntToStr(GetLastError())), nil, 0);
end;

а ты недодумался написать в этом коде место cmd.exe - calc.exe??????
додумал. Наприрем пиши compmgmt.msc и смотри что будет

Добавлено через 1 минуту
Цитата Сообщение от igoriy Посмотреть сообщение
Во нашел
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
unit Command;
 {$R My.res}
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons,Registry, Menus,mmsystem;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Edit2: TEdit;
    Timer1: TTimer;
    Panel1: TPanel;
    RadioGroup1: TRadioGroup;
    Label1: TLabel;
    Panel2: TPanel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Label3: TLabel;
    PopupMenu1: TPopupMenu;
 
    procedure FormCreate(Sender: TObject);
    procedure GetSubChild(Wdd: Hwnd);
    procedure Key(key: char);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Label1Click(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure N1Click(Sender: TObject);
 
 
 
  private
    procedure WWMove(var Msg: TWMMove);
    message wm_MOVE;
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 uses text;
{$R *.dfm}
var
com: string;
function EnumProc(Wd: HWnd;Param: LongInt):Boolean;stdcall;
var
 
  Nm: Array[0..255] of Char;
  Cs: Array[0..255] of Char;
begin
  GetWindowText(Wd,Nm,255);
  GetClassName(Wd,Cs,255);
  Form1.Memo1.Lines.Add(string(Nm)+' '+string(Cs)+' '+IntToStr(Wd)+'*');
  EnumProc:= True;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
 
var
 Result: Hwnd;
 str,s,s1: string;
 P,i,P1,J,J1,vr: integer;
 
begin
  if ComboBox1.Text = '???' then
  begin
     PlaySound('my', 0, SND_RESOURCE or SND_ASYNC);
     Exit;
  end;
  if ComboBox1.Text = '' then
   begin
  ComboBox1.Text := '???';
  Exit;
   end;
 
  case Form1.RadioGroup1.ItemIndex of
   0: com:= 'control userpasswords2';
   1: com:= 'certmgr.msc';
   2: com:= 'chkdsk';
   3: com:= 'ciadv.msc';
   4: com:= 'cliconfg';
   5: com:= 'clipbrd';
   6: com:= 'compmgmt.msc';
   7: com:= 'control admintools';
   8: com:= 'control schedtasks';
   9: com:= 'dcomcnfg';
   10: com:= 'ddeshare';
   11: com:= 'dfrg.msc';
   12: com:= 'diskmgmt.msc';
   13: com:= 'drwtsn32 ';
   14: com:= 'dxdiag';
   15: com:= 'eudcedit';
   16: com:= 'eventvwr.msc';
   17: com:= 'fsmgmt.msc';
   18: com:= 'gpedit.msc';
   19: com:= 'lusrmgr.msc';
   20: com:= 'msconfig';
   21: com:= 'mstsc';
   22: com:= 'ntmsmgr.msc';
   23: com:= 'ntmsoprq.msc';
   24: com:= 'odbccp32.cpl';
   25: com:= 'perfmon.msc';
   26: com:= 'regedit';
   27: com:= 'secpol.msc';
   28: com:= 'services.msc';
   29: com:= 'sfc /scannow ';
   30: com:= 'sigverif';
   31: com:= 'sysedit';
   32: com:= 'syskey';
   33: com:= 'telnet';
   34: com:= 'utilman';
   35: com:= 'verifier';
   36: com:= 'wmimgmt.msc';
  end;
 
  case Form1.ComboBox1.ItemIndex of
   0: vr:= 200;
   1: vr:= 500;
   2: vr:= 1000;
   3: vr:= 1500;
   4: vr:= 2000;
   5: vr:= 2500;
   6: vr:= 3000;
   7: vr:= 10000;
  end;
  keybd_event(vk_LWIN,0,0,0);
  keybd_event(byte('R'),0,0,0);
  keybd_event(byte('R'),0,KEYEVENTF_KEYUP,0);
  keybd_event(vk_LWIN,0,KEYEVENTF_KEYUP,0);
  Sleep(vr);
  str:= com;
  Result:= FindWindow('#32770','Запуск программы');
  if Result=0 then
  begin
   ShowMessage('Окно не найдено');
   Exit;
  end
   else
  begin
   GetSubChild(Result);
  for I := 0 to Form1.Memo1.Lines.Count - 1 do
   begin
     P:=Pos('Edit',Form1.Memo1.Text);
     P1:=Pos('ОК Button',Form1.Memo1.Text);
   end;
  S:= Copy(Form1.Memo1.Text,p+5,7);
  S1:= Copy(Form1.Memo1.Text,p1+10,7);
  for J := 1 to Length(s) do
   begin
    case s[j] of
    '0'..'9': else s[j]:=Chr(0);
   end;
  end;
  Form1.Edit1.Text:= s;
  for J1 := 1 to Length(s1) do
   begin
    case s1[j1] of
   '0'..'9': else s1[j1]:=Chr(0);
   end;
 end;
  Form1.Edit2.Text:= s1;
 end;
  SendMessage(StrToInt(s), WM_SETTEXT, 0, LParam(PChar('')));
  for I := 1 to Length(str) do
  begin
   Key(str[i]);
  end;
   SendMessage(StrToInt(s1), WM_LBUTTONDOWN, 0, 0);
   SendMessage(StrToInt(s1), WM_LBUTTONUP, 0, 0);
end;
 
 
 
 
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  Key:= Chr(0);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Visible:= False;
 Edit1.Visible:= False;
 Edit2.Visible:= False;
end;
 
 
 
procedure TForm1.GetSubChild(Wdd: Hwnd);
begin
  Memo1.Clear;
  EnumChildWindows(WDD,@EnumProc,0);
end;
 
 
procedure TForm1.Key(key: char);
var
  q: integer;
  s: string;
begin
  s:= Edit1.Text;
  q:= StrToInt(s);
  SendMessage(q, wm_char, ord(key), 0);
end;
 
 
 
 
procedure TForm1.Label1Click(Sender: TObject);
var
reg: TRegistry;
dan: TStrings;
dan1: string;
k: integer;
begin
Form2.Memo1.Clear;
Form2.Show;
dan:= TStringList.Create;
reg:= TRegistry.Create;
reg.RootKey:= HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',False);
reg.GetValueNames(dan);
if dan.Count>0 then
 begin
   for k := 0 to dan.Count - 1 do
    begin
      dan1:= reg.ReadString(dan[k]);
      Form2.Memo1.Lines.Add(IntToStr(k+1)+'  '+dan1);
      Form2.Memo2.Lines.Add(dan[k]);
    end;
 end;
 reg.CloseKey;
 reg.Free;
end;
 
 
 
procedure TForm1.N1Click(Sender: TObject);
begin
 ShowMessage('Ну чего непонятно?'+#13+'На галку нажми и время выбери!!!');
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Form1.Caption:= 'Выполнить  сегодня:  '+DateToStr(now)+'  '+TimeToStr(now);
end;
 
procedure TForm1.WWMove(var Msg: TWMMove);
begin
if Form2<>NIL then
MoveWindow(Form2.Handle, Form1.left+Form1.Width+3,
 Form1.Top, Form2.Width, Form2.Height, true) ;
end;
 
end.
igoriy, спасибо большое. Вот это,уже другое дело. Особенно нравится звуК)))))))))
0
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
06.04.2010, 18:53 13
Не за что
0
13207 / 6595 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
06.04.2010, 19:23 14
Цитата Сообщение от kentaw Посмотреть сообщение
додумал. Наприрем пиши compmgmt.msc и смотри что будет
Правильно, потому что .msc - это текстовый файл, точнее XML. Как Вы из него захотели создать процесс с параметрами? Для этого надо либо через ShellExecute(), но без параметров, либо запускать mmc.exe и указывать ему compmgmt.msc
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2010, 19:23
Помогаю со студенческими работами здесь

Передача параметра через командную строку
В общем такая проблема делаю ScrSaver Нужно помочь с настройками Через командную строку все...

Как в процедуру 1 передать адрес процедуры 2 через параметр чтобы процедура 1 выполнила процедуру 2
Зачем мне это нужно? Затем что написан вложеный цикл от 0 до N в нём цикл от 0 до M, в программе...

Как передать параметр из поля формы в командную строку?
С помощью ASPSMARTUPLOAD гружу файл в базу, т.е есть страничка с формой form.asp и ее action - файл...

JS: Передать параметр в командную строку
На предприятии есть программа для управления компьютерами - лаунчер, в него попросили добавить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru