Amazon

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最近のトラックバック

無料ブログはココログ

Amazon2

« 簡易ランチャーの作成 その1 | トップページ | 簡易ランチャーの作成 その3 »

2013年11月30日 (土)

簡易ランチャーの作成 その2


ランチャー作成の第二回です。前回はとりあえずボタンを押したら指定された
アプリケーションが起動する所まで作成しましたので、今度はボタンではなく
キーを押下した時にアプリケーションが起動する様にします。

・簡易ランチャーの作成シリーズになっています
  簡易ランチャーの作成 その1
  簡易ランチャーの作成 その2
  簡易ランチャーの作成 その3
  簡易ランチャーの作成 その4
  簡易ランチャーの作成 その5
  ソース全体は記事の最後にソリューションごと掲載してあります。




今回私が狙っているランチャーの仕様は以下の通りです。

・キーボードだけでアプリケーションを起動できる

最近はスマートフォンやタブレット等が流行っており、情報やコンテンツを見ると
言った作業は段々これらにとって代わられようとしています。と、言う事は逆にPCを
使っている場合は、文章だったり、コードだったりと何かを書いている作業の比率が
高まってきていると思われます。そうなると、いちいちマウスまで手を伸ばして
スタートボタンからアプリケーションを選んで起動すると言うのは面倒になり、
キーボードからぱっと意図したアプリケーションを選択して起動できるタイプの
ランチャーが便利だと思います。

以上の理由から、今回は以下の様な機能を実装して見ます。

  ・起動するとWindowが非表示になる(簡易)
  ・左側のシフトキーを連続して二回押すとFormがアクティブになる
  ・その状態で"A"か"B"キーを押すとアプリケーションが起動する

ここまで実装すると、ランチャーらしくなってきます。

・Formがアクティブな際にキーを押下するとアプリを起動する処理

FormクラスでKeyDownイベントを使い、以下のメソッドを呼び出します。
ApplicationDictionaryのKey値にKeyそのものを使用しておいたので、入力されたキーで指定された
アプリケーションを簡単に呼び出せます。

アプリケーション起動後はまたウインドウを非表示にします。




・バックグラウンドでキー入力を検知する

続いて、今回のポイントであるウインドウが非表示の場合にキー入力を
検知する機能を実装します。(OrderdKeyWatcher クラス)

今回は、以前書いたこちらを利用します。
しかし、このコードは非常にいまいちですので、後で見直すことにします。
とりあえず、このままでも割と動くので一旦話を先に進めます。

・シフトキー2回でFormを表示する

Formクラスに以下を追加します。順番に以下の機能です。

  ・キーボード検知クラスと呼び出し用デリゲートの宣言
  ・ウインドウを表示するメソッド
  ・バックグラウンド処理からの呼び出し様メソッド

それぞれは特に大した事はしていません。ShowMessageBox()が実際の処理になります。



そして、Formのコンストラクタに以下の行を追加してキーボードをバックグラウンドで監視します。
こちらは先ほど作成したOrderdKeyWatcherクラスをインスタンス化して検知するキーに
左側のシフトキーを2回押下すると反応する様に設定しています。



・Formクラスの設定

最後にFormクラスのプロパティを設定をします。要するに起動時に見えなくしています。

  ・ShowInTaskbarをFalse
  ・MaximumSize,MinimumSize,Sizeを適当に同値に(例では300,200)
  ・StartPositionをCenterScreen
  ・WindowStateをMinimized



今回はこれで出来上がりです、これで左側のシフトキーを連続して二回押すと
Formがアクティブになり、その状態で"A"か"B"キーを押すとアプリケーションが
起動します。
今回までのソースはこちらです。

このままでもそりなりにランチャーっぽくなってきました。割と良い感じになってきました。
ただ、いまいちFormがアクティブにならない場合があります。次回はそこを修正してみます。







この文章も最近はまり始めたVim(GVim)で書いています。現在一番良く使うPCのキーボードは
こちらなのですが、この手のコンパクトなキーボードとの相性が非常に良いです。
まあ、以下みたいな本が販売されるぐらいですから、なかなか敷居の高いエディタだとは思いますけどね。。。
是非一度お試しください。機能が非常に豊富で奥の深いエディターです。



« 簡易ランチャーの作成 その1 | トップページ | 簡易ランチャーの作成 その3 »

C#」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1680410/54103742

この記事へのトラックバック一覧です: 簡易ランチャーの作成 その2:

« 簡易ランチャーの作成 その1 | トップページ | 簡易ランチャーの作成 その3 »