Что нового

чтение из консоли

Poma_007

Новичок
Сообщения
24
Репутация
0
дано:
Код:
#include <Constants.au3>
$foo = ProcessExists("127031.exe")

 MsgBox(0, "Debug1", $foo)
;Local $foo = Run("C:\127031\127031.exe", "C:\127031\", @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
; Write string to be sorted to child sort.exe's STDIN
StdinWrite($foo, "rat" & @CRLF & "cat" & @CRLF & "bat" & @CRLF)
; Calling with no 2nd arg closes stream
StdinWrite($foo)
; Read from child's STDOUT and show
Local $data
While True
    $data &= StdoutRead($foo)
	If @error Then ExitLoop
   MsgBox(0, "Debug", $data)
WEnd

данный скрипт должен читать данные из консоли.
почему то работает только через run.
 

SECTOR

Продвинутый
Сообщения
398
Репутация
58
Потому, что ты пытаешься узнать активен процесс или нет, до того как он запущен :rofl:

Правильнее будет так: ...

Что ты хочешь сделать с ProcessExists? :wacko: ProcessExists возвращает True/False (процесс существует/процесс не существует)... А предаставленый кусок кода я не понял...
 
Автор
Poma_007

Poma_007

Новичок
Сообщения
24
Репутация
0
SECTOR
я ступил, написав что $foo = ProcessExists("127031.exe") отдает ноль :D

Что ты хочешь сделать с ProcessExist?
я получаю ид консольного приложения


Добавлено:
Сообщение автоматически объединено:

ProcessExists возвращает True/False (процесс существует/процесс не существует)... А предаставленый кусок кода я не понял...
да ты что? :D
 

VladUs

Скриптер
Сообщения
621
Репутация
180
Poma_007 [?]
почему то работает только через run.
Потому что обмен данными происходит с дочерними процессами, запущенными с помощью функции Run()
Кстати, на форуме существуют и альтернативные решения межпроцессового взаимодействия, в плане обмена данными.
http://autoit-script.ru/index.php?topic=2733.0 и http://autoit-script.ru/index.php?topic=4664.0

SECTOR
ProcessExists возвращает True/False
Вы не правы, функция ProcessExists(), возвращает PID процесса при его существовании и 0, при его отсутствии.
 
Автор
Poma_007

Poma_007

Новичок
Сообщения
24
Репутация
0
а например выдрать из какой-нибудь библиотеки функцию? (есть есть такая)
 

SECTOR

Продвинутый
Сообщения
398
Репутация
58
Вы не правы, функция ProcessExists(), возвращает PID процесса при его существовании и 0, при его отсутствии.
Мне открылась истина :whistle: :laugh:
 
Верх