求助,请哪位大牛帮分析一下原因!

Mr_Right 2013-07-03 08:37:58
我在程序中想要通过ShellExcute函数启动一个EXE程序。代码这样写的ShellExecute(NULL,L"open",L"AcrobatTray.exe",NULL,strFileName,SW_HIDE);
可是,每当运行到这句的时候就会报错,弹出这个对话框;

还请哪位大牛帮我分析一下,程序直接双击时可以正常启动,操作系统是XP user模式下。
...全文
176 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Right 2013-07-03
  • 打赏
  • 举报
回复
问题解决了,原因不是AcrobatTray.exe的问题,是AcrobatTray.exe执行前,我先创建了一个文件,没有关闭文件句柄,然后AcrobatTray.exe在对该文件进行操作,产生了错误。谢谢楼上各位的热心帮助!
super_admi 2013-07-03
  • 打赏
  • 举报
回复
可以试试不用ShellExcute来启动,改为手动创建一个进程。
图灵狗 2013-07-03
  • 打赏
  • 举报
回复
把SW_HIDE换为其它的试试看。
引用 4 楼 changanqing 的回复:
[quote=引用 3 楼 turingo 的回复:] 可能是AcrobatTray.exe本身运行就不正常,或者说AcrobatTray.exe不能以SW_HIDE的方式启动。
谢谢您的解答!AcrobatTray.exe直接双击运行是正常的,AcrobatTray.exe没有窗口。请问该怎么解决呢?[/quote]
Mr_Right 2013-07-03
  • 打赏
  • 举报
回复
引用 3 楼 turingo 的回复:
可能是AcrobatTray.exe本身运行就不正常,或者说AcrobatTray.exe不能以SW_HIDE的方式启动。
谢谢您的解答!AcrobatTray.exe直接双击运行是正常的,AcrobatTray.exe没有窗口。请问该怎么解决呢?
图灵狗 2013-07-03
  • 打赏
  • 举报
回复
可能是AcrobatTray.exe本身运行就不正常,或者说AcrobatTray.exe不能以SW_HIDE的方式启动。
Mr_Right 2013-07-03
  • 打赏
  • 举报
回复
引用 1 楼 u010936098 的回复:
既然对话框的标题是“AcrobatTray.exe”,就说明问题出在被调用的这个AcrobatTray.exe程序中,双击运行正常,很可能是与当前目录有关。 strFileName是什么?这个参数应该是运行AcrobatTray.exe的“当前目录”,AcrobatTray.exe中所有的相对路径文件名都从这个目录开始。 你试试在ShellExecute中给出AcrobatTray.exe的完整路径文件名(第三个参数),并将倒数第二个参数设置为AcrobateTray.exe的所在目录。
strFileName是C:\Documents and Settings\User_2\Temp就是AcrobateTray.exe的所在目录
橡木疙瘩 2013-07-03
  • 打赏
  • 举报
回复
既然对话框的标题是“AcrobatTray.exe”,就说明问题出在被调用的这个AcrobatTray.exe程序中,双击运行正常,很可能是与当前目录有关。 strFileName是什么?这个参数应该是运行AcrobatTray.exe的“当前目录”,AcrobatTray.exe中所有的相对路径文件名都从这个目录开始。 你试试在ShellExecute中给出AcrobatTray.exe的完整路径文件名(第三个参数),并将倒数第二个参数设置为AcrobateTray.exe的所在目录。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