Aldığım Exe dosyasıyla ilgili bilgiler VerQueryValue aracılığıyla alın. Bu bilgileri kayıt edebilen (oluşturacak veya değiştirebilecek) bir ters fonksiyon var mı (WinApi veya Delphi)? Burada, örneğin, bunu yapabilen bir program var. Nasıl çalışır (http://www.angusj.com/resourcehacker)?Set EXE Sürüm Bilgisi
cevap
Sürüm bilgisi kaynaklar tarafından saklanır; Bu kaynağı düzenlemek için gerekenleri düzenlemek için. Burada mevcut bir dosya sürümü bilgisini klonlayabilen ve onu başka bir dosyaya ekleyebileceğim bir birim var. http://msdn.microsoft (
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.
Sadece dil ve kod sayfası bilgileri içindir. [VS_FIXEDFILEINFO] (http://msdn.microsoft.com/en-us/library/ms646997%28v=VS.85%29.aspx) nedir? +1 her neyse – TLama
Teşekkürler, şimdi araştırmalara katılacağım ... –
Eğer internette bulduğunuz bir birim ise, lisansa daha fazla dikkat etmeniz gerekiyor. En azından, kaynağa bir bağlantı sağlamalısınız. (Ayrıca, http://en.wikipedia.org/wiki/Run-on_sentence bir göz atın.) –
- 1. Yapılandırma WS set tanımlama bilgisi
- 2. Sürüm bilgisi nasıl sıralanır
- 3. maven yapı - sürüm bilgisi
- 4. Güncelleme sürüm bilgisi
- 5. Sürüm Bilgisi Delphi'de nasıl otomatik olarak ayarlanır?
- 6. SET JAVA_HOME jenv java sürüm
- 7. Sürüm bilgisi kurulum çıktı dosya adı nasıl eklenir?
- 8. Win sürümünde IE sürüm bilgisi nasıl edinilir?
- 9. GNU Autotools: sürüm bilgisi olmadan yeniden oluştur
- 10. IE 9 set tanımlama bilgisi ve yeniden yönlendirme başarısız oldu
- 11. EXE/DLL dosyalarının SVN düzeltme ve sürüm ressources'i nasıl eşitlenir?
- 12. Delphi 7 projesini koddan "Sürüm Bilgisi" olarak ayarlayın.
- 13. hala kimlik bilgisi-osxkeychain
- 14. Neden Freetype benim .exe
- 15. İletki - dosya/exe üzerinden exe dosyasını yükle
- 16. SET
- 17. benim .exe
- 18. Set <String> Set []?
- 19. Bluetoothctl set passkey
- 20. JSESSIONID tanımlama bilgisi değeri güncelleniyor
- 21. EXE packer/EXE C#/VB.net uygulama için Kompresör
- 22. Set maven mülkiyet eklenti
- 23. PowerShell'de EXE çıktısı yakala
- 24. MinGW Link Tek EXE
- 25. yerli paket exe
- 26. pyinstaller, bir .exe
- 27. Javascript'ten .exe çalışan
- 28. Hatalar (cc1.exe)
- 29. pyinstaller exe en()
- 30. ".exe" + ofsetinden okuma belleği?
Bu [sürüm kaynak] tarafından belirlenir: Size (mevcut halkı bir arkadaşım tarafından kodlanmış ve bir oluyor) bu kodu başlayan ne istediğini yapmak çok kolaydır. com/tr-tr/kütüphane/aa381058 (VS.85) .aspx). Değiştirmek için ['UpdateResource'] (http://msdn.microsoft.com/en-us/library/ms648049 (VS.85) .aspx) kullanın. –
Burada, sürüm bilgilerinin nasıl ayarlanacağı ile ilgili bir programın bağlantısı var. Delphi 2009 ve üstü uyumlu. [Updated-setversion-exe-to-set-dosyası-versiyon-info-in-res-ya-exe] (http://www.jasontpenny.com/blog/2009/09/05/updated-setversion-exe- to-set-file-version-in-res-or-exe /) –