![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Собственно, как запустить чужое приложение, но не exe'шник, а bat'ник. Все ветки в форуме по данному вопросу прочел. Пробовал и WinExec, и ShellExecute и JvCreateProcess, но толку ноль. Проблема имхо в батнике. 
		
	
		
		
		
		
		
		
			Вот как я запускаю батник из Delphi: Код: 
	if WinExec(PChar(gvFilenameStrah), sw_show) < 32 then
      ShowMessage('Ошибка');Вот что из себя представляет батник: Код: 
	@echo off cls ReplCmd -db:"Local_РО" -u:LOGIN -p:PASSWORD -dlg:N -f:imp_strah_bog.log -prof:"страх" -i:3 -cmnt:"страх РО" rem Del /q c:\imp\strah\*.* Т.е. получается вот что: из дельфи данный батник не запускается, а к примеру, из того же FARа (т.е. просто из под винды) вполне себе отлично запускается? Что делать-то? Как эту гадость из дельфи запустить? ![]() p.s. Причем надо не просто запустить, а дождаться завершения выполнения данного батника, и только потом продолжить выполнение моего приложения. Последний раз редактировалось ZevsTula, 25.09.2008 в 15:24.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Не знаю как ты там запускал, но код 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	var
 AFile: String;
begin
 AFile := 'C:\bat.bat';
 ShellExecute(0, 'Open', PChar(AFile), nil, nil, SW_HIDE);
 ShowMessage('Ok!');
end; | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Вот тебе кусок из работающей проги... у меня там в батниках arj -ем архивируются файлы определенные, но и с запуском все то же будет... 
		
	
		
		
		
		
		
		
			BatFiles - это просто список имен bat-файлов Код: 
	var
  stin: STARTUPINFO;
  prin: PROCESS_INFORMATION;
************************************************************************
    stin.lpTitle := PChar('Формируется транспортный файл '+filename + ' Запущен '+ BatFiles[i]);
    stin.wShowWindow := SW_HIDE;
    stin.dwFlags := STARTF_USESHOWWINDOW;
    CreateProcess(nil,PChar(BatFiles[i]),nil,nil,false,0,nil,'G:\CLIENT\out\',stin,prin);
    WaitForSingleObject(prin.hProcess,INFINITE); //ждем завершения архивацииПоследний раз редактировалось xchrom, 25.09.2008 в 17:18.  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Вопрос снят. Всем спасибо за советы. Проблема была в том, что я забыл флаг FORCE_ON_FEEDBACK. 
		
	
		
		
		
		
		
	
		
		
	
	
	 |