AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster-Icon aus hWnd ermitteln

Ein Thema von Marphy · begonnen am 10. Jun 2005 · letzter Beitrag vom 17. Mär 2011
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#1

Fenster-Icon aus hWnd ermitteln

  Alt 10. Jun 2005, 22:17
Hallo zusammen,
kaum ist das eine Problem gelöst, gibt's schon wieder ein neues...

Gegeben ist ein Fenster-Handle (mal wieder eines "echten" Fensters, also keines Controls o.ä.).
Gesucht das Fenster-Icon, welches in dessen TitleBar angezeigt wird, und zwar in den Größen 32x32 und 16x16 Pixeln.

Könnt ihr mir weiterhelfen? Die WNDCLASSEX hat ja entsprechende Einträge, kann man diese evtl. mit GetWindowLong() auslesen?

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fenster-Icon aus hWnd ermitteln

  Alt 10. Jun 2005, 22:22
Dazu brauchst du nicht das Fenster, sonder die Exe. da sich in der Ressource der Exe das Icon befindet: Hier im Forum suchenSHGetFileInfo
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#3

Re: Fenster-Icon aus hWnd ermitteln

  Alt 10. Jun 2005, 22:36
Hallo Luckie,
antworte doch bitte auf meine Frage

Das Icon der EXE-Datei ermittle ich bereits über ExtractIconEx. Ich will aber zusätzlich noch das Icon des Formulars selbst... Formular-Icon <> EXE-Icon, das weißt du doch.

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Fenster-Icon aus hWnd ermitteln

  Alt 10. Jun 2005, 22:48
Vielleicht hilft dir ja nen Handle zum Icon weiter, welches du über SendMessage und WM_GETICON herausfinden könntest.

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#5

Re: Fenster-Icon aus hWnd ermitteln

  Alt 12. Jun 2005, 15:19
Hallo Philipp,
Zitat von c113plpbr:
Vielleicht hilft dir ja nen Handle zum Icon weiter, welches du über SendMessage und WM_GETICON herausfinden könntest.
hab das nun implementiert, funktioniert aber leider nur bei einigen wenigen Fenstern...

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Fenster-Icon aus hWnd ermitteln

  Alt 12. Jun 2005, 15:22
ich denk mal es funktioniert nur bei den Fenstern den explizit ein eigenes Icon zugeordnet wurde.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#7

Re: Fenster-Icon aus hWnd ermitteln

  Alt 12. Jun 2005, 19:06
Hallo,

Zitat von SirThornberry:
ich denk mal es funktioniert nur bei den Fenstern den explizit ein eigenes Icon zugeordnet wurde.
Ich werde es doch noch hinbekommen, Titelleisten ohne und mit Icons auseinanderzuhalten?!

Ich will nur ein Handle auf das kleine Symbol ermitteln können, welches in der Titelleiste eines Fensters mit dem Handle hWnd angezeigt wird...
Ist das so schwer?

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Fenster-Icon aus hWnd ermitteln

  Alt 12. Jun 2005, 20:10
also bei mir gehts ohne problem. Natürlich bekomm ich nur Icons von Fenstern die ein Icon haben. Also von Panels etc. bekomm ich kein Icon aber von anderen Fenstern schon...
Delphi-Quellcode:
  LIconHandle := SendMessage(TheWindowHandle, WM_GETICON, ICON_BIG, 0);
  if LIconHandle = 0 then
    ImgIcon.Picture.Graphic := nil
  else begin
    LIcon := TIcon.Create;
    LIcon.Handle := LIconHandle;
    ImgIcon.Picture.Graphic := LIcon;
    LIcon.Free;
  end;
allerdings sollte man dabei beachten das die Abfrage von ICON_BIG 0 sein kann aber von ICON_SMALL2 hingegen ein gültiges handle hat. Also am besten wenn beim ersten aufruf nix zurück kommt noch die anderen icongrößen abfragen in der Hoffnung das dafür ein Handle hinterlegt ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#9

Re: Fenster-Icon aus hWnd ermitteln

  Alt 13. Jun 2005, 17:29
Hello Sir,

Zitat von SirThornberry:
allerdings sollte man dabei beachten das die Abfrage von ICON_BIG 0 sein kann aber von ICON_SMALL2 hingegen ein gültiges handle hat. Also am besten wenn beim ersten aufruf nix zurück kommt noch die anderen icongrößen abfragen in der Hoffnung das dafür ein Handle hinterlegt ist.
ICON_SMALL2 ist nur auf Windows XP verfügbar. Beim Quellcodefenster der Delphi-IDE z.B. wird ein ICON_BIG ermittelt, ICON_SMALL aber nicht. Bei anderen Programmen (z.B. der Windows Editor) wird kein Icon - weder BIG noch SMALL - zurückgeliefert.
Sieht das bei dir anders aus?

Danke für deine Postings trotzdem,
Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#10

Re: Fenster-Icon aus hWnd ermitteln

  Alt 14. Jun 2005, 20:38
Hallo zusammen,
scheint ja wirklich ne harte Nuss zu sein, mein Problem....

Zum Austesten der Problematik habe ich (mal wieder) ein kleines Demo-Projekt geschrieben. Ladet es euch einfach aus dem Anhang runter, schaut es euch an und postet eure Erfahrungen/Tipps

Danke!

Grüße, Marco
Angehängte Dateien
Dateityp: zip getwindowicon_159.zip (2,2 KB, 19x aufgerufen)
Dateityp: zip getwindowicon_exeonly_180.zip (208,5 KB, 21x aufgerufen)
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz