繁体   English   中英

QDirIterator和Windows快捷方式

[英]QDirIterator and Windows Shortcuts

我正在尝试从针对Windows与MinGW 4.8.1交叉编译的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。

有什么建议么?

该代码可以正常工作,但是必须注意,Windows从多个位置组合了桌面上显示的文件,例如

  • %USERPROFILE%\\Desktop
  • %ALLUSERSPROFILE%\\Desktop
  • %PUBLIC%\\Desktop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM