क्या कोई विंडोज़ एक्सई है जो कुछ भी नहीं करता है?


47

क्या विंडोज इंस्टॉलेशन के हिस्से के रूप में कहीं "नो" है? मैं कुछ बैच की नौकरियों और अनुसूचित कार्यों की तैयारी कर रहा हूं, और एक दो कारणों से मैं एक निष्पादन योग्य का संदर्भ देना चाहूंगा जो कुछ भी नहीं करता है - अर्थात कोई दृश्यमान विंडो के साथ लॉन्च नहीं करता है, और तुरंत क्विट करता है।

क्या इस तरह के निष्पादन योग्य सामान्य विंडोज इंस्टॉलेशन में कहीं भी मौजूद हैं? या मैं कैसे पास आ सकता हूं? मैं नहीं चाहता कि विंडोज में पहले से शामिल किसी भी चीज पर निर्भर रहना पड़े।


2
अवलोकन से: svchost.exeकुछ भी नहीं खोलता है।
ta.speot.is

@ todda.speot.is आपको पूर्ण उत्तर के रूप में शामिल करना चाहिए।
डकमास्ट्रो

2
क्या इसे बाहरी (निष्पादन योग्य) फ़ाइल होना चाहिए था? यदि नहीं, तो remकमांड काम कर सकता था (और यह निर्भर करता है कि बैच-फ़ाइल में इसका उपयोग कहां किया जा रहा है, संभवतः ::संस्करण भी )।
२०:०२ पर Synechech

जवाबों:


51

आप उपयोग कर सकते हैं rundll32:

  • कोई कंसोल विंडो नहीं
  • कोई दुष्प्रभाव नहीं
  • सिर्फ 44 केबी
  • कोई तर्क आवश्यक नहीं है
  • हर हाल में विंडोज संस्करण (एक्सपी, विस्टा, 7) पर काम करता है, और शायद प्रत्येक एनटी-आधारित प्रणाली पर।

2
तो यह वहाँ क्यों है?
नाथन

6
@ नथन उपयुक्त तर्कों के साथ, यह एक फ़ंक्शन को DLL के अंदर कॉल कर सकता है
एंड्रिया

सही। उदाहरण के लिए, एक साधारण print.exeप्रोग्राम की कल्पना करें जो बस पास किए गए मापदंडों को प्रिंट करता है। किसी भी तर्क के बिना यह होगा कुछ भी नहीं है, लेकिन यह तर्क दे रही है कुछ करता है : > print foobar
Synetech

@ और फिर यह तब तक कुछ नहीं करता जब तक कोई तर्क न दिया जाए। यद्यपि वह अपनी आवश्यकताओं के अनुसार पर्याप्त नहीं है।
बार्लोप

3
इसके अलावा यह वास्तव में एक नहीं सेशन नहीं है।
एंडी टेरा

36

क्या विंडोज इंस्टॉलेशन के हिस्से के रूप में कहीं "नो" है?

मतलब विशेष रूप से एक ऐसा कार्यक्रम जो कुछ और नहीं करने के लिए है? हां और ना। उस विंडोज में कोई भी डिफ़ॉल्ट रूप से शामिल नहीं है, लेकिन इसमें स्वयं को बनाने की क्षमता शामिल है।


विकल्प 1

Notepad.exe चलाएँ , निम्न पंक्तियाँ टाइप करें, और इसे सहेजें C:\ret.scr(रिक्त पंक्ति को न भूलें):

a
ret

rcx
1
n ret.com
w
q

निम्नलिखित कमांड के साथ कमांड-प्रॉम्प्ट ( cmd.exe ) पर debug.exe के साथ इसे संकलित करें :

C:\> debug < ret.scr

अब आपके पास एक प्रोग्राम है, ret.com(C: \ में) जो कि बैच फ़ाइलों में इस्तेमाल किया जा सकता है, जो बिलकुल कुछ भी नहीं करता है (अच्छी तरह से, अन्य के अलावा, अगर वह मायने रखता है)।

