|
最近、ソフトのヘルプから「作者のホームページを見る」というものをよく見かけるようになった。そのボタンを押すとブラウザーが立ち上がり、そのページへ勝手にアクセスしようとする。これはいったいどういうしくみであろうか? 答えは簡単である「ShellExecute()」なる関数を呼び出して終わり。これだけである。この関数は別にブラウザーだけではなく、実行ファイルをパラメータ付きで起動させる事もできるし、関連付けされているファイルであれば、そのファイルを指定するだけで関連付けされたソフトが起動する仕組みになっている。詳細はヘルプを見れば一目瞭然なのだが、それではこのページの(おっと!これは日記だ!)意味が無い。きちんと書こうと思う。(けっしてネタ切れではない!) |
|
|
HINSTANCE ShellExecute( HWND hwnd, //親 Windowのハンドル
LPCTSTR lpOperation, //どのような状態で呼ぶか
LPCTSTR lpFile, //呼び出したいファイルのパス
LPCTSTR lpParameters,//パラメータ
LPCTSTR lpDirectory, //デフォルトディレクトリ
INT nShowCmd //どのような状態でWindowを開くか
);
っとまぁ、こんな感じである。例えば、先ほど書いたようにブラウザに自分のホームページを出すようにするには
::ShellExecute( NULL, NULL, "http://www.netlaputa.or.jp/~enomoto", NULL, NULL, SW_SHOWNORMAL ); |
|
|
|
とするだけである。その他にもパラメータを変えてやることでさまざまなことができるようになる。例としては、テキストファイルを開く動作もできるし、HTMLで書いたヘルプの起動もできる。いろいろなケースに使うことができそうだ。 今回は、おまけのような感じになってしまったが、このページを読んでいる方から多数の質問と要望があったため一応書き留めておいた。 |