Y a-t-il un Windows exe qui ne fait rien?

Existe-t-il un «noop» – exe quelque part dans le cadre de l'installation de Windows? Je prépare certains travaux par lots et les tâches planifiées, et pour quelques raisons, j'aimerais faire référence à un exécutable qui ne fait rien, c'est-à-dire qu'il lance sans fenêtre visible, et quitte immédiatement.

Un tel exécutable existe-t-il dans l'installation habituelle de Windows n'importe où? Ou comment puis-je me rapprocher? Je ne veux pas devoir dépendre de tout ce qui n'est pas déjà inclus dans Windows.

Vous pouvez utiliser rundll32 :

  • Pas de fenêtre de console
  • Pas d'effets secondaires
  • Juste 44 Ko
  • Aucun argument requis
  • Fonctionne sur toutes les versions récentes de Windows (XP, Vista, 7), et probablement sur tous les systèmes NT.

Existe-t-il un «noop» – exe quelque part dans le cadre de l'installation de Windows?

Signifie-t-il spécifiquement un programme qui ne veut rien faire et rien d'autre? Oui et non. Non, dans ce cas, Windows ne comprend pas un par défaut, mais il comprend la possibilité d'en créer un.

Option 1

Exécutez notepad.exe , tapez les lignes suivantes et enregistrez-la comme C:\ret.scr (n'oubliez pas la ligne vierge):

 a ret rcx 1 n ret.com w q 

Compilez-le avec debug.exe à l'invite de commande ( cmd.exe ) avec la commande suivante:

 C:\> debug < ret.scr 

Vous avez maintenant un programme, ret.com (en C: \) qui peut être utilisé dans des fichiers par lots qui ne ret.com absolument rien (bien, autrement que quitter, si cela compte).

Remarque : le debug n'est pas inclus sur les systèmes 64 bits.

Option 2

Dans Vista et vers le haut, le framework .NET est inclus par défaut, de sorte que vous pouvez également créer un .exe natif, Windows do-nothing .exe avec C # ( compatible 64 bits ):

Exécutez notepad.exe et tapez les lignes suivantes, en l'enregistrant sous C:\ret.cs :

 class rte { static void Main() { } } 

Compilez-le avec csc.exe à l'invite de commande ( cmd.exe ) avec la commande suivante:

 C:\> csc ret.cs 

Vous avez maintenant un autre programme, ret.exe (en C: \) qui peut être utilisé dans des fichiers de lots qui ne font que renvoyer.

Il n'y a pas de programmes inclus avec Windows (que je connais) qui sortent immédiatement lorsqu'ils sont exécutés (au moins dans le but).

Dans Windows Vista et plus récent, cependant, il existe l'utilitaire timeout.exe . Timeout.exe attendra un nombre de secondes spécifié, puis quittera. Par exemple:

 C:\>timeout /t 0 > nul: 

Définir timeout.exe pour attendre 0 secondes est à peu près aussi proche que vous timeout.exe à un EXE qui sortira immédiatement.

Sans les paramètres "C: \ Windows \ hh.exe" (Microsoft® HTML Help Executable) ne fait rien et il est inclus dans n'importe quelle version de Windows, je suppose.

wscript sans arguments wscript aucun script et est un exécutable "GUI" (n'ouvre pas une console).

J'ai essayé rndll32.exe et hh.exe mais les deux n'ont pas modifié hh.exe ERRORLEVEL%. C'est une variable d'environnement qui indique si le dernier exécutable a réussi. Fonctionne comme le code de retour Unix.

Ma commande noop ci-dessous définira le% ERRORLEVEL% à zéro est:

 cd %CD% 

Modifiez simplement le répertoire de travail à celui actuel.

Bien que ce ne soit pas l'objectif principal de cet outil, vous pouvez utiliser l'option / don de WuInstall – vous pouvez également spécifier un code de retour qui doit être retourné – voir http://help.wuinstall.com

La commande echo off ne fait rien dans un fichier batch (.BAT). Bien qu'il ne soit pas exécutable, il s'agit d'une commande interne Windows.

Compilez un simple programme "Covo de Hello World" pour créer un exe simple qui sortirait immédiatement.
Enregistrez le code suivant dans un fichier texte avec un nom comme a.cpp:

 #include<iostream> int main() { std::cout<<"Hello World"; return 0; } 

Ensuite, compilez-le avec le compilateur LATEST C ++ comme MinGW pour Windows 7.
Dans le cas de MinGW, exécutez la commande suivante dans PowerShell ou Invite de commandes: g++ path\a.cpp (En supposant que vous avez défini la variable PATH environnementale de l'emplacement binaire g ++ ou que vous êtes dans le répertoire binaire g ++ c: \ mingw \ bin par défaut) . Après l'exécution de la commande, vous obtiendrez a.exe qui affichera Hello World et quittera. Vérifiez par double-clic … la fenêtre cmd apparaît et disparaît immédiatement. L'accès à la ligne de commande affichera Hello World et vous renverra à l'invite CLI.
Ensuite, vous pouvez déplacer ce a.exe dans system32 ou n'importe où en profondeur dans Windows. Vous pouvez même le déployer dans le disque d'installation de Windows.

Vous pouvez écrire un non-op en C comme si

 void main() { } 

Et compilez-le dans un fichier .exe. Par exemple, si vous avez installé Visual Studio, vous pouvez ouvrir le bloc-notes, coller cet extrait, l'enregistrer comme noop.c et, dans l'invite de commande, utiliser cl noop.c et générer un fichier noop.exe dans le même dossier.

Vous pouvez ou ne devez pas parcourir le dossier Microsoft Visual Studio X.0 dans les Program Files avant et exécutez vcvarsall.bat partir de l'invite de commande.