CreateProcess 隐藏窗口的坑!

最近自己要写一个程序能够创建进程并同时隐藏这个窗口,因为比较好弄,网上随便百度一下copy代码下来,结果不能够隐藏,无能怎么设置都不可以,但发现可以隐藏笔记本。

网上隐藏的普遍代码

PROCESS_INFORMATION pi;
STARTUPINFO si;      //隐藏进程窗口
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpDesktop = NULL;
si.lpTitle = NULL;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
si.cbReserved2 = NULL;
si.lpReserved2 = NULL;
BOOL ret = CreateProcess(NULL,"notepad.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
if(ret)
   {
    CloseHandle(pi.hThread);
    WaitForSingleObject(pi.hProcess,INFINITE);
    GetExitCodeProcess(pi.hProcess,&dwExitCode);
    CloseHandle(pi.hProcess);
    CString tmp;
    tmp.Format("进程关闭",i);
    AfxMessageBox(tmp);
   }

后面自己分析估计只是CreateProcess 只针对非MFC的工程,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
createprocess隐藏命令行不生效可能是由于以下几个原因导致的。 首先,可能是CreateProcess函数的参数设置有误导致隐藏命令行不生效。CreateProcess函数有很多参数,其中一个是lpCommandLine,它指定要执行的命令行。如果lpCommandLine参数设置不正确,可能会导致命令行无法隐藏。需要确保参数正确设置为要执行的命令,并且需要特别注意参数的引号和转义字符的使用。 其次,可能是操作系统设置或安全策略的限制导致隐藏命令行不生效。某些操作系统或安全策略可能会禁止或限制隐藏命令行,以防止恶意程序的执行。需要检查操作系统和安全策略的限制,确认是否允许隐藏命令行的操作,并进行相应的设置。 另外,可能是程序自身的代码逻辑或其他函数调用导致隐藏命令行不生效。需要仔细检查程序代码,确保没有其他函数调用或代码逻辑干扰了隐藏命令行的执行。有时候,可能需要使用其他相关的函数或API来实现隐藏命令行的效果,比如使用ShellExecuteEx函数等。 综上所述,要解决createprocess隐藏命令行不生效的问题,需要仔细检查CreateProcess函数的参数设置、操作系统和安全策略限制,以及程序自身的代码逻辑或其他函数调用。如果以上方法都没有解决问题,可能需要查阅相关文档资料或寻求专业人士的帮助来进一步解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值