搜索
bottom↓
回复: 2

MFC调用带有参数的exe文件

[复制链接]

出0入0汤圆

发表于 2016-8-26 16:34:22 | 显示全部楼层 |阅读模式
首先介绍一下工程,我现在要用MFC里面的button按钮,单击后执行一个exe文件,而这个exe文件是带有很多参数的,被放置在一个。bat文件中,具体如下

FLAS2000.exe BASE.MHX 1 0x60  0xF1   115200  /L4  /S3 /D1 0x000C0000 0x0013FFFF /T5000 /P31 /KISUZU60k096CU_DEV.dll /C1

@REM            |    |    |   |         |     |    |    |     |           |        |      |        |                 |
@REM            |    |    |   |         |     |    |    |     |           |        |      |        |                 parameter for backwards compatibility
@REM            |    |    |   |         |     |    |    |     |           |        |      |        key-Dll
@REM            |    |    |   |         |     |    |    |     |           |        |      download protocol
@REM            |    |    |   |         |     |    |    |     |           |        Timeout (P3)
@REM                |    |    |   |         |     |    |    |     |           EndAddress
@REM            |    |    |   |         |     |    |    |     StartAddress
@REM            |    |    |   |         |     |    |    Filetype of the target file: D1=Motorola(.mhx) D2=binary(.bin)
@REM            |    |    |   |         |     |    accessMode (for securityAccess)
@REM            |    |    |   |         |     seed/key length (0 for autor detect)
@REM            |    |    |   |         Download Baudrate
@REM            |    |    |   Source Adress (Tester address)
@REM            |    |    Target Adress (ECU address)
@REM            |    Comm. channel: 1=K-Line, 32=CAN Ch1, 32=CAN Ch2
@REM            Target file name
pause

我在MFC中的程序是这样的

        SHELLEXECUTEINFO ShExecInfo = {0};
        ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
        ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
        ShExecInfo.hwnd = NULL;
        ShExecInfo.lpVerb = NULL;
        ShExecInfo.lpFile = "C:\\Users\\uidq8721\\Desktop\\code\\FLAS2000.exe";
        ShExecInfo.lpParameters = "BASE.MHX 1 0x60  0xF1   115200  /L4  /S3 /D1 0x000C0000 0x0013FFFF /T5000 /P31 /KISUZU60k096CU_DEV.dll /C1";
        ShExecInfo.lpDirectory = NULL;
        ShExecInfo.nShow = SW_SHOW;
        ShExecInfo.hInstApp = NULL;
        ShellExecuteEx(&ShExecInfo);
        WaitForSingleObject(ShExecInfo.hProcess,INFINITE);

编译后没有错误,但是在执行的时候,感觉是执行了FLAS2000.exe文件,因为有个窗口出现后很快就消失了,于是我就没有运行bat文件,直接运行FLAS2000.exe
文件,结果出现了和上述运行MFC一样的现象,就是出现了一个窗口但是很快就消失了,所以猜测是不是参数没有传进去啊,请教各位大神,不胜感激啊,急啊,急啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2016-8-27 09:11:18 | 显示全部楼层
自己写一个显示参数的程序不就好了

出0入0汤圆

 楼主| 发表于 2016-8-27 09:59:50 | 显示全部楼层
mcu5i51 发表于 2016-8-27 09:11
自己写一个显示参数的程序不就好了

大师,愿闻详解啊,是不是说,这种方法是可行的,但是参数传递不正确需要用另外一种参数传递的方法?
那么对于这种方法
ShExecInfo.lpParameters = "BASE.MHX 1 0x60  0xF1   115200  /L4  /S3 /D1 0x000C0000 0x0013FFFF /T5000 /P31 /KISUZU60k096CU_DEV.dll /C1";
lpParameters 的格式我写错了么?
显示参数与这个程序怎么结合呢,能讲解一下思想么,谢谢啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 20:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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