नोट : debug64-बिट सिस्टम पर शामिल नहीं है।


विकल्प 2

विस्टा और ऊपर में, .NET फ्रेमवर्क डिफ़ॉल्ट रूप से शामिल है, इसलिए आप .exeC # ( 64-बिट संगत ) के साथ एक देशी, विंडोज डू-नथिंग भी बना सकते हैं :

नोटपैड.एडी को चलाएं और निम्न पंक्तियों को टाइप करें, इसे इस प्रकार सहेजेंC:\ret.cs :

class rte
{
   static void Main() {
   }
}

निम्नलिखित कमांड के साथ कमांड-प्रॉम्प्ट ( cmd.exe ) पर csc.exe के साथ इसे संकलित करें :

C:\> csc ret.cs

अब आपके पास एक और प्रोग्राम है, ret.exe(C: \ में) जो कि बैच फ़ाइलों में उपयोग किया जा सकता है, जो कुछ भी नहीं है, लेकिन वापस नहीं करता है।


2
धिक्कार है ब्रिलियंट .. हर किसी को आपको उस एक के लिए अप्रोच करना चाहिए .. मैं हमेशा से असेंबली लैंग्वेज सीखना चाहता था .. मैंने कभी डीबग का इस्तेमाल नहीं किया और सोचा कि यह डॉस के साथ मर गया। इसलिए ख़ुशी हुई कि मैं यहाँ आपके जवाब पर लड़खड़ा गया। शायद भविष्य के शौक के लिए चारा!
बारलोप

12
मेरे लिए, csc.exeमेरे रास्ते पर नहीं था, लेकिन यह कम से स्थित थाC:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
AlcubierreDrive

एक EXE के बारे में क्या है जो एक C प्रोग्राम से संकलित किया गया है, जिसमें सिर्फ एक मुख्य विधि है, जैसे कि आपका csc.exe क्या आप डिबग में लिखे गए प्रोग्राम से बहुत अधिक काम कर रहे हैं? उदाहरण के लिए, क्या उस कार्यक्रम के साथ वहां बहुत अधिक विधानसभा भाषा है?
बार्लॉप

1
@barlop, आम तौर पर हाँ। जबकि एक खाली mainकार्य ऐसा लगता है कि, या कम से कम कुछ भी नहीं होना चाहिए ret, यदि आप एक डिस्सेम्बलर (या यहां तक ​​कि एक हेक्स-एडिटर) में इस तरह के कार्यक्रम को खोलते हैं, तो आप देखेंगे कि यह बहुत कुछ है, इससे बहुत अधिक है। यह आमतौर पर सभी प्रकार के खंडों (कोड, डेटा, आदि) की स्थापना करेगा, स्टैक और ढेर तैयार करेगा, सभी प्रकार के कार्यों और तारों के आयात का उल्लेख नहीं करने के लिए और इस तरह भले ही यह वास्तव में उनका उपयोग न करें।
Synetech

मुझे एक इंस्टालेशन किट के लिए कुछ पुराने बाहरी सपोर्ट सॉफ़्टवेयर को बदलने के लिए इसकी आवश्यकता थी, पैकेज के आकार को कम करने के लिए, जहाँ उस सॉफ़्टवेयर की ज़रूरत नहीं है, जैसे DirectX और VCruntimes। इसके अलावा, यदि आपके पास कोई कंपाइलर नहीं है या आप ऑनलाइन कंपाइलर का उपयोग करना चाहते हैं, तो tutorialspoint.com/codingground.htm से कंपाइल करें , संकलन के बाद, प्रोजेक्ट डाउनलोड करें और यह संग्रह के अंदर एक्सई होगा।
जेसनएक्सए

10

