3

C#Metroアプリで実行中のMetroStyleアプリのリストを取得できるかどうか疑問に思いました。私はこれをWindows8(Windows Phoneではない)で実行しようとしています。

4

2 に答える 2

4

私はDelphiでAlt-Tabジェスチャの代替を書いているので、これは実行中のModernUI(かつてはMetroとして知られていました)アプリケーションを一覧表示する方法です。Windows8リリースプレビューでのみテストしましたが、それでも機能するかどうかはわかりません。 Windows8RTMの場合。

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は好きなように保存できます。

于 2012-08-18T22:12:50.240 に答える
3

ありえない。それはサンドボックスの違反になります。実行しているアプリに関する情報をランダムなアプリが取得して、それをホームに報告することは望ましくありません。

于 2012-06-26T07:01:09.030 に答える