ショートカットファイルにショートカットキーを設定する関数を作る。 //********************************************************* // ショートカットにショートカットキーを設定する // 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)を作成する | |