mfc中调用exe文件以及文件|MFC调用exe程序

A. MFC程序调用exe文件,检测到exe文件关闭后继续向下执行代码。

二楼正解。代码贴上。CreateProcess的第一个参数,是可执行文件的详细路径,不应该是NULL。第二个参数是有关命令行的,应该为NULL。我执行的是我f盘上的3yan3gb.exe文件。#include <iostream>#include <stack>#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <fstream>using namespace std;int main(){ STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // Start the child process. if( !CreateProcess( TEXT("F:\\3yan3gb.exe"),//NULL, // No mole name (use command line). NULL,//process, // Command line. NULL, // Process handle not inheritable. NULL, // Thread handle not inheritable. FALSE, // Set handle inheritance to FALSE. 0, // No creation flags. NULL, // Use parent's environment block. NULL, // Use parent's starting directory. &si, // Pointer to STARTUPINFO structure. &pi ) // Pointer to PROCESS_INFORMATION structure. ) { return FALSE; } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); cout<<"the program has finished!"<<endl; // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); system("pause"); return 0;}

B. 如何让MFC调用exe文件,EXE进程未结束时显示一个提示

HANDLE GetProcessHandle(LPCTSTR pName)//通过进程名获取进程句柄{HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);if (INVALID_HANDLE_VALUE == hSnapshot) {return NULL;}PROCESSENTRY32 pe = { sizeof(pe) };BOOL fOk;for (fOk = Process32First(hSnapshot, &pe); fOk; fOk = Process32Next(hSnapshot, &pe)) {if (!_tcscmp(pe.szExeFile, pName)) {CloseHandle(hSnapshot);return GetProcessHandle(pe.th32ProcessID);}}return NULL;}然后在程序里面,调用这个函数判断(参数,你的进程名字),如果返回NULL就是木有,否则,进行你想要的处理就可以了。

C. 怎么用mfc运行.exe程序

CreateProcess应该不能执行16位的程序

D. 在我的mfc中调用另一个exe

用ShellExecute打开那个进程,用一个循环FindWindow,若那个窗口还存在则Sleep一段时间,当找不到那个程序了(执行完了),退出循环,继续执行本程序

E. 怎么在MFC中打开其他程序的EXE文件

调用WinExec或ShellExecute函数,用法可以自己网络一下

F. MFC调用exe程序

WinExec("E:\\QQ.EXE",SW_SHOW); 字符串改成来你的exe路径和源名字就可以了,注意反斜杠要转译(必须连续2个) 回复 0513zhang:两个函数的参数中,ShowCmd意义和写法是一样的//ShowCmd 参数可选值:SW_HIDE = 0; {隐藏}SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活} 但第四个参数。。不就是我说的入口参数么。。对于自己的exe,形式自己定义,关键是在instance入口处要判断约定参数就可以了。

G. MFC中调用外部exe文件

如果你不想加目录来名的话,就源放到你工程生成的对应debug/release下;如果加目录名或者设置了path就随便调用也没有关系了。我不是很确定你调用的意思,我猜测你只是想类似资源管理器中运行那种调用。如果你是调用com组件的话,只要注册了,调用客户是不用管exe组件的目录位置的,是通过唯一的CLSID来调用的

H. 如何用MFC打开一个EXE文件

打开抄程序用WinExec("程序路径",SW_SHOW);关闭袭自己用exit(0);关闭别的程序,首先获得程序的PID,然后int TerminateProcessFromId(DWORD dwId) //关闭进程{BOOL bRet=FALSE;HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);if(hProcess!=NULL){bRet=::TerminateProcess(hProcess,0);}::CloseHandle(hProcess);if(bRet)printf("%d 进程结束成功……\n\n\n\n",dwId);elseprintf("%d 进程结束失败……\n\n\n\n",dwId);return 0;}

I. 怎么用MFC的按钮调用一个exe的文件

用WinExec函数可打开外部程序,以打开记事本为例: WinExec(_T("c:\\windows\\notepad.exe"),SW_SHOWMAXIMIZED);注意,路径中反斜杠用法。

J. MFC调用外部exe

ShellExecute(NULL,_T("open"),"文件路径",NULL,NULL,SW_SHOW);


赞 (0)