怎么用C++打开另一个用C++写的.exe文件呢?而且那个exe在dos下运行是需要两个参数的
怎么用C++打开另一个用C++写的.exe文件呢?而且那个exe在dos下运行是需要两个参数的,就是说用命令行调用那个.exe文件的时候是要输入两个参数的,我想写另一个程...
怎么用C++打开另一个用C++写的.exe文件呢?而且那个exe在dos下运行是需要两个参数的,就是说用命令行调用那个.exe文件的时候是要输入两个参数的,我想写另一个程序,里面有一步是要以我指定的参数执行以前写的那个.exe,怎么实现?用shellexcute?怎么设参数 ?
我有两个参数,那就在ipszCmdLine的地方用两个参数中间加空格替代?
还有啊,头文件是什么? 展开
我有两个参数,那就在ipszCmdLine的地方用两个参数中间加空格替代?
还有啊,头文件是什么? 展开
3个回答
展开全部
#include <iostream.h>
#include<windows.h>
#include <string.h>
int main()
{
char *cmd="程序名"; //所调用的程序,如果使用路径的话要用两个//
//例如"D:\\Program Files\\Tencent\\QQ2009\Bin\\QQ.exe"
char *str1=" 参数1"; //参数前有一个空格
char *str2=" 参数2"; //参数前有一个空格
strcat(cmd,str1); //连接两个字符串
strcat(cmd,str1); //连接两个字符串
system(cmd); //执行调用
return 0;
}
#include<windows.h>
#include <string.h>
int main()
{
char *cmd="程序名"; //所调用的程序,如果使用路径的话要用两个//
//例如"D:\\Program Files\\Tencent\\QQ2009\Bin\\QQ.exe"
char *str1=" 参数1"; //参数前有一个空格
char *str2=" 参数2"; //参数前有一个空格
strcat(cmd,str1); //连接两个字符串
strcat(cmd,str1); //连接两个字符串
system(cmd); //执行调用
return 0;
}
展开全部
第一个参数是被调用exe的路径,第二个参数是运行参数
bool
LaunchApplication(LPCTSTR lpszAppPath, LPTSTR lpszCmdLine)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (!CreateProcess(lpszAppPath, // Module name.
lpszCmdLine, //命令行参数.
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, // Starting directory
&si, // Pointer to STARTUPINFO structure.
&pi)) // Pointer to PROCESS_INFORMATION structure.
{
dwError = GetLastError();
NM_LOG_ERROR(L"CreateProcess failed, error %d\n", dwError);
return false;
}
// Close process and thread handles
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return true;
}
bool
LaunchApplication(LPCTSTR lpszAppPath, LPTSTR lpszCmdLine)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (!CreateProcess(lpszAppPath, // Module name.
lpszCmdLine, //命令行参数.
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, // Starting directory
&si, // Pointer to STARTUPINFO structure.
&pi)) // Pointer to PROCESS_INFORMATION structure.
{
dwError = GetLastError();
NM_LOG_ERROR(L"CreateProcess failed, error %d\n", dwError);
return false;
}
// Close process and thread handles
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return true;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdlib.h>
system("C:\\mydir1\\mydir2\\myexe.exe 参数1 参数2");
system("C:\\mydir1\\mydir2\\myexe.exe 参数1 参数2");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询