Чтобы найти процесс, запущенный в диспетчере задач, и убить процесс - PullRequest
0 голосов
/ 05 января 2010

У меня есть приложение для Windows Mobile Я заметил, что это правильно завершается при выходе, они просто минимизируют и занимают память. Мне нужно проверить, запущен ли в диспетчере задач какой-либо экземпляр того же приложения. Если он существует, мне нужно завершить процесс.

Мне нужно написать небольшое приложение, которое будет проходить через все открытые процессы приложения и завершать требуемое. Такое приложение существует? Если нет, то какой я могу использовать для написания собственного приложения для него?

Ответы [ 2 ]

1 голос
/ 05 января 2010
  1. Если ваше приложение показывает [X] в углу, это кнопка Свернуть. Измените свойство MinimizeButton формы, и оно станет кнопкой [ok], которая закроет его.
  2. CF под Windows Mobile уже обеспечивает поведение одиночного приложения. Если приложение уже запущено, CF найдет его, найдет и выведет на передний план. Никакой дополнительной работы не требуется.
  3. Если вы действительно хотите найти процесс и прекратить его, это делается с помощью набора API Toolhelp. Вы можете использовать P / Invoke или использовать классы в Smart Device Framework.
1 голос
/ 05 января 2010

Как правило, это не то, как вы решаете эту проблему.

Вы должны держать 'mutex' в своем приложении, и когда оно запускается во второй раз, вы сначала проверяете этот мьютекс, и, если оно выполнено, вы знаете, что ваше приложение уже запущено.

Найдите подходящий глобальный мьютекс для хранения, а затем проверьте его (я не уверен, какой тип вы можете использовать в любой версии Windows Mobile, на которую вы нацеливаетесь, но простой поиск должен помочь вам найти ответ).

...