Доступ к другим процессам в приложении в стиле Win8 Metro - PullRequest
5 голосов
/ 17 октября 2011

Я пытаюсь создать приложение для Windows 8 в стиле «metro-style», которое будет работать как «убийца приложений».Для тех из вас, кто использовал Win8 (Tech Preview), вы заметите, что, открыв приложение в стиле metro, вы не сможете закрыть его (не заходя в диспетчер задач и не завершая процесс).

Моя проблема заключается в том, что я не могу получить доступ к «System.Diagnostics.Process» из своего приложения в стиле metro, и при этом я не знаю, есть ли аналогичная альтернатива в WinRT.Я также думал о создании отдельного приложения, в котором размещается служба для взаимодействия с моим приложением метро, ​​но я бы хотел сделать это с одним приложением.

По сути, я ищу шаблон для создания приложений в стиле Metro, использующих компоненты .NET 4.0, особенно для возможности перечисления и уничтожения других процессов, запущенных на ПК.

РАЗЪЯСНЕНИЕ: я менее обеспокоен этим конкретным приложением, чем доступом к этому типу .NET-функций в приложении в стиле Metro

Спасибо

Ответы [ 4 ]

8 голосов
/ 17 октября 2011

К вашему конкретному вопросу эта функциональность недоступна.Приложениям не разрешается взаимодействовать или мешать другим приложениям.

Чтобы ответить на более общий вопрос, API-интерфейсы, доступные для приложений в стиле Metro, ограничены по сравнению с доступными для настольных приложений.В C # имеется подмножество доступной библиотеки .Net, как и в Silverlight.То же самое верно для C ++, где доступно подмножество API-интерфейсов Win32 / COM для настольных компьютеров.

8 голосов
/ 17 октября 2011

Из того, что я понимаю (просматривая видео Build2011), приложение Metro не сможет этого сделать ...

Взаимодействие между процессами несколько ограничено конкретными контрактами (прелести справа: поиск,Отправить).

Думай о телефоне, а не о настольном компьютере.

Возможно, вы сможете создать приложение не для Metro Win8.

3 голосов
/ 17 октября 2011

Не тратьте слишком много времени на это. Я ожидаю, что в бете будет закрыт вариант (возможно, даже очарование). До этого используйте клавиатуру Alt-F4 или диспетчер задач

0 голосов
/ 28 октября 2011

C ++:

Window::Current->CoreWindow->Close();

или

Window::Current->Close();

Я не исследовал разницу между этими двумя (точнее,Я не знаю, чем CoreWindow отличается от Current. Могу предположить, что ...

Я использую Oracle VBox с Win8 на моей машине с Win7 для разработки приложения C ++ Metro с использованием VS 11Я использовал оба вышеупомянутых метода. Я проверил в диспетчере задач, что приложение не запускалось ни на Win8, ни на симуляторе.

...