MFC调用带有参数的exe文件
首先介绍一下工程,我现在要用MFC里面的button按钮,单击后执行一个exe文件,而这个exe文件是带有很多参数的,被放置在一个。bat文件中,具体如下FLAS2000.exe BASE.MHX 1 0x600xF1 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 0x600xF1 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一样的现象,就是出现了一个窗口但是很快就消失了,所以猜测是不是参数没有传进去啊,请教各位大神,不胜感激啊,急啊,急啊 自己写一个显示参数的程序不就好了 mcu5i51 发表于 2016-8-27 09:11
自己写一个显示参数的程序不就好了
大师,愿闻详解啊,是不是说,这种方法是可行的,但是参数传递不正确需要用另外一种参数传递的方法?
那么对于这种方法
ShExecInfo.lpParameters = "BASE.MHX 1 0x600xF1 115200/L4/S3 /D1 0x000C0000 0x0013FFFF /T5000 /P31 /KISUZU60k096CU_DEV.dll /C1";
lpParameters 的格式我写错了么?
显示参数与这个程序怎么结合呢,能讲解一下思想么,谢谢啊
页:
[1]