UsefullCode.net
第15回 「送る」メニューから画像を開く
2006年12月24日 19:51
0件のコメント
起動時にコマンドラインで指定されたファイルを開くようにする。これによりEXEファイルやEXEファイルへのショートカットへ画像ファイルをドラッグ・アンド・ドロップしても画像が開くようになる。
コマンドラインの取得および解析にはCommandLineToArgvWとGetCommandLineWを利用した。GetCommandLineはユニコードおよび非ユニコードバージョンがAPIとして用意されているが、CommandLineToArgvWは非ユニコード版がない(対応OSもWindows 2000以降)。そのため取得したファイル名はCStringに一度変換してから処理している。
GDI+へ渡すファイル名はもともとユニコードなので本来変換の必要はないのだが...
LPWSTR* ppszArglist;
int nArgs;
//コマンドライン引数で指定された画像を読み込む
ppszArglist = ::CommandLineToArgvW(::GetCommandLineW(),&nArgs);
if(ppszArglist && nArgs > 1)
LoadImage((CAtlString)ppszArglist[1]);
::LocalFree(ppszArglist);
コマンドラインから引数の対応により、「送る」メニューからの画像表示にも対応する。
当然のことながら利用するためにはあらかじめSendToフォルダへショートカットを作っておく必要がある。Windows Vistaの場合のフォルダ位置は
C:\ Users\ ○○\ AppData\ Roaming\ Microsoft\ Windows\ SendTo\
になる。
プロジェクトファイルをダウンロード
第14回 カーソルキーで次の画像を表示する
MFCでテキストファイルを読み込む
トップページに戻る

issei.