关于调用命令行程序的问题

hwz_01 2006-07-05 10:16:07
手动实现如下操作:在“运行”窗口输入cmd进入命令行状态,然后输入“D:\Test.exe -tp”可以进行Test程序调用,现希望之前所有操作用程序实现,如何实现?我试过CreateProcess函数,但不知道Test.exe执行程序后面的“-tp”参数该如何传递进去?请高手指教!
...全文
286 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zncn2 2006-08-13
  • 打赏
  • 举报
回复
mark
hijack 2006-07-05
  • 打赏
  • 举报
回复
ShellExecute(NULL, "open", "D:\Test.exe", "-tp", "", SW_HIDE);
折腾_苏州 2006-07-05
  • 打赏
  • 举报
回复
STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.wShowWindow = SW_SHOW;
char cmdLine[] = _T("D:\\Test.exe -tp"); //这个不是传进去了么。。。
PROCESS_INFORMATION ProcessInformation;

CreateProcess(NULL,cmdLine,NULL,NULL,1,CREATE_NEW_CONSOLE,
NULL,NULL,&si,&ProcessInformation);
lixiaosan 2006-07-05
  • 打赏
  • 举报
回复
SHELLEXECUTEINFO si;
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(SHELLEXECUTEINFO);
si.fMask = SEE_MASK_NOCLOSEPROCESS;
si.hwnd = NULL;
si.lpVerb = NULL;
si.lpFile = "D:\\Test.exe";
si.lpParameters = " -tp";
si.lpDirectory = NULL;
si.nShow = SW_SHOW;
ShellExecuteEx(&si);
hwz_01 2006-07-05
  • 打赏
  • 举报
回复
楼上的可否具体点?我现在关键问题是如何把"tp"传进去?
折腾_苏州 2006-07-05
  • 打赏
  • 举报
回复
STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.wShowWindow = SW_SHOW;
char cmdLine[] = _T("D:\\Test.exe -tp");
PROCESS_INFORMATION ProcessInformation;

CreateProcess(NULL,cmdLine,NULL,NULL,1,CREATE_NEW_CONSOLE,
NULL,NULL,&si,&ProcessInformation);
lixiaosan 2006-07-05
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createprocess.asp

lpCommandLine
hijack 2006-07-05
  • 打赏
  • 举报
回复
1.用syetem可以直接调用.有控制台窗口.
int system( const char *command );

2.CreateProcess调用时,可以用lpCommandLine来传递参数

3.也可以用ShellExecute调用
hijack 2006-07-05
  • 打赏
  • 举报
回复
System("dir c: /s");

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