antenn-a
company profile

MFC航海日記 十一日目(他のアプリケーション起動方法)

最近、ソフトのヘルプから「作者のホームページを見る」というものをよく見かけるようになった。そのボタンを押すとブラウザーが立ち上がり、そのページへ勝手にアクセスしようとする。これはいったいどういうしくみであろうか?
答えは簡単である「ShellExecute()」なる関数を呼び出して終わり。これだけである。この関数は別にブラウザーだけではなく、実行ファイルをパラメータ付きで起動させる事もできるし、関連付けされているファイルであれば、そのファイルを指定するだけで関連付けされたソフトが起動する仕組みになっている。詳細はヘルプを見れば一目瞭然なのだが、それではこのページの(おっと!これは日記だ!)意味が無い。きちんと書こうと思う。(けっしてネタ切れではない!)

prev

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
);

prev

とするだけである。その他にもパラメータを変えてやることでさまざまなことができるようになる。例としては、テキストファイルを開く動作もできるし、HTMLで書いたヘルプの起動もできる。いろいろなケースに使うことができそうだ。
今回は、おまけのような感じになってしまったが、このページを読んでいる方から多数の質問と要望があったため一応書き留めておいた。


antenn-a

prev next


antenn-a