HOWTO: отметить процесс - PullRequest
       8

HOWTO: отметить процесс

0 голосов
/ 17 ноября 2009

Я использую CreateProcessAsUser () для создания процессов. Я хотел бы пометить некоторые из них так, чтобы позже, учитывая идентификатор процесса / дескриптор, я мог понять, был ли я их запустил.

Существуют ли какие-либо методы для обозначения процесса, изначально подобного этому. Я хочу, чтобы в моем решении не было состояния, поэтому таблица PID не подходит - и при этом не проверяется родительский процесс, чтобы узнать, сделал ли я его (процессы переопределяются).

Есть идеи? Спасибо!

1 Ответ

0 голосов
/ 17 ноября 2009

, если вы нацелены на Windows Vista или Windows Server 2008, тогда вы можете использовать InitializeProcThreadAttributeList() и добавить список атрибутов в процесс через структуру STARTUPINFOEX при вызове CreateProcess(). тем не менее, вы должны уничтожить список атрибутов самостоятельно, прежде чем процесс завершится, и, как я понимаю, это не соответствует действительности ...

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

Боюсь, вам придется прибегнуть к чему-то другому. Можете ли вы объяснить, почему таблица PID не подходит? я подозреваю, что это потому, что ваш «пускач» может прекратить работу и ему придется снова найти свои процессы при перезапуске. в этом случае вам следует рассмотреть возможность сериализации этой информации на диск при запуске процесса и прочитать ее обратно при перезапуске (плюс некоторые дополнительные проверки для проверки достоверности сериализованной информации).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...