2008-11-07 13 views
7

मुझे एक छोटा (< 30 एमबी) स्टैंडअलोन विंडोज निष्पादन योग्य (एक फ़ाइल) चाहिए जो एक विंडो बनाता है जो उपयोगकर्ता को निर्देशिका के स्थान के लिए पूछता है और फिर उस निर्देशिका में एक अलग प्रोग्राम लॉन्च करता है।विंडोज पर हल्के जीयूआई प्रोग्राम लिखने का सबसे तेज़ तरीका क्या है?

इस निष्पादन योग्य को 32-बिट्स और 64 बिट्स पर x86-64 आर्किटेक्चर के साथ-साथ इटेनियम चिप्स पर विंडोज़ के एक्सपी, विस्टा, सर्वर 2003 और सर्वर 2008 संस्करणों पर चलना होगा।

यह शानदार होगा अगर हमें इन सभी प्लेटफार्मों पर इसे चलाने के लिए इसे केवल एक बार बनाना था, लेकिन यह एक आवश्यकता नहीं है। यह एक मालिकाना प्रणाली के लिए है, इसलिए जीपीएल कोड ऑफ-सीमा है।

इसे एक साथ रखने का सबसे तेज़ तरीका क्या है?

ये कुछ चीजें मैं में देख रहा हूँ कर रहे हैं, इसलिए यदि आप अपने व्यवहार्यता के बारे में जानकारी है, मैं इसके बारे में सब कर रहा हूँ:

  • पर्ल/टी perl2exe का उपयोग कर बाइनरी मिलता है।
  • wxruby
  • एमएफसी प्रोग्रामिंग सीखें और इसे हर किसी की तरह सही तरीके से करें।
+3

वाह, मैं अभी भी 30MB सुंदर लानत बड़े विचार करेगा;) – mmcdole

उत्तर

15

डब्लूएसएच स्क्रिप्ट के बारे में क्या? यह एक exe, सही नहीं होगा, लेकिन एक फ़ोल्डर के लिए पूछने के लिए मुझे exe फ़ाइल की आवश्यकता नहीं दिखाई दे रही है, 30 एमबी बहुत कम ...

ए 1 केबी स्क्रिप्ट, इसे जो भी नाम से बचाएं वीबीएस एक्सटेंशन के साथ और इसे चलाने के लिए। यह, यदि यह स्पष्ट नहीं है, तो आपको फ़ोल्डर नाम के लिए पूछता है और फिर system32 उपनिर्देशिका से calc.exe चलाता है। आप निश्चित रूप से 2 या 4 Kb में इससे बेहतर कर सकते हैं।

Set WshShell = WScript.CreateObject("WScript.Shell") 
win = InputBox("Please type your Windows folder location.") 
If Right(win,1) <> "\" Then 
    win = win & "\" 
End If 
WshShell.Run win & "system32\calc.exe" 

एक InputBox के बजाय एक फ़ोल्डर ब्राउज़र संवाद जोड़ने के लिए, this की जाँच करें।

स्पष्ट लाभ हैं:

  • सादगी (अच्छी तरह से, वीबी बदसूरत है, लेकिन यदि आप चाहें तो JScript उपयोग कर सकते हैं), कोई जरूरत नहीं यह संकलन करने के लिए!
  • Compatibility, हर विंडोज़ मशीन पर काम करता है मैं उपलब्ध (98 के बाद से) एक हल्के और तेजी से जीयूआई के लिए विंडोज पर
2

आप इसे एमएफसी में कर सकते हैं और 100k से कम में निष्पादन योग्य हो सकते हैं। आम तौर पर, यदि आप अपने निष्पादन योग्य आकार का आकार रखना चाहते हैं, तो आप एक्सई संपीड़न करने के लिए यूपीएक्स का उपयोग कर सकते हैं। यदि आप एक उदाहरण चाहते हैं, तो uTorrent पर एक नज़र डालें। यह 300k से कम निष्पादन योग्य में एक पूर्ण विशेषीकृत बिटटोरेंट ऐप है।

+0

आप एक पूर्ण विशेषताओं BitTorrent एप्लिकेशन, कोई मतलब था? –

