2009-07-30 5 views
12

... derleme işlemime entegre edebildiğim bir şey gibi: bu "standart" bir araç var mı?Win32 exe'nin yerleşik Simgesini değiştirmek için komut satırı yardımcı programı var mı?

+0

Yapılandırma sırasında bunu yapıyorsanız, neden sonra simgeyi değiştirmeniz gerekiyor? Neden ilk başta doğru simge ile inşa etmiyoruz? (Ville Laurikari'nin cevabına bakınız). –

+0

Cevabına cevaben yorumlarıma bakın. – jkp

+0

Bazen, gerçek sürümden sonra dosyanın sürümünü güncellemek gerekir (kaynak değişikliği olmadan SVN veya CVS düzeltmesini ekleyin). Ama ben gerçekten neden ikonu değiştirmeye ihtiyacın olduğunu göremiyorum. –

cevap

3

Resource Hacker'un bunu yapabildiğinden ve diğer bazı şeylerden eminim ki, bir süre sonra kullandığım simgeyi tanıyorum. Umarım bu size yardımcı olur!

+0

Thats fantastik: ve neredeyse mükemmel, çünkü benim komut sürecine bağlı olarak onu yapılamamın bir parçası olarak çalıştırılamıyor. Yine de ilginç bir bağlantı için çekin. – jkp

+0

Bunu buldum: http://www.heaventools.com/command-line_resource_editor.htm. Utanç verici bir miktar nakit istiyorlar. – jkp

+0

Bu bir konsol uygulaması değil, ancak yine de parametrelerle çalıştırabilir ve kullanıcı etkileşimi olmadan tek bir "eylem" gerçekleştirebilirsiniz. Ayrıca çeşitli eylemler gerçekleştirmeniz gerekiyorsa komut dosyalarını da destekler. – Anders

2

Bir kaynak komut dosyası (.rc) oluşturun ve sonra rc (.rc.res) ve cvtres (.res.obj) ile bir nesne dosyasına derlemek gerekiyor. Her iki araç da Microsoft Platform SDK'sında bulunur. Nesne dosyasını bir linker komutuna eklediğinizde sonuç, kaynak komut dosyasında belirtilen simgeye sahip olacaktır. Aşağıda örnek bir kaynak dosyası var ve komutlar nesne oluşturmak için:

resource.rc:

101   ICON     "my_icon.ico" 

Kişisel simge dosyası dosyasında my_icon.ico içindedir. Bir nesne dosyasına bu derlemek Komutları:

rc -fo resource.res resource.rc 
cvtres -machine:ix86 -out:resource.obj resource.res 

Ama program simgesini ayarlamak için en kolay yoludur sadece do it in Visual Studio etmektir.

Teknik olarak, gerçekte 'u geçerli bir yürütülebilir dosyanın simgesini değiştirmenize izin vermeyecektir, ancak bir şekilde gerçekten yapmak istediğinizden şüpheliyim.

+0

Hayır, gerçekten yaparım! Nedeni kıvrık: PyInstaller kullanarak oluşturduğum bazı yardımcı programlara özel simgeler eklemem gerekiyor. Sorun kutu işlevselliği dışında pıhtı32 peki Tamam, ben sanalenv 've' pip 'tarafından sağlanan bir sandbox inşa çalışıyorum hariç, ne yazık ki, pywin32 'almak için bir yol bulamıyorum maalesef Hiç yükleme: Bu ortamda inşa etmek için bir yolu yok gibi görünüyor. Bu yüzden, konuyla ilgili olarak, PyInstaller'ın işi bittikten sonra simgeyi değiştirebilmek istedim. – jkp

3

Yapmaya çalıştığım şey için perfect solution buldum gibi görünüyor.

+1

Maalesef daha sonra özellik tamamlanmadığını buldum. Hala biraz çaba ile birisi bitirebilirdi: sadece bir 'cpp' kaynak dosyasıydı ve kod çok temizdi. – jkp

+0

Bu araçtan vazgeçiyorum çünkü simge olarak küçük bir iş için python yüklemek istemiyorum. – fpemud

7

Resource Hacker'u gördünüz mü? Ayrıca, command line (komut) aracılığıyla da sürdürebilirsiniz, bu yüzden yapınıza dahil edilebileceğinden emin olabilirsiniz.

+0

Simgeleri, 7z kendiliğinden açılan bir exe dosyasındaki Resource Hacker 4.2.5 ile değiştiremedim. Exe dosyasımda iki simge 1: 0 2: 0 ve bir simge grubu 101: 0 var. Simge verilerini değiştirmek ve kaynak dizinini el değmeden tutmak istiyorum, ki bu en basit yol. PE formatındaki bilgime göre yapılabilir, ancak RH4.2.5 bunu yapamaz. – fpemud

İlgili konular