Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: И ешё одна фигня с ПБ...
     
    
Добавлено: 19.10.04 17:21
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 HACKER
      
       
  
Очень странно, я удевлён, но я думаю что я как обычно просто чего-то незнаю, вообщем после того как я SHELL "C:\1.bat" батик нормально выполняется, но программа потом тупо останавлявается (END) Нафига она так? Что она неможет запустит бат и дальше работать?
 
    
И ещё... как мне узнать app.path и exename
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 22
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
  j3d1
![]()
![]()
![]()
![]()
![]()
ICQ: 8370005 
Вопросов: 34
Ответов: 466
      
 Профиль |  | #1
       
Добавлено:  19.10.04 17:27
       
    
       
  
Сделай CreateProccess
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #2
       
Добавлено:  19.10.04 20:12
       
    
       
  
Мммм...  
    
 там я где-то писал что в ПБ я не ноль, а (0,5) наверно я всётаки ошибся... 
 Ты немог по конкретние?
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 CyRax 
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 204447456 
Вопросов: 180
Ответов: 4229
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  20.10.04 00:37
       
    
       
  
Используй ShellExecute. Про это уже много раз в форуме говорили.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 sne
![]()
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 233286456 
Вопросов: 34
Ответов: 5445
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  20.10.04 09:55
       
    
       
  
Или WinExec работает по аналогии с Shell VB'шным...
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 alex
![]()
![]()
![]()
![]()
![]()
Вопросов: 84
Ответов: 453
      
 Профиль |  | #5
       
Добавлено:  20.10.04 12:45
       
    
       
  
У функции SHELL есть еще необязательный параметр.
 
    
Ждать конца запущенного процесса, или бежать дальше сразу после запуска.
Сморти хелп по языку! 
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 alex
![]()
![]()
![]()
![]()
![]()
Вопросов: 84
Ответов: 453
      
 Профиль |  | #6
       
Добавлено:  20.10.04 13:01
       
    
       
  
Асинхронный запуск процесса:
 
    
Function PBMain() As Long
Dim ProgID As Dword
ProgID= Shell ("project1.exe"
MsgBox "Process ID = " & Str$(ProgID)
End Function
Синхронный запуск процесса:
Function PBMain() As Long
Dim ProgID As Dword
Shell "project1.exe" 
End Function
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #7
       
Добавлено:  20.10.04 21:50
       
    
       
  
Спасиба!!!
 
    
А как насчёт узнать app.path и exename?
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #8
       
Добавлено:  20.10.04 22:10
       
    
       
  
Блин! нечо непашит  
    
 ручки наверно крючки... Алекс пробывал два варианта, хотя прикол второго непонял 
Function PBMain() As Long 
Dim ProgID As Dword 
Shell "project1.exe" 
End Function
 или я что-то недогнла?
Сне, WinExec вообще там как не при делах... нет такой встроенной камманды. CyRax ShellExecute я так и не попробывал, так как незнаю как сказать на пб что надо 
поможешь?
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #9
       
Добавлено:  20.10.04 22:22
       
    
       
  
А блин... опять туплю... с ShellExecute  
    
 Ну вообчем я сделал, ну всымсле написал 
 ShellExecute 0, "open", "C:\1.bat", "", "", 1 но честно говоря толку мало... первое что я заметил что батик ОЧЕНЬ медленно стал работать, и ещё что более обидно что прога опять тупо останавливается, никакой еррор просто так в дебагире и пишит шо Begin at... всё ок... и End Dubug но этот END происходит не тогда когда мне это надо! Может это связанно что я в батике пишу вот это "set > C:\1.tmp", кстати если это можно сделать по другому, АЙПИ функциями итп... да вообще можно, вопрос скорее "КАК"? Ну впринципе мне надо чтоб и батик то работал, так что с этой траблой всёравно разгребаться
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа:
 CyRax 
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 204447456 
Вопросов: 180
Ответов: 4229
      
 Web-сайт:  
 Профиль |  | #10
      
Добавлено:  21.10.04 00:42
       
    
       
  
HACKER,
 
    
 Держи, выдрал с исходников Local Assembler. Магическая сила от LocASM безгранична и распротраняется на каждый кусок кода 
Осторожней с этим артефактом 
Function APP_Path() As String
 
im App_ExeNameZ As Asciiz*256, App_ExeName As String
 
im SlashPos As Long
 If GetModuleFileName(0&,App_ExeNameZ,255) Then
    App_ExeName=App_ExeNameZ
    If Len(App_ExeName)=0 Then Exit Function
    SlashPos=InStr(-1,App_ExeName,"\"
    If SlashPos=0 Then SlashPos=InStr(-1,App_ExeName,":"
    If SlashPos=0 Then Exit Function
    APP_Path=Left$(App_ExeName,SlashPos)
 End If
End Function   
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа:
 alex
![]()
![]()
![]()
![]()
![]()
Вопросов: 84
Ответов: 453
      
 Профиль |  | #11
       
Добавлено:  21.10.04 12:42
       
    
       
  
2 Hacker
 
    
Все работает! Ты наверное слишком много пива перепил.. 
Dim ProgID As Dword - во втором варианте не нужен.
Короче:
Shell "Имя проги" - синхронный запуск, твое приложение
ждет пока запущеная прога закончит работу
ProgID= Shell ("project1.exe"
 - асинхронный запуск,
приложение работает дальше не ждя окончания запущенного
приложения
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #12
       
Добавлено:  21.10.04 17:48
       
    
       
  
CyRax Пасиба!
 
    
 alex
Хм... странно, вобще привильно, прога ждёт пока другая закончит работать, вот заканчивается у меня батик, пока он работает моя ждёт... но как батик завершается моя завершается тоже 
 и что особо странное!!! что это всё началось до того как я выпил пиво 
 вот штука, пиво это, странное 
 Ладно, я ещё попробую в отдельной проге всё написать, если будет тоже самое, выложу сюды, будем разхлёбывать все, а если будет всё ок в отдельной, тогда это блин авраг какой-то!
		
	  
			 
	
		 
    
       
    
Номер ответа: 13 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #13
       
Добавлено:  21.10.04 18:38
       
    
       
  
ага... значи так, когда я сделал отдельную маленькую прогу (в 10-15 сторк) то  
    
Function PBMain() As Long 
Dim ProgID As Dword 
ProgID= Shell ("project1.exe"
 
MsgBox "Process ID = " & Str$(ProgID) 
End Function
 И что теперь делать незнаю!!!
		
	  
			 
	
		 
    
       
    
Номер ответа: 14 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #14
       
Добавлено:  22.10.04 20:44
       
    
       
  
 
    
(((((     !!!!!!!! люди, чо, всё так плохо, да?
		
	  
			 
	
		 
    
       
    
Номер ответа: 15 
      
Автор ответа:
 HACKER
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #15
       
Добавлено:  24.10.04 00:12
       
    
       
  
 
    
(((((((((((((((( тема не закрыта!!!!