Hiçbir şey yapmayan bir Windows exe var mı?


47

Windows kurulumunun bir parçası bir yerde "noop" -esque exe var mı? Bazı toplu işler ve zamanlanmış görevler hazırlıyorum ve birkaç nedenden dolayı hiçbir şey yapmayan bir yürütülebilir dosyaya başvurmak istiyorum - yani görünür bir pencere olmadan açılıyor ve derhal çıkıyor.

Böyle bir yürütülebilir dosya normal Windows kurulumunda herhangi bir yerde var mı? veya nasıl yaklaşabilirim? Zaten Windows'ta bulunmayan hiçbir şeye bağlı kalmak istemiyorum.


2
Gözlemden: svchost.exehiçbir şey açmaz.
ta.speot.is

@ todda.speot.is bunu tam bir cevap olarak eklemelisiniz.
DuckMaestro

2
Harici (çalıştırılabilir) bir dosya mı olmalıydı? Eğer değilse, o zaman remkomut işe yarayabilirdi (ve toplu iş dosyasında nerede kullanıldığına, muhtemelen ::değişkene bağlı olarak).
Synetech

Yanıtlar:


51

Kullanabilirsiniz rundll32:

  • Konsol penceresi yok
  • Yan efektleri olmayan
  • Sadece 44 KB
  • Argüman gerekmez
  • Her yeni Windows sürümünde (XP, Vista, 7) ve muhtemelen her NT tabanlı sistemde çalışır.

2
Peki neden orada?
Nathan,

6
@Nathan Uygun argümanlarla, bir DLL içindeki bir işlevi çağırabilir
Andrea

Sağ. Örneğin, print.exebasitçe geçtiği parametreleri basan bir program düşünün . Hiçbir argüman ortaya olmadan olur hiçbir şey , ama o argümanları vererek şey yapar : > print foobar.
Synetech

@Andrea, herhangi bir argüman verilmediği sürece hiçbir şey yapmaz. Gerçi onun gereksinimlerine göre yeterince hiçbir şey yok.
barlop

3
Dışında muhtemelen gerçekten bir op-op değildir.
Andy Terra

36

Windows kurulumunun bir parçası bir yerde "noop" -esque exe var mı?

Özel olarak, hiçbir şey yapmadan ve hiçbir şey yapmadan yapılan bir program mı? Evet ve hayır. Hayır, bu Windows varsayılan olarak bir tane içermez, ancak bir tane yapma yeteneğini de içerir.


seçenek 1

Notepad.exe'yi çalıştırın , aşağıdaki satırları yazın ve farklı kaydedin C:\ret.scr(boş satırı unutmayın):

a
ret

rcx
1
n ret.com
w
q

Komut isteminde ( cmd.exe ) debug.exe ile aşağıdaki komutu derleyin :

C:\> debug < ret.scr

