MFC调用批处理文件(.bat)

时间:2022-09-30 08:50:41

原文转自:http://blog.csdn.net/u013147600/article/details/42741233

通过MFC 对话框的点击按钮打开 服务控制面板

方法一:

system("window命令")

比如: system("services.msc") 打开服务控制面板


方法二:

通过ShellExecute()函数

[cpp] view plaincopyprint?
  1.  <span style="white-space:pre">   </span>#include <shellapi.h>  
  2. <span style="white-space:pre">    </span>ShellExecute函数原型及参数含义如下:  
  3. <span style="white-space:pre">    </span>ShellExecute(  
  4. <span style="white-space:pre">    </span> hWnd: HWND//{指定父窗口句柄}  
  5. <span style="white-space:pre">    </span> Operation: PChar; //{指定动作, 譬如: open、runas、print、edit、explore、find[2] }  
  6. <span style="white-space:pre">    </span> FileName: PChar; //{指定要打开的文件或程序}  
  7. <span style="white-space:pre">    </span> Parameters: PChar; //{给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}  
  8. <span style="white-space:pre">    </span> Directory: PChar; //{缺省目录}  
  9. <span style="white-space:pre">    </span> ShowCmd: Integer //{打开选项}  
  10. <span style="white-space:pre">    </span>): HINST;  

比如:ShellExecute(NULL,NULL,_T("XXX.bat"),NULL,NULL,SW_SHOW);


因为window命令都是通过 cmd.exe来执行的 所以这两种方法 在打开服务控制面板前 cmd窗口会一闪而过,希望有哪位高手可以解决并留下解决的方法。