読者です 読者をやめる 読者になる 読者になる
スポンサーリンク

Windows8.1で,ストアアプリの起動ショートカットをデスクトップに作成・設置する簡単な方法 (デスクトップアプリではないWindowsストアアプリもOK)

windows 8 コマンドプロンプト WSH/JScript キー操作の自動化 タブレット


Windows8や8.1のタブレットPC等で,

ストアアプリのショートカットをデスクトップに作成する方法。

非常に簡単だ。


たとえば「天気」というストアアプリを起動するショートカットがほしい場合,

メモ帳で,下記のファイルをデスクトップに作成すればよい。


デスクトップからストアアプリを起動.cmd

@if(0)==(0) ECHO OFF
start wscript.exe //nologo //E:JScript "%~f0" %*
GOTO :EOF
@end


// ここで指定したWindowsストアアプリをデスクトップから起動


// 開きたいストアアプリの名前
var app_name = "天気"; // ※必要に応じて,この部分を変更


var sh = WScript.CreateObject("WScript.Shell");
 
// アプリ一覧を開く
sh.SendKeys( "^{ESC}" ) ;
WScript.Sleep( 500 );

// 何か適当に文字を入力して検索ボックスを開く
sh.SendKeys( "a" );
WScript.Sleep( 200 );

// 検索ボックスに入力された文字を消去
sh.SendKeys( "^a" );
sh.SendKeys( "{BS}" );
WScript.Sleep( 200 );

// 対象アプリ名をクリップボードに格納
sh.Run( "cmd.exe /c echo " + app_name + "| clip", 0, true );

// ペーストして実行
sh.SendKeys( "^v" );
WScript.Sleep( 200 ); 
sh.SendKeys( "{ENTER}" );

で,デスクトップ上で上記のファイルをダブルクリック(タッチ操作ならダブルタップ)すれば,

ストアアプリの「天気」が起動する。


「天気」ではなく「カレンダー」とか,好きなアプリ名に変更してもOK。

たった1つのテキストファイルで済むので,手軽で便利だ。

参考

上記のコードの処理の流れ:

ストアアプリを自動起動/コマンドラインからストアアプリ起動 | Windows8 Room
http://win8room.net/2013/05/22/2439.html

  • スタートメニューに移動後,検索チャームを開き、ストアアプリ名を貼り付け実行するスクリプト
  • 英語環境であればSendKeysで直接ストアアプリ名を渡せば良いが、日本語名のストアアプリだとSendKeysで渡せないため、アプリ名をクリップボードにコピー後Ctrl + Vで貼り付ける


Windows 8タブレットのストアアプリをVB.NETで起動する
http://itmemo.net-luck.com/windows-8-...

  • 何かキーを押下し、「チャーム」を表示させ、「検索」を入力できる状態にする
  • クリップボードの内容(「カメラ」)を貼り付ける(「Ctrl+v」)


BATとWSHのコードを1ファイルに混在させるためのshebang記法(複雑なバッチを1ファイルで実現)
http://computer-technology.hateblo.jp/entry/20131025/p1

  • WSH/JScriptバッチのコードを,単一のBATファイルの中に埋め込むことが可能


コマンドプロンプトの「clip」コマンドと,WSHのWScript#Runについて:

WSHで,Sendkeysメソッドで日本語を文字化けせず自動入力する方法 (VBScript+JScriptの両方で可能。clipコマンドを使用)
http://computer-technology.hateblo.jp/entry/20150221/p4

  • Windows Vista以降であれば,コマンドプロンプトでclipコマンドを使える


Windows管理者のためのWindows Script Host入門:第5回 WshShellオブジェクトの詳細(1) (2/4) - @IT
http://www.atmarkit.co.jp/ait/article...

  • Runメソッドの第2パラメータを指定することで、実行するウィンドウの状態を制御できる。
  • 0: ウィンドウを非表示にし、別のウィンドウをアクティブにする。
  • Runメソッドの第3パラメータでは、起動したプログラムの終了を待つかどうかを指定

別の方法で,ストアアプリをデスクトップから起動できるか?

Windows Updateを適用済みの「Windows 8.1 Update」なら,

ストアアプリをデスクトップのタスクバーにピン留めできる:

Windows 8.1タブレット等で,デスクトップにストアアプリ起動のショートカット(タスクバー上のクイック起動的なピン留めアイコン)を設置する方法。8.1 Updateに更新すればすぐ可能
http://computer-technology.hateblo.jp/entry/20150221/p2

  • Windows 8.1で正常にWindows Updateを適用すれば, Windows ストアアプリを起動するためのアイコンを, デスクトップ画面のタスクバー上に置ける(「ピン留め」できる)。


正真正銘の「ショートカット」を直接つくることは,

Windows8のセキュリティ(アプリのサンドボックス)の仕組み上,あえてできなくなっている:

Windows8.1タブレット等で,ストアアプリをデスクトップにショートカット設置するのは不可能。10で改善される。タスクバーピン留めなどで代替せよ
http://computer-technology.hateblo.jp/entry/20150222/p1

  • 勝手にアプリを起動できないように「サンドボックス化」されている
  • アプリの実体は今までどおり「exeファイル」なんだけど,それを直接起動することはできない
  • そのため,ストアアプリはコマンド経由・ショートカット経由では起動できない

今回の記事で紹介した,バッチファイルによるストアアプリの起動は

かなり裏技だ。しかしちゃんと動作する。


Windows 10では,こういう裏技を使わなくても,

デスクトップ上にストアアプリのショートカットを作成することが標準機能として可能になる見込みだ。


そして嬉しいことに,Windows 8 / 8.1 は,Windows 10に無償でアップグレードできる。

Windows8・8.1タブレットは,Windows10に無料でアップグレードできる。いつから?→10の発売から1年間。ストアアプリの使いづらさが改善される
http://computer-technology.hateblo.jp/entry/20150220/p1

  • Windows7やWindows 8は,Windows 10に無料でアップグレードできる。 ただし10の発売開始から1年間の間。 ということはつまり,その期間内にWindows8搭載のマシンを買えば,10を買ったのと同じ

10で操作性が改善されるのを待とう。

それまでの間は,この記事で紹介したバッチを使ってしのげば大丈夫。


関連する記事:

Windows8.1タブレットPCで,「画面の自動回転の許可」を,バッチでワンタッチで切り替える方法 (画面方向の縦横のロックをCUIで簡単に設定・解除)
http://language-and-engineering.hatenablog.jp/entry/20150219/WindowsEightTabl...


コマンドプロンプトから,Win32 APIや任意のDLLを呼び出して実行しよう (コマンドプロンプトから画面キャプチャする方法の仕組みを理解)
http://language-and-engineering.hatenablog.jp/entry/20100804/p1


Excelブックの「シート目次」を,自動的に作成するバッチ (WSH/JScriptで,各シートへのリンク付きの目次を自動生成)
http://language-and-engineering.hatenablog.jp/entry/20110921/p1


バッチで,レジストリの値の読み取り・書き込み・存在判定をしよう(WSH/JScriptでレジストリ操作のサンプルコード)
http://language-and-engineering.hatenablog.jp/entry/20100908/p1


ウィルス対策ソフトをかいくぐって ADODB.Stream を使う (WSH/JScriptでUTF8の入出力・続編)
http://language-and-engineering.hatenablog.jp/entry/20090216/p1


Windows XPを高速化し,長持ちさせて使い続けるTips
http://language-and-engineering.hatenablog.jp/entry/20130501/WinXPLongUse