2009-06-20 8 views
24

जब मैं एक .exe बनाता हूं, तो मैं इसे राइट क्लिक कर सकता हूं और गुण-> विवरण पर जा सकता हूं।निष्पादन योग्य गुणों को कैसे बदला जाए? (विंडोज़)

File Description | 
Type    | Application 
File Version  | 
Product Name  | 
Product Version | 
Copyright  | 
Size    | 18.0 KB 
Date Modified | 6/16/2009 8:23 PM 
Language   | 

मैं इन गुणों को कैसे बदल सकता: तो फिर मैं की तरह एक सूची प्राप्त?

+2

इस एक निष्पादन आप संकलन कर रहे हैं, या निष्पादन योग्य आपके पास स्रोत कोड तक पहुंच नहीं है? – DeadHead

+1

यह एक निष्पादन योग्य है जिसे मैंने पहले ही सी ++ कोड से संकलित किया है। –

+1

@ केंड 64: यदि आप इसे हाथ से बदलना चाहते हैं, तो आप exe फ़ाइल खोलने और संसाधनों को आसानी से बदलने के लिए विजुअल स्टूडियो में फ़ाइल -> खोल सकते हैं। –

उत्तर

25

आप सी उपयोग कर रहे हैं/Win32 आप कुछ इस तरह अपनी परियोजना एक * आर सी (संसाधन) फ़ाइल में समझाया को जोड़ सकते हैं (और एक तरफ ध्यान दें पर, वहाँ चिह्न बदलने के लिए एक तरीका है?):

VS_VERSION_INFO VERSIONINFO 
FILEVERSION 0,0,0,2 
PRODUCTVERSION 0,0,0,2 
FILEFLAGSMASK 0x3fL 
#ifdef _DEBUG 
FILEFLAGS 0x1L 
#else 
FILEFLAGS 0x0L 
#endif 
FILEOS 0x4L 
FILETYPE 0x1L 
FILESUBTYPE 0x0L 
{ 
    BLOCK "StringFileInfo" 
    { 
     BLOCK "040904b0" 
     { 
      VALUE "Comments",   "comment\0" 
      VALUE "CompanyName",  "comment\0" 
      VALUE "FileDescription", "base file\0" 
      VALUE "FileVersion",  "0.0.0.2 TP\0" 
      VALUE "InternalName",  "testTP\0" 
      VALUE "LegalCopyright", "none\0" 
      VALUE "OriginalFilename", "test.exe\0" 
      VALUE "ProductName",  "test\0" 
      VALUE "ProductVersion", "0.0.0.2 TP\0" 
     } 
    } 
    BLOCK "VarFileInfo" 
    { 
     VALUE "Translation", 0x409, 1200 
    } 
} 
+4

क्या आप थोड़ा विस्तार कर सकते हैं? –

+4

@ केंड 64 आपको एमएसडीएन/VERSIONINFO http://msdn.microsoft पर अतिरिक्त जानकारी मिलती है।com/en-us/library/aa381058.aspx हालांकि मैं जल्द ही वर्णन कर सकता हूं कि यह सी में मेरे लिए कैसे काम करता है (सुनिश्चित नहीं है कि यह सी ++ में पसंदीदा तरीका है, लेकिन अब मैं इसके बारे में नहीं कर रहा था सी ++)। मैं अपनी प्रोजेक्ट में एक संसाधन फ़ाइल (उदाहरण के लिए main.rc) जोड़ता हूं, ऊपर से कोड जोड़ता हूं और तदनुसार इसे संपादित करता हूं (msdn देखें)। एक recompile मेरे .exe फ़ाइल के बाद सभी जानकारी शामिल है। अगर मुझे .NET में सही ढंग से याद है तो आप [असेंबली: असेंबली टाइटल ("शीर्षक")] कमांड के साथ ऐसा ही कर सकते हैं। – merkuro

+0

इसके अलावा, यदि आप अपनी संसाधन फ़ाइल को संकलित करने के लिए आरसी का उपयोग करने के बजाय मिनीजीडब्लू (जैसे मैं हूं) का उपयोग कर रहा हूं, तो यह जानकारी प्रदान करने के लिए आपके एक्सई से जुड़ा होगा, आपको विंडर्स का उपयोग करना चाहिए: http: //www.mingw। संगठन/विकी/MS_resource_compiler। एमएसडीएन लिंक और वह लिंक आपके अतिरिक्त EXE को यह अतिरिक्त जानकारी जोड़ने के लिए पर्याप्त होना चाहिए। – abelito

6

यह सरल फ़ाइल संस्करण जानकारी संसाधन है। पहले से मौजूद फाइलों के लिए आप इस जानकारी को किसी संसाधन संपादक के साथ संपादित कर सकते हैं (उदाहरण के लिए Resource Hacker, यह पुराना है लेकिन अभी भी अच्छा है)। आप इस तरह से आइकन भी बदल सकते हैं।

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

-1

नेट के लिए, क्या गुण उपलब्ध हैं के बारे में जानकारी के लिए "विधानसभा विशेषताओं की स्थापना के लिए" गूगल। फिर आप इस तरह के गुणों का उपयोग करें ...

using System.Reflection; // Needed to get to the attributes. 

[assembly:AssemblyTitle("My File Description")] 
[etc.] 
+7

यह उत्तर नहीं है । पूछताछ सी WinAPI में समाधान चाहते हैं, नहीं .NET सी #। – dns

2

आपको कुछ भी कोड करने की आवश्यकता नहीं है। यदि आप विजुअल स्टूडियो का उपयोग कर रहे हैं, तो यहां आसान तरीका है:

अपने प्रोजेक्ट के समाधान के तहत, गुण नामक एक फ़ोल्डर है, इसे विस्तृत करें और AssemblyInfo.cs नामक फ़ाइल पर डबल क्लिक करें और आप वहां डिफ़ॉल्ट स्ट्रिंग को बदल सकते हैं।

+6

कोई जवाब नहीं। पूछताछ सी WinAPI में समाधान चाहते हैं, सी # में नहीं। – dns

+0

आप वीएस में डबल क्लिक करके EXE संपत्ति (WinAPI) संपादित नहीं कर सकते हैं। आपको संसाधन फ़ाइल में सीधे कोड करना होगा (@merkuro उत्तर देखें)। और पूछताछ वास्तव में WinAPI में जवाब चाहते हैं क्योंकि उन्होंने टिप्पणी अनुभाग में संकलित C++ प्रोग्राम का उपयोग किया था। – dns

7

बहुत आसान है अगर आप दृश्य स्टूडियो का उपयोग कर रहे: परियोजना में 'संसाधन फ़ाइलें' फ़ोल्डर पर

  • राइट क्लिक करें
  • क्लिक से 'जोड़ें' फिर 'संसाधन'
  • चुनें 'संस्करण' पॉप-अप संवाद

फिर आप विजुअल स्टूडियो में इसे खोलने के लिए फ़ाइल पर डबल क्लिक कर सकते हैं, और आपको मूल्यों को बदलने के लिए एक आसान संपादक मिलता है।

आपके मान तब स्वचालित रूप से EXE से जुड़े हुए हैं।

4

आप एक संकलित निष्पादन पर FileDescription या किसी अन्य संस्करण संसाधन स्ट्रिंग बदलना चाहते हैं, rcedit (एक छोटे से खुला स्रोत उपकरण) यह बहुत आसानी से करता है:

$ rcedit MyApp.exe --set-version-string FileDescription "My Awesome App" 
+1

'rcedit' सेट किए गए गुणों के संदर्भ में काफी सीमित है। – ashes999