是否有一个什么都不做的Windows exe?

Duc*_*tro 52 windows

作为 Windows 安装的一部分,某处是否有“noop”-esque exe?我正在准备一些批处理作业和计划任务,出于几个原因,我想引用一个什么都不做的可执行文件——即在没有可见窗口的情况下启动,然后立即退出。

这样的可执行文件是否存在于通常的 Windows 安装中?或者我怎么能接近?我不想依赖 Windows 中尚未包含的任何内容。

And*_*rea 57

您可以使用rundll32

  • 没有控制台窗口
  • 无副作用
  • 仅 44 KB
  • 不需要参数
  • 适用于每个最新的 Windows 版本(XP、Vista、7),并且可能适用于每个基于 NT 的系统。

  • @Nathan 使用适当的参数,它可以调用 DLL 内的函数 (8认同)
  • 除了它可能不是真正的空操作。 (3认同)
  • 那为什么会在那里呢? (2认同)

Syn*_*ech 37

作为 Windows 安装的一部分,某处是否有“noop”-esque exe?

特别是指一个什么都不做,什么都不做的程序?是和否。不,因为默认情况下 Windows 不包括一个,但它确实包括自己制作一个的能力。


选项1

运行notepad.exe,键入以下几行,并将其另存为C:\ret.scr(不要忘记空行):

a
ret

rcx
1
n ret.com
w
q
Run Code Online (Sandbox Code Playgroud)

使用以下命令在命令提示符(cmd.exe)中使用debug.exe编译它:

C:\> debug < ret.scr
Run Code Online (Sandbox Code Playgroud)

你现在有一个程序,ret.com(在 C:\ 中),它可以在批处理文件中使用,它绝对不做任何事情(好吧,除了退出,如果这很重要)。

注意:debug不包括在 64 位系统上。


选项 2

在 Vista 及更高版本中,默认情况下包含 .NET 框架,因此您还可以.exe使用 C#(64 位兼容)制作原生的 Windows 无所事事:

运行notepad.exe并键入以下行,将其另存为C:\ret.cs

class ret
{
   static void Main() {
   }
}
Run Code Online (Sandbox Code Playgroud)

使用以下命令在命令提示符 ( cmd.exe ) 中使用csc.exe编译它:

C:\> csc ret.cs /target:winexe
Run Code Online (Sandbox Code Playgroud)

您现在有另一个程序ret.exe(在 C:\ 中),它可以在批处理文件中使用,除了返回什么都不做。目标选项使其成为 GUI 应用程序,因此它甚至不会打开终端窗口。

  • 对我来说,`csc.exe` 不在我的路径上,但它位于 `C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe` (12认同)
  • 该死的太棒了.. 每个人都应该为你点赞.. 我一直想学习汇编语言.. 我从未使用过调试,并认为它会随着 DOS 消失。很高兴我在这里偶然发现了你的答案。也许是未来爱好的素材! (2认同)

And*_*ert 10

Windows 中没有任何程序(据我所知)在执行时立即退出(至少是故意的。)

但是,在 Windows Vista 和更新版本中,有timeout.exe实用程序。Timeout.exe将等待指定的秒数然后退出。例如:

C:\>timeout /t 0 > nul:
Run Code Online (Sandbox Code Playgroud)

设置timeout.exe为等待 0 秒与您获得立即退出的 EXE 差不多。

  • 要执行 Op 想要的操作,请使用像这样的超时“timeout /t 0 &gt; nul:” - 这将在没有任何输出的情况下运行 timeout 命令并立即退出。 (3认同)

小智 6

如果没有参数“C:\\Windows\\hh.exe”(Microsoft\xc2\xae HTML 帮助可执行文件)什么也不做,我猜它包含在任何 Windows 版本中。

\n