Wie ändere ich das exe icon bei einer BMax *.exe
Übersicht

![]() |
shure_kyuNewsposterBetreff: Wie ändere ich das exe icon bei einer BMax *.exe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Diese frage haben sich bestimmt schon jeder gestellt aber es ist recht einfach..
ladet euch als ersteinmal den resource hacker runter hier - ResourceHacker - so dann öffnet ihr die jeweilige *.exe - dann geht ihr ober auf ACTION - dann da ganz unten auf ADD a New Resource.. - dann auf Open file with new Ressource - wählt dann das icon aus (*.ico) - bei Resource Name kann man eintragen was man will - und das bei Resource Language kann man weg lassen - nur noch ADD RESOURCE drücken - und dann noch FILE --> SAVE die datei unter dem exe namen speichern *hier nochmal bildlich* ![]() ------------------------------------------------------------------ so das wars ich hoffe ich konnte euch damit helfen weil sonst die erklärungen so mit neuer BMK.exe und per mingw compiler mit *.o datei waren doch sehr dämlich. Mit diesem müsste es 100%ig klappen, hab es gestern 5 mal ausprobiert und jedesmal hats geklappt also traut euch... cya shure_kyu |
||
_______//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\________ ◄Blitz 3D/MAX • PC - 2x 3.16Ghz, 4GB-Ram, ATi HD 4890 1024MB• win7 • site$ Rush2Play ° My-Htc.de► ¯¯¯¯¯¯¯\__________________________________________________________________________//¯¯¯¯¯¯¯¯ BBP-RSS FEED Halt dich auf dem laufenden! (C)Shure_kyu |
- Zuletzt bearbeitet von shure_kyu am Sa, Nov 26, 2005 2:21, insgesamt 3-mal bearbeitet
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, nun das ganze nochmal für MaxGui und während der Laufzeit. ![]() Die original Decls und Funktion sind von X-Pressive (siehe hier) Vielen Dank nochmal an Suco-X, der mir die Konvertierung zum CString einbaute. Code: [AUSKLAPPEN] Extern "win32"
Function GetActiveWindow () Function SetClassLongA (hwnd,index,NewLong) Function ExtractIconA (hwnd,file:Byte Ptr,index) End Extern ?win32 Function SetAppIcon (file:String) If Not FileType (file) Notify "Icon "+file+" not found ..." Else Local hwnd = GetActiveWindow () Local icon = ExtractIconA (hwnd,file.ToCString(),0) SetClassLongA (hwnd,-14,icon) EndIf End Function ? Dann noch ein kleines Beispiel dazu : Code: [AUSKLAPPEN] Global DeinIcon:String = "blub.ico"
test:tgadget = CreateWindow ("Test Fenster",200,200,300,200) SetAppIcon (DeinIcon) While WaitEvent() Select EventID() Case EVENT_WINDOWCLOSE End End Select Wend Ist jetzt leider nur für Windows. Vielleicht kennt ja einer von euch die passende Alternative für Linux oder MacOS. Hoffe es hilft euch weiter... |
||
![]() |
poet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab versucht das ganze im Graphics Mode zu machen, und es funktioniert auch, so halb. Das Icon in der Taskleiste wird erstezt, das Icon in der Titelleiste des Fensters bleibt. Hat jemand ne Idee was ich da machen kann? Window refreshen oder so?
Naja, jedenfalls noch ein Tip: Man kann als IconDatei auch das Exe angeben wenn man mit ResHacker das Icon darin eingefügt hat. Also SetAppIcon ("DeinExe.exe") Aber damit gleich zu noch ner Frage. Weiss jemand wie man ein Icon gleich beim compilen einbinden kann? Auf http://ed.rtv.free.fr/freestuff.htm gibts ein "BMK compiler addon" das das können soll, nur leider funktioniert der Download Link nicht. Wäre viel angenehmer als jedesmal extra mit ResHacker das Icon nachträglich einzubauen ... |
||
![]() |
poet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab jetzt ausserdem noch ne viel sauberere Lösung gefunden.
http://www.blitzbasic.com/Comm...opic=53908 So muss man nur einmal ein ResourceObject erstellen, danach kann man das dann einfach mit Import ins Exe einbinden ... ~Editiert~ etwas freundlicher gemacht - weil der thread gespalten wurde Jan_ |
||
![]() |
poet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wenn man sich nicht scheut an den Grafik Modulen was zu ändern kann man das Window Icon auch von Grund auf darstellen lassen ...
Für GLGraphics muss man in glgraphics.win32.c in der Funktion _initWndClass folgende Zeile einfügen: Code: [AUSKLAPPEN] wc.hIcon=(HICON)LoadIcon( GetModuleHandle(0),MAKEINTRESOURCE(101) );
Das sieht dann z.B. so aus: Code: [AUSKLAPPEN] static void _initWndClass(){
static int _done; if( _done ) return; WNDCLASS wc={0}; wc.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC; wc.lpfnWndProc=(WNDPROC)_wndProc; wc.hInstance=GetModuleHandle(0); wc.lpszClassName=CLASS_NAME; wc.hIcon=(HICON)LoadIcon( GetModuleHandle(0),MAKEINTRESOURCE(101) ); wc.hCursor=(HCURSOR)LoadCursor( 0,IDC_ARROW ); wc.hbrBackground=0;//(HBRUSH)GetStockObject(BLACK_BRUSH); if( !RegisterClass( &wc ) ) exit(-1); _done=1; } Für D3D7 muss man in d3d7graphics.bmx in der Funktion CreateHWND folgende Zeile einfügen: Code: [AUSKLAPPEN] wc.hIcon=LoadIconA(hinst,Byte Ptr(101))
Das sieht dann z.B. so aus: Code: [AUSKLAPPEN] Function CreateHWND(width,height,fullscreen)
Local hinst=GetModuleHandleA(0) Local wc:WNDCLASS=New WNDCLASS Local style,ex_style,hwnd wc.hInstance=hinst wc.lpfnWndProc=WndProc wc.hIcon=LoadIconA(hinst,Byte Ptr(101)) wc.hCursor=LoadCursorA( Null,Byte Ptr IDC_ARROW ) wc.lpszClassName=DX_CLASS_NAME.ToCString() Local res=RegisterClassA( wc ) "z.B." weil sich mit kommenden Updates der grundlegende Code evtl. verändert. Man muss diese Änderungen natürlich auch nach jedem Update / SyncModules neu einbauen. Übrigens kann man, wenn man eh schon da ist, auch ein Minimierungs oder Maximierungs Icon/Funktion einbinden lassen ... dazu muss man WS_MINIMIZEBOX bzw. WS_MAXIMIZEBOX einbauen ... Bei D3D7 ein paar Zeilen weiter unten, bei GL in der Funktion bbGLGraphicsCreateGraphics ... Wo genau das hin muss, müsst ihr selber finden ;) |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das geht aber auch unkomplizierter:
In MinGW gibt's das Tool "res2coff". Damit kann man aus einer ".res" Datei eine ".o" Dateien machen. Die kann dann mit: Code: [AUSKLAPPEN] Import "myresources.o"
eingefügt werden. Außerdem kann die Datei z.B. auch die Versionsinfo enthalten. |
||
![]() |
shure_kyuNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich finde es gut wie du meinen post ganz oben gelsen hast
Zitat: ....sonst die erklärungen so mit neuer BMK.exe und per mingw compiler mit *.o datei waren doch sehr dämlich.
![]() |
||
_______//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\________ ◄Blitz 3D/MAX • PC - 2x 3.16Ghz, 4GB-Ram, ATi HD 4890 1024MB• win7 • site$ Rush2Play ° My-Htc.de► ¯¯¯¯¯¯¯\__________________________________________________________________________//¯¯¯¯¯¯¯¯ BBP-RSS FEED Halt dich auf dem laufenden! (C)Shure_kyu |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group