|
首先介绍一下工程,我现在要用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周年了!感谢大家的支持与爱护!!
阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)
|