我执行一条DOS的命令行,例如:copy c:\a\*.* d:\a
在众多函数里,我试过只有system函数能执行到,得到我想要的结果,但是system函数执行时会弹出
一个DOS窗口,我想不要将它隐藏或后台处理。谁能帮我啊?请给代码。

解决方案 »

  1.   

    带参数运行winexec或者CreateProcess,肯定可以的。
    注意,尝试 “cmd.exe  copy c:\……”
      

  2.   

    楼上同志我使用COPY只是举例,我要使用的是另外一个DOS的EXE文件。
    怎么没人可以给出一个满意的答案!!!
      

  3.   

    CreateProcess(EXE文件,命令行参数,...);
      

  4.   

    这个问题我也想过,我用timer查找cmd窗口,找到后隐藏掉。但效果不好,要闪一下才隐。
      

  5.   

    CreateProcess 注意,如果你的程序是16位Windows程序,要把文件名和参数都写到第二个参数中,即写成 CreateProcess(NULL,"exe argv"....);
    注意STARTUPINFO 参数STARTUPINFO si;
    PROCESS_INFORMATION pi;
    memset(&si,0,sizeof si);
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_HIDE;
    CreateProcess("exe","args",NULL,NULL,FALSE,
    CREATE_NO_WINDOW, // 如果你的程序是个Win32控制台程序,可以用这种方法,否则,这个参数无效
    NULL,NULL,&si,&pi);
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
      

  6.   

    楼上,我试过不行呀,我都说只有SYSTEM函数才可以的。
    唉还是NO HELP!!!
      

  7.   

    想拷贝文件,还想使用MSDos得接口命令,还想让程序看不出来是调用接口的Dos命令那你干吗不写个纯粹VC下的拷贝文件的代码呢?用MFC或者API函数怎样写拷贝文件的代码自己搜索一下就是了
      

  8.   

    楼上大哥呀,你有没看清楚呀?我不是拷贝文件呀,都说是用copy举例呀,怎么这里的人看也不看,不试一下再讨论呢?