|
|
||||
アプリケーション > ランチャーの作り方を教えて [ 1 | 2 ] |
|||||
ランチャーの作り方を教えて - 2/2 |
更新 : 2009/01/05 |
||||
|
|
|||||
まず
OpenDialog1 からファイル名を取得し、Image1
にアイコンを表示できるように TPicture
オブジェクト(アイコン、ビットマップなどのグラフィックが入っています)の内容をアイコングラフィック(.ico)に指定しておきます(Picture->Icon)。 そして ExtractAssociatedIcon 関数で選ばれたファイルのアイコンハンドルを取得します。 この Win32API 関数は、Windows によってアプリケーションに提供されるハンドル(HInstance)と実行可能パス付きファイル名の入る文字列(OpenDialog1->FileName.c_str())、アイコンの ID が格納されるポインタ(&n)を指定することで、関連付けられているアイコンのハンドルを返します。 以上で取得したアイコンが Image1 に表示されます。 取得したファイル名を変数 appname に代入しておきます。
ついで、ポップアップメニューにアプリを削除するコードを追加します。 削除コードは、appname に登録したファイル名を削除して、Image1 に表示されているアイコンを消します。
最後に、ランチャーに登録したアプリを起動するコードを書きます。 アプリ名が登録されていなければイベントを終わりにします。 登録されていれば、ShellExecute 関数に、名前を渡してアプリを起動させます。 関数の引数を順番に見ていきます。 Application->Handle ですが、このプロパティでアプリケーションのメインフォームのウィンドウハンドルにアクセスできます。 次の引数には、"open" か "print" が指定でき、appname.c_str() は、オープンするファイル名。NULL 二つは、実行可能ファイルのパラメータとデフォルトディレクトリです。最後の引数には、オープン時にファイルを表示するかどうかを指定します。
コンパイルして実行してみてください。ランチャーがちゃんと機能しましたか? ランチャーの作成は以上です。お疲れ様でした。 今後の課題 今回作成したランチャーは、実用で使うには機能不足です。 実際には、複数アプリの登録内容が保持でき、再起動後復元されなければ意味がありません。また、アプリの登録/削除/移動などがマウスのドラッグ&ドロップで操作できれば便利です。 これらを考えるとまだまだ工夫する必要があります。時間のある方はぜひ拡張してみてください。 ダウンロードのページからフリーウエア
Launch2
がダウンロードできます。参考にしてください。イメージ画像を貼り付けておきます。
|