1、点击按钮后此应用程序调用另一个应用程序的.exe程序

void CMFCDYDlg::OnBnClickedButton1()

{
// TODO:  在此添加控件通知处理程序代码
//调用.exe的方法一
//WinExec("G:\\程序练习\\MFC本程序调用另一个程序的实例\\MFCTest\\Debug\\MFCTest.exe", SW_SHOW);


//调用.exe方法二
//ShellExecute(NULL, _T("open"), _T("G:\\程序练习\\MFC本程序调用另一个程序的实例\\MFCTest\\Debug\\MFCTest.exe"), _T(""), _T(""), 0);



//调用.exe方法三
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof(pi));
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);


TCHAR cmd[256] = _T("G:\\程序练习\\MFC本程序调用另一个程序的实例\\MFCTest\\Debug\\MFCTest.exe");  //设置外部程序名
BOOL working = ::CreateProcess(NULL, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
if (working)
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
else
{
AfxMessageBox(_T("创建失败!"));
HANDLE hProcess = GetCurrentProcess();//get current process
TerminateProcess(hProcess, 0);         //close process
}

}

2、char[]转化为CString实现函数


wchar_t *CMFCDYDlg:: ANSIToUnicode(const char* str)
{
int textlen;
wchar_t * result;
textlen = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
result = (wchar_t *)malloc((textlen + 1)*sizeof(wchar_t));
memset(result, 0, (textlen + 1)*sizeof(wchar_t));
MultiByteToWideChar(CP_ACP, 0, str, -1, (LPWSTR)result, textlen);
return result;
}