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

« 簡易ランチャーの作成 その2 | トップページ | 簡易ランチャーの作成 その4 (C# バックグラウンドでキー入力を取得する) »

2013年12月 1日 (日)

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


ランチャー作成の第三回です。今回は画面表示周りを拡張します。
前回はキーボードからアプリケーションを起動できる様になりましたので、
今回はもう少し操作性を改善してみます。

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


前回迄の問題点としては、Form自身を表示させてランチャー化しようかと
考えていましたが、いまいち最前面に表示できたり・できなかったりと
挙動が安定していませんでした。ランチャー部分の表示をダイアログ化して
これに対応したいと思います。

今回のイメージとしては以下の様な物を狙います。

  ・起動するとWindowが非表示になる(簡易)
  ・左側のシフトキーを連続して二回押すとダイアログが表示される
  ・その状態で"A"、"B"、"C"キーを押すとアプリケーションが起動する

1. 表示用のダイアログを作成する
  ダイアログを作成すると言っても、ダイアログと言うクラスがある訳では
  ないので、ダイアログ用のFormを作成します。
  
  Formクラスを作成して、適当な大きさに設定します。その他プロパティは
  以下の様に設定します。

    // ダイアログボックス用の設定
    Text = "LauncherDialog"; // ダイアログの表示名
    MaximizeBox = false; // 最大化ボタン
    MinimizeBox = false; // 最小化ボタン
    ShowInTaskbar = false; // タスクバー上に表示
    FormBorderStyle = FormBorderStyle.FixedDialog;  // 境界のスタイル
    StartPosition = FormStartPosition.CenterScreen;  // 中央に配置


  続いてListViewを配置して、アプリケーション名とキーを表示する為に
  ListViewの"列の編集"からColumnHeaderに"アプリケーション名"、"キー"を追加します。
  
  設定すると以下の様な見た目になるはずです。

L_3_1



2. ダイアログからアプリケーションを起動する様にロジックを修正する
  以下の様にしてみました。Form2_KeyDownは、ListViewとFormの両方のKeyDownイベントを
  拾って処理するように記述しています。

  要約すると

    ・起動するアプリケーションのリストは呼び出し元から貰う
    ・ダイアログ表示時にListViewにアプリケーション名を表示する
    ・キーを押下(KeyDownイベント発生)時にアプリケーションを起動して閉じる

  です。最後のアプリケーションの起動は指定されたキーが無い場合もダイアログを
  閉じますので、"ESC"を押すとダイアログが閉じます。(他のキーでも閉じますが)



3. 元のFormクラスの制御ロジックを修正する
  Form1クラスはランチャー機能が不要になったので初期化・キーの監視開始だけを
  処理する様に整理しています。



今回の作業はここまでです。ランチャーとしてはこの状態でも十分機能するようになって来ました。
前回後回しにしていた実行するアプリケーションの一覧表示機能も実装したので見た目も
それっぽくなってきました。
今回のソースはこちらです。


L_3_2


これで基本機能は実装できましたが、なんていう事でしょう…まだランチャーを終了する為の機能がありません。(苦笑
(今はVisualStudioのデバッグモードで動かしているからセーフ。間違ってEXEをダブルクリックした場合は
タスクマネージャから停止させて下さい)
次回はその辺りを実装して簡易ランチャーを完成としたいと思います。



VisualStudioの製品版が欲しいなぁ…と、思う今日この頃。Express版で何一つ困っていないので
今の所買うつもりはありませんが…。やっぱり個人で手を出せる値段ではないですよね。

CIと言うか、ビルド環境みたいな物を作ってみたいと思っているのですが、.netだとやっぱりTFSなんですかね。
フリー版ができたとは言え、インストールするだけでもなかなか敷居の高い一品です。
サーバーも別に立ててなんて考えると…ますます面倒ですが。。。




« 簡易ランチャーの作成 その2 | トップページ | 簡易ランチャーの作成 その4 (C# バックグラウンドでキー入力を取得する) »

C#」カテゴリの記事

コメント

コメントを書く

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

トラックバック

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

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

« 簡易ランチャーの作成 その2 | トップページ | 簡易ランチャーの作成 その4 (C# バックグラウンドでキー入力を取得する) »