create_shell_link
今日はWindows VistaのGame Explorerを弄って遊んでました。
ショートカットファイルを作成する必要があったので、ついでにHamigaki.Filesystemにショートカット作成関数create_shell_link()を追加しました。
shell_link.cpp
インタフェースは、
void create_shell_link( const boost::filesystem::path& old_fp, // ターゲットファイル名 const boost::filesystem::path& new_fp // ショートカット名 );
で、細かいオプションは設定できません。
ショートカットの拡張子が「.lnk」でない場合は自動で追加されショートカット名には「.lnk」を付けて呼び出す必要があり、作業ディレクトリはターゲットファイルの親ディレクトリになります。
あと、CoInitialize()/CoUninitialize()は呼ばないので、呼び出し側で管理する必要があります。