隐藏cmd窗口执行dos命令

有些时候我们会在程序中使用dos命令执行一些操作,运行批处理文件之类的,但发现在使用cmd的时候,会显示一个黑色的控制台窗口,很不友好。最近研究发现可以使用CreateProcess来隐藏cmd窗口,该函数的参数相关设置如下:

BOOL CreateProcess(
  LPCTSTR lpApplicationName,                                     "C:/Windows/system32/cmd.exe"
  LPTSTR lpCommandLine,                                           "C:/windows/symtem32/cmd.exe /c xcopy d:/1 d:/2"
  LPSECURITY_ATTRIBUTES lpProcessAttributes,        NULL
  LPSECURITY_ATTRIBUTES lpThreadAttributes,         NULL
  BOOL bInheritHandles,                                            NULL
  DWORD dwCreationFlags,                                      04000410
  LPVOID lpEnvironment,                                          00000000
  LPCTSTR lpCurrentDirectory,                                 "c:/documents and settings/cwc"
  LPSTARTUPINFO lpStartupInfo,
  LPPROCESS_INFORMATION lpProcessInformation          
);

 

STARTUPINFO 设置如下:

 

typedef struct _STARTUPINFO

DWORD cb;          44
LPTSTR lpReserved;  0
LPTSTR lpDesktop;  0
LPTSTR lpTitle;  0
DWORD dwX;  0
DWORD dwY;  0
DWORD dwXSize 0
DWORD dwYSize;  0
DWORD dwXCountChars; 0
DWORD dwYCountChars;   0
DWORD dwFillAttribute;   0
DWORD dwFlags;  401
WORD wShowWindow; 1
WORD cbReserved2;  0
LPBYTE lpReserved2; 0
HANDLE hStdInput;  10001
HANDLE hStdOutput;  0
HANDLE hStdError; 1
}STARTUPINFO, *LPSTARTUPINFO;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值