Windows相当于pause()系统调用?

时间:2017-04-02 12:59:37

标签: windows assembly system-calls

我想创建一个 nothing 的最小Windows可执行文件 - 并且尺寸很小。

我所关心的只是在任务管理器中保留一个进程条目。

在Linux上,这非常简单(只需要2个汇编指令即可使用pause  系统调用)。如何在Windows上获得类似的结果?

我试图将可执行文件的大小保持在最低限度,我不想让10kB的可执行文件真正无效。

有没有办法在装配中实现这一目标?正如我所提到的,我不想仅仅为了制作这个过程而包含大型图书馆。#34;挂起"

1 个答案:

答案 0 :(得分:1)

汉斯在评论中表示,Sleep(INFINITE)可能是最简单的非忙碌等待。但它确实意味着您必须使用任务管理器终止该过程才能将其停止。

如果您需要多次启动/停止此过程,则调用MessageBox后跟ExitProcess可能不那么烦人。

如果您不使用CRT(WinMainCRTStartup并使用/Zlsmaller alignment进行编译),您可以使用Visual C ++将其降至1 KiB

你可以用装配稍微小一点,但这可能不值得。