C++ 调用命令行exe带参数程序
(2011-11-24 17:45:07)
标签:
杂谈 |
分类: C |
a.使用system函数
cout<<"The dir is
right."<<endl;
cout<<"The dir is
wrong."<<endl;
若用到很多参数,一般采用如下方法:
char
s[300];
char*
filename = "*****";
sprintf_s(s, "%s %s %s %s", "....**.exe",
"aa", "bb", filename);
system(s);
system
的一般格式为: system("teqc.exe
meta");
缺陷:会出现命令行窗口。
b.用CreateProcess来执行dos命令,然后把是否隐藏窗口设为隐藏就可以了:
一般采用如下示例方法
一般采用如下示例方法
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si,
sizeof(si)
);
si.cb =
sizeof(si);
ZeroMemory( &pi,
sizeof(pi)
);
si.dwFlags =
STARTF_USESHOWWINDOW;
//设置隐藏执行窗口
si.wShowWindow =
SW_HIDE;
CreateProcess(NULL, "mkdir
d:/temp ", NULL, NULL,
FALSE, 0,
NULL, NULL,
&si, &pi);
//类似于system( "mkdir d:\\temp
");
PROCESS_INFORMATION
ZeroMemory(
si.cb
ZeroMemory(
si.dwFlags
si.wShowWindow
CreateProcess(NULL,
c. CreateDirectory函数
//创建隐藏的文件夹
char szDirName[] =
"C:\\WINDOWS\\system32\\huodian_clss_merge";
if( CreateDirectory(szDirName, NULL) ) //判断是否存在,否则创建
{
cout<<szDirName<<"
: Not
Exist"<<endl;
SetFileAttributes(szDirName, FILE_ATTRIBUTE_HIDDEN );
//隐藏
cout<<"Create
Successed!"<<endl;
}
测试文件夹是否创建成功:
BOOL t =
PathFileExists("C:\\WINDOWS\\system32\\huodian_seg_shp");
if(t==1)
else
后一篇:CreateProcess 用法