鱼C论坛

 找回密码
 立即注册
查看: 3138|回复: 4

shellexecute在部分电脑上使用出错

[复制链接]
发表于 2022-11-16 15:07:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
急切求助大佬!!!!!!!
我通过shellexecute运行自己写的程序exe
std::wstring operate = QString("runas").toStdWString();
std::wstring path = m_workDir.toStdWString();
std::wstring file = QString(m_workDir + "/main.exe").toStdWString();
ShellExecute(NULL, operate.c_str(), file.c_str(), NULL, path.c_str(), SW_SHOWNORMAL);
shellexecute返回值大于32
但是那个exe不运行,有时候在进程管理器中闪了一下又退出了,会弹出windows弹出main.exe运行出错
但是我手动双击我的exe,是能够正常运行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-16 15:10:38 | 显示全部楼层
在部分电脑上会出现上述问题,主要是win7系统电脑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-16 15:49:07 | 显示全部楼层
南理马德华 发表于 2022-11-16 15:10
在部分电脑上会出现上述问题,主要是win7系统电脑


       所以,关键是,你应该在运行出问题的电脑上实际运行被 shellexecute 运行的程序,并观察其表现。你可以写一个程序,专门显示命令行的,看看你通过 shellexecute 传递给程序的命令行是否符合预期。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-16 16:02:36 | 显示全部楼层
jackz007 发表于 2022-11-16 15:49
所以,关键是,你应该在运行出问题的电脑上实际运行被 shellexecute 运行的程序,并观察其表现 ...

传入的参数和我预期的文件地址是相同的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-16 16:03:54 | 显示全部楼层
jackz007 发表于 2022-11-16 15:49
所以,关键是,你应该在运行出问题的电脑上实际运行被 shellexecute 运行的程序,并观察其表现 ...

在网上遇到同样问题的人说传入参数倒数第二个不能是空解决问题,但是我边传入地址不是空。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 09:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表