![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Имеем батник send.bat следующего содержания:
Код:
@echo off IF /%1==/ GOTO ERR f: cd public send /a=a send "hello %1!" to user1 send "hello %1!" to user2 send "hello %1!" to user3 exit :ERR echo No parameter! exit Пробую через WinExec Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
bb:=ComboBox2.Text;
if bb='' then
begin
MessageBox(Application.Handle,'укажите номер', 'error', MB_OK +MB_ICONEXCLAMATION);
end else
WinExec(PChar('c:\send.bat '+bb),SW_SHOW);
MessageBox(Application.Handle,'good', 'info', MB_OK +MB_ICONINFORMATION);
end;Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
FillChar( Si, SizeOf( Si ) , 0 );
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 1;
end;
.........
CreateProcess(nil,'c:\send.bat +bb',nil,nil,false, Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
......... |
|
#2
|
||||
|
||||
|
Наверно ты кавычку не там поставил
![]() Было: Код:
CreateProcess(nil,'c:\send.bat +bb',nil,nil,false, Create_default_error_mode,nil,nil,si,p); Код:
CreateProcess(nil,'c:\send.bat' +bb,nil,nil,false, Create_default_error_mode,nil,nil,si,p); |
|
#3
|
|||
|
|||
|
Цитата:
У меня error: Incompatible types: 'String' and 'PAnsiChar' |
|
#4
|
||||
|
||||
|
Код:
CreateProcess(nil,'c:\send.bat' +PAnsiChar(bb),nil,nil,false, Create_default_error_mode,nil,nil,si,p); |
|
#5
|
|||
|
|||
|
Цитата:
|
|
#6
|
||||
|
||||
|
Знач наоборот...)))
|
|
#7
|
|||
|
|||
|
Цитата:
|
|
#8
|
||||
|
||||
|
а, не я намудил просто...
Код:
CreateProcess(nil,PAnsiChar('c:\send.bat' +bb),nil,nil,false, Create_default_error_mode,nil,nil,si,p); |
|
#9
|
||||
|
||||
|
Вот как это едят!
Код:
ShellExecute(Хендл,'сообщение',pchar('прога.exe'),pchar('параметр'),pchar('раб. папка'), SW_ShowNormal);
//как надо!
procedure TForm1.Button1Click(Sender: TObject);
var bb: string;
begin
if bb = ComboBox1.Text then
MessageBox(Handle,'укажите номер', 'error', 48)
else begin
ShellExecute(Handle,'open',pchar('C:\send.bat'),pchar(bb),nil,SW_HIDE);
MessageBox(Handle,'good', 'info', 64);
end;Помог? если да то нажмите на весы с права =) Последний раз редактировалось uberchel, 24.04.2009 в 13:53. |
|
#10
|
|||
|
|||
|
Цитата:
Если кому интересно все работает замечательно и параметр передает как надо Код:
CreateProcess(nil,PChar('c:\send.bat '+bb),nil,nil,false, Create_default_error_mode,nil,nil,si,p);Последний раз редактировалось TJoY, 24.04.2009 в 21:05. |