|
ショートカットファイルにショートカットキーを設定する関数を作る。 //*********************************************************
// ショートカットにショートカットキーを設定する
// LinkFile ……… ショートカットファイルの名前(*.lnk)
// Hk ……… 特殊キーの組み合わせ(HOTKEYF_ALT | HOTKEYF_SHIFT など)
// Vk ……… 仮想キーコード(VK_UP や VK_NUMPAD0 など)
//*********************************************************
BOOL
SetShellLinkHotkey
(
const char *LinkFile,
BYTE Hk,
BYTE Vk
)
{
IShellLink *psl;
WCHAR wcLinkFile[MAX_PATH+1];
CoInitialize( NULL );
if ( S_OK == CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **)&psl ) )
{
MultiByteToWideChar( CP_ACP, 0, LinkFile, -1, wcLinkFile, MAX_PATH );
if ( LoadShellLink( psl, wcLinkFile, STGM_READ ) ) // ショートカットのロード
{
psl->SetHotkey( MAKEWORD( Vk, Hk ) ); // ショートカットキーの設定
if ( SaveShellLink( psl, wcLinkFile, TRUE ) ) // ショートカットの保存
{
psl->Release();
CoUninitialize();
return TRUE; // 成功
}
}
psl->Release();
}
CoUninitialize();
return FALSE; // 失敗
}//SetShellLinkHotkey
関連
・ショートカットファイル(.lnk)を作成する | |