विंडोज के साथ कोई भी प्रोग्राम शामिल नहीं है (जो मुझे पता है) जो निष्पादित होने पर तुरंत बाहर निकल जाते हैं (कम से कम उद्देश्य पर।)

Windows Vista और नए में, हालांकि, timeout.exe उपयोगिता है। Timeout.exeसेकंड की एक निर्दिष्ट संख्या प्रतीक्षा करेगा और फिर बाहर निकल जाएगा। उदाहरण के लिए:

C:\>timeout /t 0 > nul:

timeout.exe0 सेकंड के लिए प्रतीक्षा करने के लिए सेट करना लगभग उतना ही है जितना आपको एक EXE से मिलेगा जो तुरंत बाहर निकल जाता है।


3
ओप क्या करना चाहता है, इसके लिए टाइमआउट का उपयोग करें जैसे "टाइमआउट / टी 0> नुल:" - जो बिना किसी आउटपुट के टाइमआउट कमांड को चलाएगा और तुरंत छोड़ देगा।
मिस्टरजयेटी

@ मिस्टरजायते अच्छे विचार।
एंड्रयू लैम्बर्ट

@ टॉम: एक कंसोल विंडो । जब तक आप cmd.exeविशेष रूप से नहीं चलाते हैं, यह कमांड प्रॉम्प्ट नहीं खोलेगा ।
grawity

@ ग्रेविटी: टास्क शेड्यूलर को चलाने के लिए कमांड के लिए कमांड प्रोसेसर की जरूरत होती है, इसलिए कंसोल विंडो थोड़ी देर में दिखाई देगी।
तमारा विज्समैन

@TomWijsman जितना हो सकता है, मैं खोलने के लिए कोई नई विंडो नहीं प्राप्त कर सकता हूं।
एंड्रयू लैम्बर्ट

4

मापदंडों के बिना "C: \ Windows \ hh.exe" (Microsoft® HTML मदद निष्पादन योग्य) कुछ भी नहीं करता है और यह मुझे लगता है कि किसी भी विंडोज-संस्करण में शामिल है।


2

wscript बिना किसी तर्क के कोई स्क्रिप्ट नहीं चलती है, और एक "जीयूआई" निष्पादन योग्य है (एक कंसोल नहीं खोलता है)।


2
जब मैं कोई तर्क के साथ wscript चलाता हूं तो मुझे एक "विंडोज स्क्रिप्ट होस्ट सेटिंग्स" मिलती है जो दिखाई देती है। विंडोज 7 64-बिट। रनिंग wscript /bहालांकि काम करने लगती है।
डकमास्ट्रो

2

मैंने कोशिश की है rndll32.exeऔर hh.exeफिर दोनों ने% ERRORLEVEL% को नहीं बदला है। यह एक पर्यावरण चर है जो कहता है कि यदि अंतिम निष्पादन योग्य सफल था। यूनिक्स रिटर्न कोड की तरह काम करता है।

नीचे मेरा noop कमांड% ERRORLEVEL% को शून्य पर सेट करेगा:

cd %CD%

बस वर्किंग डाइरेक्टरी को करंट में बदलना।


0

कमांड echo offएक बैच (.BAT) फ़ाइल के भीतर कुछ भी नहीं करता है। हालांकि यह एक निष्पादन योग्य नहीं है यह एक विंडोज़ आंतरिक कमांड है।


7
वास्तव में यह कुछ करता है, यह प्रतिध्वनित होता है। यदि आप इसे बंद करना चाहते हैं , तो ऐसा कुछ नहीं लग सकता है, लेकिन यदि आप गूँजना चाहते हैं , तो यह निश्चित रूप से कुछ करता है।
Synetech

6
और रेम की तरह, यह विंडोज़
एक्सई

0

एक सरल "हैलो वर्ल्ड" C ++ प्रोग्राम को सरल एक्स बनाने के लिए संकलित करें जो तुरंत बाहर निकल जाएगा।
पाठ फ़ाइल में कुछ नाम जैसे कोड के साथ निम्नलिखित कोड को सहेजें:

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