9

तेज रास्ता है? एक शब्द .. डेल्फी! इसमें अब 64 बिट समर्थन की कमी है लेकिन फिर FreePascal बचाव के लिए आएगा।

+0

मैं खुद को डेल्फी के साथ इस प्रकार के सवालों का जवाब देना जारी रखता हूं, भले ही मैंने इसका कभी भी उपयोग नहीं किया हो। – MusiGenesis

+0

कोडगियर के पास रोडमैप पर 64-बिट कंपाइलर है ... – Roddy

+0

फ्री पास्कल में आरएडी की तरह डेल्फी भी है, लाजर। Http://lazarus.freepascal.org देखें –

2

wxWidgets; यह क्रॉस प्लेटफ़ॉर्म, मुफ़्त, ओपन सोर्स और सीखने में आसान है

3

इसकी सभी त्रुटियों के लिए, विज़ुअल बेसिक इस तरह के सुपर-सरल ऐप्स के लिए ऐतिहासिक रूप से शानदार रहा है।

+0

यदि आपके पास विजुअल स्टूडियो की एक प्रति है, तो इस तरह के जीयूआई प्रोग्रामिंग के लिए वीबी को हरा करना मुश्किल है। –

+0

लेकिन ऐप्स सभी वीबी रनटाइम्स या .NET पर निर्भर हैं। – MusiGenesis

+0

@MusiGenesis: बहुत सच है। इसके अलावा - उन मामलों के लिए पैसे खर्च करते हैं जहां यह महत्वपूर्ण है। –

5

wxWidgets या Tkinter के साथ पायथन लगभग कोई प्रयास नहीं कर पाएंगे।सबकुछ पर चलता है, और py2exe आपको एक स्टैंडअलोन निष्पादन योग्य बना देगा।

+0

विजुअल स्टूडियो फॉर्म संपादक लिखने के लिए तीव्रता का एक क्रम है, और आपको एक बेहतर परिणाम देता है, जब तक कि मैं कुछ हत्यारा-ऐप पायथन फॉर्म संपादक को न देखूं। –

+0

मुझे wxwidgets के बारे में निश्चित नहीं है - मैं एक टीके लड़का हूं, लेकिन उन लोगों के लिए जो पाइथन या टीसीएल जैसे गतिशील भाषाओं में जीयूआई लिखने वाले अनुभव के लिए हैं, इस तरह के सरल अनुप्रयोगों को बनाने में केवल कुछ मिनट लगते हैं। मुझे लगता है कि आप तेजी से परिमाण का क्रम होने के लिए कड़ी मेहनत करेंगे। –

+0

वहां कुछ सुंदर किलर पायथन फॉर्म एडिटर्स हैं, लेकिन मूलभूत "कुछ बटनों के साथ फॉर्म" ऐप को केवल 10 मिनट या तो टिंकर या टीके के साथ खटखटाया जाना चाहिए, और ज्यादातर टिंकर डेमो कोड में पेस्ट करने में खर्च होता है । :) –

9

मैं .NET और WinForms का उपयोग करता हूं। लिखित समाधान का विचार आकर्षक है, लेकिन प्रैक्टिस में मैं अक्सर आपको मूल मामले से परे कुछ भी करने के लिए हुप्स के माध्यम से कूदना चाहता हूं और अभी भी जो भी आप चाहते हैं उसे करने के लिए लचीलापन नहीं है।

+0

स्क्रिप्टिंग समाधान विकसित करने और बनाए रखने के लिए इतना छोटा लगता है कि इसे फेंकने के लिए लगभग शून्य नुकसान है और इसे 'वास्तविक' प्लेटफार्म में फिर से लिखना है, _if_ आवश्यकता उत्पन्न होती है; खासकर जब 'इसे सही करना' में कई आर्किटेक्चर के लिए निर्माण शामिल होगा और इसी तरह। –

+0

मुझे नहीं लगता कि .NET बॉक्स में – Javier

+0

बॉक्स से XP में काम करता है, मुझे XP0 के बारे में पता नहीं है, लेकिन XPsp2 में निश्चित रूप से –

