2012-06-25 3 views

ответ

3

Невозможно. Это будет нарушение песочницы. Вы не хотите, чтобы какое-то случайное приложение получало информацию о запускаемых вами приложениях и сообщало об этом домой.

+0

Это правильный ответ. Любой, кто пытается собрать эту информацию, может легко использовать ее для зла. –

+0

Спасибо. Я думал о создании полноэкранного переключателя MetroApp. (Что-то вроде StartScreen, но для запуска приложений). Разве это невозможно? –

+0

Пожалуйста, взгляните на это: http://www.windowsphone.com/en-US/apps/a9e0ebe7-567a-e011-986b-78e7d1fa76f8 Я собираюсь создать аналогичное приложение для Windows 8, но только для запуска приложений , Поскольку они похожи, я подумал, возможно, это возможно сделать так, как это в Windows 8. –

4

Я пишу альтернативу Alt-Tab с Delphi, так что я нашел список запущенных приложений ModernUI (когда-то известных Metro), я тестировал его только с помощью предварительного просмотра Windows 8, я не знаю если он все еще работает с RTM Windows 8.

procedure ShowRunningModernUIApps; 
var 
    metroapp:hwnd; 
    strAppTitle: array[0..MAX_PATH]of char; 
    h:integer; 
    strListApps:string; 
begin 
    metroapp:=FindWindow('Windows.UI.Core.CoreWindow',nil); 
    if metroapp <>0 then 
    begin 
    GetWindowText(metroapp,strAppTitle,MAX_PATH); 
    strListApps:='Running ModernUI Apps : '+strAppTitle; 
    h:=0; 
    while h=0 do 
    begin 
     metroapp:=FindWindowEx(0,metroapp,'Windows.UI.Core.CoreWindow',nil); 
     if metroapp<>0 then 
     begin 
     GetWindowText(metroapp,strAppTitle,MAX_PATH); 
     strListApps:=strListApps+','+strAppTitle; 
     end 
     else h:=1; //let's finish the search loop 

    end; 
    end; 
    ShowMessage(strListApps); 

end; 

Это показывает текущие названия приложений ModernUI, вы можете сохранить их HWND, как вам нравится.

+0

Спасибо за ответ, но я хочу получить список в приложении Metro, а не в настольном приложении. –

+0

Я вижу, что это не разрешено, но я думаю, что альтернативный способ может использовать связь с веб-серверами с сервисом или приложением (сервером веб-серверов), которые могут получить доступ к этой информации, перечислить приложения и вернуть их в приложение метро с Windows.Networking.Sockets, а также отправлять команды для переключения на них. По крайней мере, это будет работать на Windows x86/x64, я не знаю о Windows8 для ARM. Это может быть альтернативой, может быть, раздражать, но это работает. – vhanla

+0

Да. Я создал такое приложение. Думаю, это сработает. Спасибо что подметил это. –

Смежные вопросы