Что нового

объединение закрытия двух процессов

k790

Новичок
Сообщения
239
Репутация
1
А как объединить код:
Код:
ProcessClose("wcesmgr.exe")

$PID = ProcessExists("wcesmgr.exe")
If $PID Then ProcessClose($PID)


ProcessClose("wcescomm.exe")

$PID = ProcessExists("wcescomm.exe")
If $PID Then ProcessClose($PID)


P.S.
Это процессы от Microsoft ActiveSync
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Не понял что именно объединять, но вот:
Код:
$PID2 = ProcessExists("wcesmgr.exe")
$PID = ProcessExists("wcescomm.exe")
If $PID And $PID2 Then ; Вместо And можно поставить Or, если нужно выполнять действие при наличии одного из процессов
ProcessClose($PID)
ProcessClose($PID2)
EndIf
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Viktor217
А если одного из процессов нет, то второй не закроет.
Код:
$PID = ProcessExists("wcesmgr.exe")
If $PID Then
	ProcessClose($PID)
EndIf
$PID2 = ProcessExists("wcescomm.exe")
If $PID2 Then
	ProcessClose($PID2)
EndIf
 
Автор
K

k790

Новичок
Сообщения
239
Репутация
1
Объединить в смысле, чтоб не 2 отдельных "кода" шло, а в одном, то что ты написал, это вроде то что надо.

Спасибо
 
Автор
K

k790

Новичок
Сообщения
239
Репутация
1
madmasles [?]
А если одного из процессов нет, то второй не закроет.
А вот это очень плохо, объясняю:
wcesmgr.exe - окно active sync в котором есть настройки, ну и подобное
wcescomm.exe - значок в трее, зачем нужен не знаю
Если я закрою любой процесс, то второй останется, но вот вроде wcescomm.exe сам не закрывается, то есть можно его в начало поставить.


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

Странно, вот вы пишите, что не будет работать если нету первого процесса, а я сейчас поэкспериментировал и работает.
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
k790 [?]
Странно, вот вы пишите, что не будет работать если нету первого процесса, а я сейчас поэкспериментировал и работает.
Имелся в виду мой пример, однако я сейчас написал что нужно сделать в комментарии(=
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
А вот так что, не работает? Зачем нужны проверки?

Код:
ProcessClose("wcesmgr.exe")
ProcessClose("wcescomm.exe")
 
Автор
K

k790

Новичок
Сообщения
239
Репутация
1
Viktor217 сказал(а):
Имелся в виду мой пример, однако я сейчас написал что нужно сделать в комментарии(=
Я тебя не совсем пойму, тот код, который ты написал, у меня работает даже если процесса wcesmgr.exe нету!


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

Yashied сказал(а):
А вот так что, не работает? Зачем нужны проверки?
Работает, но вы писали, что если одного процесса нет, то второй не закроет.

madmasles [?]
А если одного из процессов нет, то второй не закроет.
 

Arei

Скриптер
Сообщения
938
Репутация
115
закроет

на край

Код:
If ProcessExists("wcesmgr.exe") = 0   Then
 ProcessClose("wcesmgr.exe")
EndIf
If ProcessExists("wcescomm.exe") = 0   Then
 ProcessClose("wcescomm.exe")
EndIf
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
k790 сказал(а):
...вы писали, что если одного процесса нет, то второй не закроет...

Я этого не писал. Пишите ProcessClose() в любой последовательности и все будет работать. Не нужно делать бессмысленных проверок. Это все равно, что

Код:
$i = 2
If $i <> 2 Then
	$i = 2
EndIf
 
Автор
K

k790

Новичок
Сообщения
239
Репутация
1
Верх