//快捷方式绝对路径
TCHAR ExcelFileName[260];
//起始位置、目标位置等输出
TCHAR ExcelFilePath[260];
IShellLink* psl = NULL;
// Initialize the COM library.
HRESULT hr = CoInitialize(NULL);
if (FAILED(hr))
{
printf("ERROR - Could not initialize COM library");
return false;
}
HRESULT hres = ::CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl);
if (SUCCEEDED(hres))
{
IPersistFile* ppf = NULL;
hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
if (SUCCEEDED(hres))
{
hres = ppf->Load(ExcelFileName, STGM_READ);
if (SUCCEEDED(hres))
{
//1.目标位置
WIN32_FIND_DATA wfd;
hres = psl->GetPath(ExcelFilePath, MAX_PATH, &wfd, SLGP_UNCPRIORITY);
//2.起始位置
hres = psl->GetWorkingDirectory(ExcelFilePath, MAX_PATH);
//3.备注
hres = psl->GetDescription(ExcelFilePath, MAX_PATH);
//4.快捷键
hres = psl->GetHotkey(&shortattr.HotKey_);
}
ppf->Release();
}
psl->Release();
}
CoUninitialize();
windows下C++获取快捷方式的属性
于 2021-05-17 10:27:59 首次发布