|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Запуск ехе или bat файла с параметром
Имеем батник 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); Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#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); Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#5
|
|||
|
|||
Цитата:
|
#6
|
||||
|
||||
Знач наоборот...)))
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
|||
|
|||
Цитата:
|
#8
|
||||
|
||||
а, не я намудил просто...
Код:
CreateProcess(nil,PAnsiChar('c:\send.bat' +bb),nil,nil,false, Create_default_error_mode,nil,nil,si,p); Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#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. |