5

एक छोटा सा स्टैंड-अलोन एप्लिकेशन होने और इसे जल्दी से विकसित करने के लिए, मुझे आमतौर पर विरोधाभासी आवश्यकताओं के बारे में कहना है।

ईमानदार होने के लिए, यह एप्लिकेशन कितना अविश्वसनीय रूप से सरल है, मैं सी में सीधे Win32 कॉल के साथ सी में लिखूंगा: निर्देशिका प्राप्त करने के लिए SHBrowseForFolder() को एक कॉल, और प्रोग्राम चलाने के लिए ShellExecuteEx() में से एक। यहां तक ​​कि एमएफसी भी इस तरह के मामूली आवेदन के लिए बहुत भारी वजन है। सी रनटाइम को स्थिर रूप से लिंक करने के लिए सेट करें और आपको 100k से कम तक स्टैंड-अलोन निष्पादन योग्य आकार का आकार रखने में सक्षम होना चाहिए। एक सभ्य विंडोज सी कोडर एक घंटे से भी कम समय में इसे दस्तक देने में सक्षम होना चाहिए, मान लीजिए कि आपके पास हाथ है।

+0

आपने स्पष्ट रूप से एक सभ्य टूलकिट के साथ कभी भी एक स्क्रिप्टिंग भाषा का उपयोग नहीं किया है। –

+0

क्या कभी भी एक स्क्रिप्टिंग भाषा का उपयोग नहीं किया है किसी भी तरह Win32 में प्रोग्राम लिखने में सक्षम होने से मना कर दिया? इसे शुद्ध Win32 ऐप होने का लाभ यह है कि यह स्क्रिप्टिंग टूल इंस्टॉल किए बिना कहीं भी चलता है। –

+1

नहीं, लेकिन मुझे लगता है कि बिंदु यह है कि "एक घंटे से कम" पावरहेल की तरह एक स्क्रिप्टिंग एनवी में लेने से काफी लंबा है।इसे वीबी.नेट में लगभग 7 मिनट लग सकते हैं, और इसमें विजुअल स्टूडियो स्टार्टअप समय शामिल है। – Cheeso

0

विंको वर्सालोविक ने जो कहा, उसके समान, आप एक एचटीए एप्लिकेशन का उपयोग कर सकते हैं। यह विंडोज स्क्रिप्टिंग होस्ट कार्यक्षमता के साथ एक वेबपृष्ठ बनाने के रूप में आसान है। मैंने jscript के साथ कुछ उपयोगिताओं का निर्माण किया है और यह वास्तव में आसान और त्वरित http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx

0

ये प्रतिक्रिया अविश्वसनीय हैं।

विजुअल स्टूडियो फॉर्म संपादक आपको WinForms को निकालने और बॉयलरप्लेट जीयूआई कोड (जो अधिकांश अन्य भाषाओं और टूलकिट्स के लिए सबसे अच्छा गधे में दर्द होता है) को स्वत: उत्पन्न करता है। फिर आप सी # या किसी अन्य .NET भाषा का उपयोग कर सकते हैं। .NET फ़ाइल पिकर्स के लिए स्टॉक विजेट्स है। मैं उस स्क्रिप्ट को 20 मिनट में लिख सकता हूं और यह आपके प्रत्येक प्लेटफ़ॉर्म पर मुफ्त में चलाएगा। जीयूआई निकालें, फ़ाइल पिकर को ड्रैग-एन-ड्रॉप करें, "दो अलग-अलग फाइलों को लॉन्च करें" करने के लिए शायद दो हुक भरें।

+0

विंडोज विस्टा .NET Framework पूर्व-स्थापित के संस्करण के साथ आता है। विंडोज के पुराने संस्करणों में, .NET Framework को Windows अद्यतन के माध्यम से या किसी अन्य प्रोग्राम की स्थापना के हिस्से के रूप में अलग से स्थापित किया जाना था। –

+0

प्रश्न "स्टैंडअलोन" कहता है, जो अस्पष्ट है लेकिन आम तौर पर मूल एक्सई का मतलब है। – MusiGenesis

