ShellExecute函数打开文件的方法

    // 获取依据文件工作区文件夹
    const QString sBasisEditPath;


    QUrl oUrl("file:///" + sBasisEditPath + basisfileName);
    const QString sNativeFilePath = oUrl.isLocalFile() ? QDir::toNativeSeparators(oUrl.toLocalFile())
                                                      : oUrl.toString(QUrl::FullyEncoded);


    const quintptr result = (quintptr)::ShellExecute(0, 0, (wchar_t*)sNativeFilePath.utf16(), 0, 0,
                                                     SW_SHOW);
    if (result <= 32)
    {
        switch(result)
        {
            case 2:
            {
                QMessageBox::tip(QObject::tr("GPS_FileNotFound"), parent);
            }
            break;
            case 3:
            {
                QMessageBox::tip(QObject::tr("GPS_PathNotFound"), parent);
            }
            break;
            case 5:
            {
                QMessageBox::tip(QObject::tr("GPS_AccessDenied"), parent);
            }
            break;
            case 8:
            {
                QMessageBox::tip(QObject::tr("GPS_OutOfMemory"), parent);
            }
            break;
            case 32:
            {
                QMessageBox::tip(QObject::tr("GPS_DLLNotFound"), parent);
            }
            break;
            case 26:
            {
                QMessageBox::tip(QObject::tr("GPS_ASharingViolationOccurred"), parent);
            }
            break;
            case 27:
            {
                QMessageBox::tip(QObject::tr("GPS_IncompleteOrInvalidFileAssociation"), parent);
            }
            break;
            case 28:
            {
                QMessageBox::tip(QObject::tr("GPS_DDETimeOut"), parent);
            }
            break;
            case 29:
            {
                QMessageBox::tip(QObject::tr("GPS_DDETransactionFailed"), parent);
            }
            break;
            case 30:
            {
                QMessageBox::tip(QObject::tr("GPS_DDEBusy"), parent);
            }
            break;
            case 31:
            {
                QMessageBox::tip(QObject::tr("GPS_NoAssociationForFileExtension"), parent);
            }
            break;
            case 11:
            {
                QMessageBox::tip(QObject::tr("GPS_InvalidEXEFileOrErrorInEXEImage"), parent);
            }
            break;
            default:
            {
                QMessageBox::tip(QObject::tr("GPS_UnknownError"), parent);
            }
            break;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值