Qt之创建桌面和开始菜单快捷方式

这篇博客介绍了如何在Win7和Win8系统中利用Qt框架来创建桌面及开始菜单的快捷方式,详细步骤包括创建桌面快捷方式、创建开始菜单快捷方式,并且讲解了如何将这些快捷方式锁定到任务栏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将安装好的酷狗拷贝到C:\data目录中

1.创建桌面快捷方式

QFile::link("C:/data/KuGou.exe", QStandardPaths::writableLocation(QStandardPaths::DesktopLocation).append("/").append("KuGou.lnk"));

2.创建开始菜单快捷方式

QString startMenuPath=QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation).append("/").append(QStringLiteral("酷狗"));
QDir dir(startMenuPath);
if(!dir.exists())
{
     dir.mkdir(startMenuPath);
}
if(dir.exists())
{
     QFile::link("C:/data/KuGou.exe", startMenuPath.append("/").append("KuGou.lnk"));
}

3.将快捷方式锁定到任务栏

Win7、Win8有效

   //快捷方式必须存在,才能锁定到任务栏
   QFile::lin
### 创建 Qt 应用程序的桌面快捷方式 为了创建 Qt 应用程序的桌面快捷方式,在 Windows 平台下可以采用编程的方式实现这一功能。具体来说,可以通过 Shell API 来完成此操作。 #### 使用 Shell API 创建快捷方式 在 C++ 中利用 `QDir` `QFileInfo` 类来获取用户的桌面路径,并借助于 COM 接口中的 `IShellLink` 及其相关接口来构建快捷方式对象并保存至指定位置: ```cpp #include <windows.h> #include <shlobj.h> // IShellLink, IPersistFile interfaces are declared here. #include <QString> #include <QDir> void createShortcut(const QString& targetPath, const QString& shortcutName){ CoInitialize(NULL); IShellLink* psl; HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl); if(SUCCEEDED(hres)){ psl->SetPath(targetPath.toStdWString().c_str()); IPersistFile *ppf; hres = psl->QueryInterface(IID_IPersistFile,(void**)&ppf); if(SUCCEEDED(hres)){ QString desktopPath = QDir::homePath() + "/Desktop/" + shortcutName + ".lnk"; hres = ppf->Save((wchar_t*)(desktopPath.utf16()), TRUE); ppf->Release(); } psl->Release(); } CoUninitialize(); } ``` 上述代码展示了如何通过调用 Windows 的 Shell API 函数创建指向特定目标的应用程序快捷方式[^1]。 当希望将该逻辑集成到基于 Qt 的项目当中时,则可以在适当的地方调用这个方法,传入可执行文件的位置以及想要设置的名字作为参数即可生成相应的.lnk 文件放在桌面上[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值