递归火山软件开发平台
标题:
枚举桌面图标
[打印本页]
作者:
兵三进一
时间:
2023-7-16 10:33
标题:
枚举桌面图标
本帖最后由 兵三进一 于 2024-10-5 08:32 编辑
水平有限,拒绝献丑
作者:
创世魂
时间:
2023-7-16 10:49
感谢大佬贡献
作者:
兵三进一
时间:
2023-7-16 11:01
创世魂 发表于 2023-7-16 10:49
感谢大佬贡献
老大真会开玩笑,整得俺受宠若惊了
作者:
落雪有声
时间:
2023-7-16 16:27
感谢大佬贡献
作者:
guangye1
时间:
2024-1-4 23:30
我看看怎么个事
作者:
77988229
时间:
2024-8-15 21:24
1111111
111111111111111111
作者:
urenai
时间:
2024-8-15 22:17
#include <windows.h>
#include <shlobj.h> // For SHGetDesktopFolder and related functions
#include <tchar.h>
#include <objbase.h> // For CoInitializeEx
#include <strsafe.h>
#pragma comment(lib, "shell32.lib")
// Function to display the name of a file or folder
void DisplayItemName(IShellFolder* pDesktopFolder, PCUIDLIST_RELATIVE pidl)
{
LPWSTR pszName = nullptr;
if (SUCCEEDED(pDesktopFolder->GetDisplayNameOf(pidl, SHGDN_NORMAL, &pszName)))
{
OutputDebugStringW(pszName);
CoTaskMemFree(pszName);
}
}
int main()
{
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
if (SUCCEEDED(hr))
{
IShellFolder* pDesktopFolder = NULL;
hr = SHGetDesktopFolder(&pDesktopFolder);
if (SUCCEEDED(hr))
{
UINT cFetched = 0;
PCUIDLIST_RELATIVE pidl;
while (S_OK == (hr = pDesktopFolder->EnumObjects(NULL, 0, &pidl, 1, &cFetched)) && cFetched > 0)
{
DisplayItemName(pDesktopFolder, pidl);
pDesktopFolder->ExtractIcon(NULL, pidl, 0, NULL, NULL, 0, NULL, NULL);
ILFree(pidl);
cFetched = 0;
}
pDesktopFolder->Release();
}
CoUninitialize();
}
return 0;
}
复制代码
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4