我正在尝试使用MinGW 4.8.1为Windows交叉编译的QT 5.1应用程序找到用户桌面上的快捷方式。
我的代码段
QFileInfoList result;
QDir userDesktopDir = userDesktopDirectory();
if (userDesktopDir.exists())
{
QDirIterator userDesktopIterator(userDesktopDir.absolutePath(),
QStringList() << "*.lnk",
QDir::Files | QDir::Hidden | QDir::System,
QDirIterator::Subdirectories);
while (userDesktopIterator.hasNext())
{
QFileInfo shortcut(userDesktopIterator.next());
if (!result.contains(shortcut))
{
result.append(shortcut);
}
}
}
在wine中运行时工作正常,但在Windows上运行时省略所有快捷方式。
userDesktopDirectory()
的结果正确地指向C:\ Users \ MyUserName \ Desktop。
有什么建议吗?
答案 0 :(得分:0)
代码工作正常,但需要注意的是Windows将桌面上显示的文件从多个位置合并,例如
%USERPROFILE%\Desktop
%ALLUSERSPROFILE%\Desktop
%PUBLIC%\Desktop