+0

XP sp2 जहाजों के साथ जहाजों –

4

टीसीएल/टीके एक समाधान है। आपके पास "स्टारपैक" नामक किसी चीज़ का उपयोग करके एक फ़ाइल निष्पादन योग्य (कस्टम छवियों, डीएलएस, आदि सहित) हो सकती है - एक वर्चुअल फाइल सिस्टम जो टीसीएल दुभाषिया और एप्लिकेशन कोड दोनों है। मुझे लगता है कि यह शायद कुछ मेगाबाइट वजन में होगा।

आपके विनिर्देशों से यह मुझे पहले कामकाजी संस्करण प्राप्त करने के लिए व्यक्तिगत रूप से 15 मिनट लग जाएगा।

टीसीएल/टीएस में बीएसडी लाइसेंस है।

3

मैं ऊपर दिए गए टीसीएल/टीके उत्तर से सहमत हूं। स्टारपैक के बारे में अधिक जानकारी के लिए, जिसे वह संदर्भित करता है, देखें: http://www.equi4.com/tclkit/ यह एक ओएसएल के लिए उपलब्ध एक टीसीएल/टीसी दुभाषिया है जो सभी के बारे में 1 एमबी में उपलब्ध है। अतीत में स्पष्ट रूप से टीसीएल/टीआई यूआई के स्वरूप और अनुभव के बारे में चिंतित है, लेकिन इसे "टाइल" नामक एक नए ढांचे द्वारा संबोधित किया गया है जो उपयोगकर्ता के ओएस के मूल रूप और अनुभव का समर्थन करता है।

1

मैं त्वरित और गंदे रूप & स्क्रिप्ट अनुप्रयोगों के लिए HTA (HTML अनुप्रयोग) का उपयोग करता हूं। विवरण और उदाहरणों के लिए Microsoft's HTA Developers Center देखें। यह मूल रूप से फॉर्म के लिए HTML का उपयोग करता है, और स्क्रिप्ट के लिए किसी भी HTML- सुलभ स्क्रिप्टिंग भाषा का उपयोग करता है। सामान्य ब्राउज़र सुरक्षा को छोड़ दिया जाता है ताकि आप लगभग सभी ओएस आंतरिक प्राप्त कर सकें। उपर्युक्त साइट में कई टूल के लिंक भी शामिल हैं जो आपके लिए स्क्रिप्टिंग भाग को लगभग स्वचालित करते हैं।

3

आपके जैसे त्वरित और गंदे जीयूआई प्रोग्राम के लिए, आप AutoIt स्क्रिप्ट का उपयोग कर सकते हैं। आप एक exe भी संकलित कर सकते हैं।

AutoIt का एक जीयूआई उदाहरण के लिए, यदि आप पिछले जवाब here

1

PyQt इस के लिए वास्तव में अच्छी तरह से काम करता है में मेरी stdout रीडायरेक्ट स्क्रिप्ट देख सकते हैं।विंडोज यहाँ बाइनरी:

http://www.riverbankcomputing.co.uk/software/pyqt/download

एक अच्छा यहाँ किताब:

http://www.amazon.com/Programming-Python-Prentice-Software-Development/dp/0132354187/ref=sr_1_1?ie=UTF8&qid=1295369454&sr=8-1

और अगर आप exe (रों) की जरूरत है आप इन विभिन्न तरीकों का उपयोग कर रोक सकते हैं।

0

मैं Autohotkey (AHK) या Autoit का सुझाव देता हूं। दोनों समर्थन win95 + (कुछ कार्यों के लिए चेतावनी के साथ)। उन्हें बाहरी निर्भरता के बिना छोटे .exe में संकलित किया जा सकता है (देशी डीएलएल के अलावा)।

सकारात्मक:

  • छोटे आकार
  • कोड लिखने के लिए सरल के लिए
  • उपयोगी आसान - जटिल आपरेशनों
  • जीयूआई आसानी से

विपक्ष बना सकते हैं:

  • सीखने की अवस्था (के रूप में वाक्य रचना असामान्य है)
संबंधित मुद्दे

 संबंधित मुद्दे