फिर, विंडोज 7 के लिए MinGW की तरह LATEST C ++ कंपाइलर के साथ इसे संकलित करें। MinGW के
मामले में, PowerShell या कमांड प्रॉम्प्ट में कमांड का पालन करें: g++ path\a.cpp(यह मानकर कि आपने gAT बाइनरी स्थान के पर्यावरण पैठ चर को सेट किया है या आप g ++ बाइनरी निर्देशिका में हैं या c : \ mingw \ bin डिफ़ॉल्ट रूप से)। कमांड निष्पादन के बाद, आपको a.exe मिलेगा जो हैलो वर्ल्ड प्रदर्शित करेगा और बाहर निकलेगा। डबल-क्लिक करके सत्यापित करें ... cmd विंडो दिखाई देगी और तुरंत गायब हो जाएगी। कमांड लाइन एक्सेस हैलो वर्ल्ड को प्रदर्शित करेगा और आपको सीएलआई प्रॉम्प्ट पर लौटाएगा।
उसके बाद, आप इस a.exe को system32 में या कहीं भी Windows के अंदर ले जा सकते हैं। आप इसे विंडोज के इंस्टॉलेशन डिस्क में भी रोल आउट कर सकते हैं।


2
मुझे पूरा यकीन है कि विंडोज के साथ C ++ कंपाइलर शामिल नहीं है।
6

6
"हैलो वर्ल्ड" को प्रिंट करना शायद ही कुछ नहीं कर रहा हो।
कीथ थॉम्पसन

@ सिंथेटेक संकलन की आवश्यकता केवल एक बार होती है जब तक सीपीयू आर्किटेक्चर समान होता है ..
Apple II

1
@KeithThompson मुझे नहीं लगता कि यह बैट एल्गोरिथ्म के साथ हस्तक्षेप करेगा, लेकिन अगर यह वास्तव में मायने रखता है, तो हैलो वर्ल्ड को ASCII के अशक्त चरित्र से बदल दें ..
Apple II

5
> मुझे नहीं लगता कि यह बैट एल्गोरिथ्म के साथ हस्तक्षेप करेगा, लेकिन अगर यह वास्तव में मायने रखता है, तो हैलो वर्ल्ड को ASCII के अशक्त चरित्र के साथ बदलें या प्रिंट कमांड को पूरी तरह से हटा दें।
Synetech

0

आप C की तरह नो-ऑप लिख सकते हैं

void main() {

}

और इसे .exe फ़ाइल में संकलित करें। उदाहरण के लिए, यदि आपके पास Visual Studio स्थापित है, तो आप नोटपैड खोल सकते हैं, उस स्निपेट को पेस्ट कर सकते हैं, इसे noop.c और कमांड प्रॉम्प्ट के रूप में सहेज सकते हैं cl noop.cऔर यह noop.exeउसी फ़ोल्डर में एक फ़ाइल आउटपुट करेगा ।

आपको पहले से Microsoft Visual Studio X.0फ़ोल्डर में ब्राउज़ करना पड़ सकता है या कमांड प्रॉम्प्ट से Program Filesचलाना पड़ सकता है vcvarsall.bat


आपने उस प्रश्न का हिस्सा याद किया जो "विंडोज इंस्टॉलेशन का हिस्सा" कहा गया था। इसके अलावा, अर्धविराम बेमानी है।
Synetech

-1

हालांकि यह इस उपकरण का मुख्य उद्देश्य नहीं है, आप के / donothing विकल्प का उपयोग कर सकते हैं WuInstall - आप भी एक वापसी कोड है जो वापस आ जाना चाहिए निर्दिष्ट कर सकते हैं - देख http://help.wuinstall.com


यह XP या 7 के साथ शामिल नहीं लगता है। क्या यह सर्वर संस्करणों के साथ शामिल है?
Synetech
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.