Windows 8のアプリケーションは、インストーラなどからインストールする通常のアプリケーションと、Windowsストアからダウンロード・インストールする「ストアアプリ」の2種類がある。
「ストアアプリ」は、通常のアプリケーションと異なり、他のプログラムから起動することが出来ない。
試しに、ストアアプリの本体の場所「C:\Program Files\WindowsApps」内にあるEXEファイルを管理者権限でキックしても、起動することが出来なかった。
何かやり方ないかと調べたところ、VBScriptで無理やり起動している方が。
詳細はこちら⇒「ストアアプリを自動起動/コマンドラインからストアアプリ起動 | Windows8 Room」
これと同様のことをVB.NETでやってみた。
なお、Visual Studioのバージョンは以下です。
- Visual Studio Professional 2012
やってる内容はこうだ。
- クリップボードにストアアプリの名称「カメラ」を保持する
- 「Windows」キーで「スタート画面」を表示させる
- 何かキー押下し、「チャーム」を表示させ、「検索」を入力できる状態にする
- クリップボードの内容(「カメラ」)を貼り付ける(「Ctrl+v」)
- 「Enter」キーを押下し、ストアアプリ「カメラ」を起動する
実際のソースはこちら。
'クリップボードクリア Clipboard.Clear() 'クリップボードにテキスト設定 Clipboard.SetText("カメラ") '「Ctrl+Esc」キー(Windowsキーと同様の動き) SendKeys.Send("^{ESC}") System.Threading.Thread.Sleep(1) '「a」キーと「BS」キー(検索ボックス表示) SendKeys.Send("a") SendKeys.Send("{BS}") System.Threading.Thread.Sleep(1) '「Ctrl+v」キー(貼り付け) SendKeys.Send("^v") System.Threading.Thread.Sleep(1) '「Enter」キー(カメラアプリ実行) SendKeys.Send("{ENTER}")
何とも無理やりなやり方だが、いちようストアアプリを起動できた。
このやり方はWindows 8のみで通用するやり方なので、事前にOSの判定を行ってやる方がよさそう。
OSの判定はこちらの記事参照⇒VB.NETでWindowsのOSバージョン情報を取得する(Windows 2000~8)
参考サイト
ストアアプリを自動起動/コマンドラインからストアアプリ起動 | Windows8 Room
コピー・貼り付け・切り取り・元に戻す – VBレスキュー(花ちゃん) Visual Basic,VS6.0,VB6.0,サンプル,Tips
Windows8のコマンドプロンプトを管理者で起動方法は面倒くさい!! (簡単に起動する方法アリ):アシマネのIT奮闘日記:So-netブログ
コメント