1

デスクトップ プログラムから WinAPI 関数を使用して、すべての Windows 8 アプリ(組み込みのメール アプリやニュース アプリなど)を開いたり管理したりすることはできますか?

管理」とは、Windows 8 アプリを開いたり、閉じたり、(左右に) スナップしたり、列挙したりすることを意味します。

アプリは特別な URI スキームに登録できるので、リンク (ShellExecute()および関連する関数を介して) でアプリを開くことができることは知っていますが、そうでない場合はどうすればよいでしょうか?


Win8 App Dev ブログでAshwin Needamangalaのブログ投稿を見つけました。C++、WinAPI、および COM を使用したアプリのアクティブ化とライフサイクル状態の自動化について説明しています: http://blogs.msdn.com/b/windowsappdev/archive/2012/ 09/04/automating-the-testing-of-windows-8-apps.aspx

4

1 に答える 1

2

列挙はPackageManagerクラスを介して機能します。IApplicationActivationManagerインターフェイスを使用して、アプリを開くことができます。そして、あなたがそれを開いてハンドルを持っている場合は、おそらくTerminateProcessを呼び出すこともできますが、私はそれを試していません。

編集: apprunner ユーティリティをオープンソース化しました。パッケージをインストール、実行、アンインストールでき、PackageManager と IApplicationActivationManager の使用方法を示しています。

それとは別に、他の相互作用 (つまり、スナップ/スナップ解除) は外部からはできないようです。

于 2013-02-05T10:12:37.723 に答える