सेट करें संस्करण EXE-file संस्करण पर जानकारी VerQueryValue के माध्यम से प्राप्त होती है। क्या कोई व्यस्त कार्य (विनएपी या डेल्फी) है जो ऐसी जानकारी पंजीकृत (स्थापित या बदल सकता है)? यहां, उदाहरण के लिए, एक ऐसा प्रोग्राम है जो ऐसा करने में सक्षम है। यह कैसे काम कर सकता है (http://www.angusj.com/resourcehacker)?EXE VersionInfo
उत्तर
संस्करण जानकारी संसाधनों के माध्यम से संग्रहीत की जाती है; यह संपादित करने के लिए कि आपको बस उस संसाधन को संपादित करने की आवश्यकता है। यहां एक इकाई है जो मैंने पाया है कि मौजूदा फ़ाइल संस्करण की जानकारी क्लोन कर सकते हैं और इसे किसी अन्य फ़ाइल से जोड़ सकते हैं।
unit cloneinfo;
interface
uses Windows, SysUtils;
type
LANGANDCODEPAGE = record
wLanguage: Word;
wCodePage: Word;
end;
procedure clone(sFile,output:string);
implementation
procedure clone(sFile,output:string);
var
dwHandle, cbTranslate: cardinal;
sizeVers: DWord;
lpData, langData: Pointer;
lpTranslate: ^LANGANDCODEPAGE;
hRes : THandle;
begin
sizeVers := GetFileVersionInfoSize(PChar(sFile), dwHandle);
If sizeVers = 0 then
exit;
GetMem(lpData, sizeVers);
try
ZeroMemory(lpData, sizeVers);
GetFileVersionInfo (PChar(sFile), 0, sizeVers, lpData);
If not VerQueryValue (lpData, '\VarFileInfo\Translation', langData, cbTranslate) then
exit;
hRes := BeginUpdateResource(pchar(output), FALSE);
//For i := 0 to (cbTranslate div sizeof(LANGANDCODEPAGE)) do
//begin
lpTranslate := Pointer(Integer(langData) + sizeof(LANGANDCODEPAGE));
UpdateResource(hRes, RT_VERSION, MAKEINTRESOURCE(VS_VERSION_INFO), lpTranslate^.wLanguage,lpData, sizeVers);
//end;
EndUpdateResource(hRes, FALSE);
finally
FreeMem(lpData);
end;
end;
end.
यह सिर्फ भाषा और कोड पृष्ठ की जानकारी के लिए है। [VS_FIXEDFILEINFO] के बारे में क्या (http://msdn.microsoft.com/en-us/library/ms646997%28v=VS.85%29.aspx)? +1 वैसे भी – TLama
धन्यवाद बड़ा, अब मैं शोध में व्यस्त रहूंगा ... –
यदि यह एक इकाई है जिसे आपने इंटरनेट पर पाया है, तो आपको लाइसेंसिंग के साथ और सावधान रहना होगा। बहुत कम से कम, आपको स्रोत को एक लिंक प्रदान करना चाहिए। (इसके अलावा, http://en.wikipedia.org/wiki/Run-on_sentence पर एक नज़र डालें।) –
- 1. EXE
- 2. विधानसभा इन्फॉर्मेशन Win32 VERSIONINFO को मानचित्र कैसे विशेषता देता है?
- 3. VCRedist_x86.exe
- 4. exe \ dll
- 5. EXE फ़ाइल
- 6. regsvr32.exe
- 7. एक EXE
- 8. मेरे .exe
- 9. WPF EXE
- 10. किसी अन्य EXE के लिए असेंबली संस्करण (फ़ाइल संस्करण नहीं) कैसे प्राप्त करें?
- 11. देशी बंडल exe
- 12. वीबी 6 EXE
- 13. यदि कोई EXE WPF
- 14. मिनजीडब्ल्यू लिंक एकल EXE
- 15. विंडोज जीयूआई EXE
- 16. मैं एक Exe
- 17. सेलेनियम वेबड्राइवर: फ़ायरफ़ॉक्स exe
- 18. सी ++ कैसे एक .exe
- 19. नामस्थान समावेशन exe
- 20. सी तेज exe को
- 21. किसी अन्य प्रोजेक्ट (.exe)
- 22. EXE या DLL
- 23. .exe फ़ाइल नाम
- 24. GetObject और VB6 ActiveX exe
- 25. पायथन 3 प्रोजेक्ट exe में?
- 26. स्टैंडअलोन EXE और विंडोज सेवा
- 27. एक .exe और a .dll
- 28. सी # - डेटा (चित्र) को .exe
- 29. JavaFx देशी बंडल exe आइकन
- 30. सी ++ डीएल या सी ++ exe
यह [संस्करण संसाधन] से निर्धारित होता है (http://msdn.microsoft: यह आप (यह मेरा एक दोस्त द्वारा कोडित है और है उपलब्ध सार्वजनिक) इस कोड से क्या शुरू करने के लिए करना चाहते हैं बहुत आसान है। com/en-us/पुस्तकालय/aa381058 (VS.85) .aspx)। इसे संशोधित करने के लिए ['UpdateResource'] (http://msdn.microsoft.com/en-us/library/ms648049 (VS.85) .aspx) का उपयोग करें। –
यहां एक प्रोग्राम के साथ एक लिंक है जो स्रोत जानकारी को सेट करने के स्रोत के साथ है। डेल्फी 200 9 और संगत। [अद्यतन-setversion-एक्स-टू-सेट-फ़ाइल-संस्करण-जानकारी-इन-रेस या exe] (http://www.jasontpenny.com/blog/2009/09/05/updated-setversion-exe- टू-सेट-फ़ाइल-वर्जन-इन-रेस-या-एक्सई /) –