Artık, ret.comhiçbir şey yapmayan toplu iş dosyalarında kullanılabilecek bir programınız var (C: \ 'de).

Not : debug64 bit sistemlerde bulunmaz.


seçenek 2

Vista ve üzeri sürümlerde .NET çerçevesi varsayılan olarak dahil edilmiştir, böylece yerel bir Windows .exeC # ( 64-bit uyumlu ) ile hiçbir şey yapamazsınız :

Notepad.exe'yi çalıştırın ve aşağıdaki satırları yazarak kaydedinC:\ret.cs :

class rte
{
   static void Main() {
   }
}

Komut isteminde csc.exe ile ( cmd.exe ) aşağıdaki komutu kullanarak derleyin :

C:\> csc ret.cs

Artık ret.exehiçbir şey yapmayan toplu iş dosyalarında kullanılabilen (C: \ içinde) başka bir programınız var .


2
Kahretsin Brilliant .. herkes seni bunun için uyarmalıydı .. Ben her zaman meclis dilini öğrenmek istemiştim .. Hata ayıklamayı hiç kullanmamıştım ve DOS ile öldüğünü düşünmedim. Cevabınızı burada tökezledi sevindim. Gelecekteki bir hobi için belki yem!
barlop

12
Benim için, csc.exeC:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
yolumun

csc.exe'niz gibi ana yöntemi olan bir C programından derlenen bir EXE hakkında ne düşünüyorsunuz, bu hata ayıklamada yazdığınız programdan çok daha fazlasını yapıyor mu? örneğin, o programda çok daha fazla meclis dili var mı?
barlop

1
@barlop, genellikle evet. Boş iken mainfonksiyon en azından yaptığınız gibi görünüyor, ya da gereken daha fazlasını hiçbir şey retsize disassembler (hatta bir onaltılık-editör) böyle bir programı açarsanız, size çok daha fazlası, çok daha olduğunu göreceksiniz. Genellikle her türlü segmenti kurar (kod, veri vb.), Yığın ve yığınlar hazırlar, her türlü fonksiyon ve dizgileri ithal etmekten bahsetmek yerine, gerçekte bunları kullanmasalar bile.
Synetech

DirectX ve VCruntimes gibi, eski bir harici destek yazılımını, kurulum kitinin yerine koymak, paket boyutunu küçültmek için bu yazılımın gerekmediği bir yere ihtiyacım vardı. Ayrıca, herhangi bir derleyiciye sahip değilseniz ya da kurmak istemiyorsanız, çevrimiçi derleyicileri tutorialspoint.com/codingground.htm adresinden kullanın , derlemeden sonra, projeyi indirin ve arşivin içinde exe bulundurun.
JasonXA

10

Windows'da (bildiğim kadarıyla) dahil edildiğinde derhal çalıştırılan (en azından bilerek) program yok.

Ancak Windows Vista ve daha yeni sürümlerinde timeout.exe yardımcı programı vardır. Timeout.exebelirtilen sayıda saniye bekleyip çıkacaktır. Örneğin:

C:\>timeout /t 0 > nul:

Ayar timeout.exe0 saniye beklemek için yakın hemen çıkar o bir EXE alırsınız olarak hakkındadır.


3
Op'un istediği şeyi yapmak için, zaman aşımı komutunu bu şekilde "timeout / t 0> nul:" - kullanın;
misterjaytee

@misterjaytee iyi fikir.
Andrew Lambert,

@ Tom: Bir konsol penceresi . cmd.exeÖzel olarak çalışmadığınız sürece bir komut istemi açmaz .
yerçekimi,

@grawity: Görev Zamanlayıcısı komutun çalışması için bir komut işlemcisine ihtiyaç duyar, bu nedenle konsol penceresi kısa bir süre gösterilir.
Tamara Wijsman

@TomWijsman Yapabileceğim kadar dene, açılacak yeni bir pencere bulamıyorum.
Andrew Lambert,

4

Parametreler olmadan "C: \ Windows \ hh.exe" (Microsoft® HTML Help Executable) hiçbir şey yapmaz ve sanırım herhangi bir Windows-Sürümüne dahil edilir.


2

wscript argüman olmadan, hiçbir komut dosyası çalıştırmaz ve çalıştırılabilir "GUI" çalıştırılabilir (bir konsolu açmaz).


2
Wscript'i argüman olmadan çalıştırdığımda beliren "Windows Script Host Ayarları" nı alıyorum. Windows 7 64 bit. Koşmak wscript /bişe yarıyor gibi görünüyor.
DuckMaestro

2

Denedim rndll32.exeve hh.exeikisi de% ERRORLEVEL% 'ini değiştirmedi. Son çalıştırılabilir işlemin başarılı olup olmadığını belirten bir ortam değişkenidir. Unix dönüş kodu gibi çalışır.

Aşağıdaki noop komutum% ERRORLEVEL% değerini sıfıra ayarlayacaktır:

cd %CD%

Sadece çalışma dizinini geçerli dizine çevirerek.


0

komut echo offbir toplu iş (.BAT) dosyasında hiçbir şey yapmaz. Bir çalıştırılabilir olmasa da, bir windows iç komutudur.


7
Aslında bir şey yapar , yankılanır. Kapalı duruma getirdiyseniz, hiçbir şey gibi görünmeyebilir, ancak yankı yapmak istiyorsanız , kesinlikle bir şey yapar.
Synetech

6
ve rem gibi, bu bir windows exe değil
barlop

0

Derhal çıkacak basit bir exe oluşturmak için basit bir "Merhaba Dünya" C ++ programını derleyin.
Aşağıdaki kodu a.cpp gibi bir isim içeren bir metin dosyasına kaydedin:

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

Ardından, Windows 7 için MinGW gibi en son C ++ derleyicisi ile derleyin
. MinGW olması durumunda, PowerShell veya Komut İstemi'nde aşağıdaki komutu uygulayın: g++ path\a.cpp(g ++ ikili konumunun çevresel PATH değişkenini ayarladığınızı varsayalım veya g ++ ikili dizinindesiniz. : \ mingw \ bin varsayılan olarak). Komut işleminden sonra, Hello World'ü görüntüleyecek ve çıkacak olan bir.exe alacaksınız. Çift tıklatarak doğrulayın ... cmd penceresi görünecek ve derhal kaybolacaktır. Komut satırı erişimi, Hello World'ü görüntüleyecek ve sizi CLI komut istemine döndürecektir.
Sonra bu a.exe system32 veya Windows içinde derin bir yere taşıyabilirsiniz. Hatta Windows kurulum diskinde de açabilirsiniz.


2
C ++ derleyicisinin Windows'ta bulunmadığından eminim.
Synetech

6
"Merhaba Dünya" yazdırmak hiçbir şey yapmıyor.
Keith Thompson

@Synetech Compilation, CPU mimarisi aynı olduğu sürece sadece bir kez gereklidir ..
Apple II

1
@KeithThompson BAT algoritmasına müdahale edeceğini sanmıyorum, ama gerçekten önemliyse, Hello World'ü ASCII boş karakteriyle değiştirin ..
Apple II

5
> BAT algoritmasına müdahale edeceğini düşünmüyorum, ancak gerçekten önemliyse, Hello World'ü ASCII boş karakteriyle değiştirin Veya print komutunu tamamen kaldırın.
Synetech

0

C’de no-op yazabilirsiniz.

void main() {

}

ve bir .exe dosyasına derleyin. Örneğin, Visual Studio'yu yüklediyseniz, not defterini açabilir, bu pasajı yapıştırabilir, noop.c olarak kaydedebilir ve komut isteminde kullanabilirsiniz cl noop.cve noop.exeaynı klasörde bir dosya çıkartacaktır .

Önce Microsoft Visual Studio X.0klasöre göz atmanız veya komut isteminden Program Filesçalıştırmanız gerekebilir veya olmayabilir vcvarsall.bat.


Sorunun "Windows yüklemesinin bir parçası" olduğunu söyleyen kısmını kaçırdınız. Ayrıca, noktalı virgül gereksizdir.
Synetech

-1

Bu aracın temel amacı olmasa da, WuInstall'un / donothing seçeneğini kullanabilirsiniz - ayrıca iade edilmesi gereken bir dönüş kodu belirleyebilirsiniz - bkz. Http://help.wuinstall.com


Bu, XP veya 7'ye dahil edilmiyor gibi görünüyor. Sunucu sürümlerine dahil mi?
Synetech
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.