转载网址:http://blog.sina.com.cn/s/blog_76e94d210100vdj8.html
a.使用system函数
若用到很多参数,一般采用如下方法:
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 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 ");
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)
cout<<"The dir is right."<<endl;
else