ShellExecuteA执行完毕程序未退出
本帖最后由 yinsel 于 2024-8-22 11:00 编辑代码如下
```
#include<windows.h>
int main() {
ShellExecuteA(NULL, "open", "calc.exe", NULL, NULL, SW_SHOWMAXIMIZED);
return 0;
}
```
运行后为什么程序没有退出,调试发现卡住了:
跟进去:
执行syscall指令就卡住了,有佬知道嘛
看看报错提示 int main
没有return 0; 无闻无问 发表于 2024-8-22 10:38
int main
没有return 0;
加了也一样 本帖最后由 JuncoJet 于 2024-8-22 11:06 编辑
被杀软拦截了,是这样的
不会退出,因为内核没有返回
哦,这个是本程序无法完成自主结束
内核没有返回,依旧适用
解决办法 添加 ExitProcess JuncoJet 发表于 2024-8-22 11:02
被杀软拦截了,是这样的
不会退出,因为内核没有返回
哦,这个是本程序无法完成自主结束
主要就是为什么调用shellexecute就会无法自主结束呢我不调用就正常 yinsel 发表于 2024-8-22 11:07
主要就是为什么调用shellexecute就会无法自主结束呢我不调用就正常
特征估计是这样的
CreateProcess+TerminateThread
就拦截并阻塞,想办法避开就行
页:
[1]