Shell32 Icons verwenden

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Delle
Beiträge: 1132
Registriert: 10.05.2005 22:48

Shell32 Icons verwenden

Beitrag von Delle »

Hallo,

wie kann ich Icons für z.B. MessageRequester() aus der Shell32 benutzen?

Bild
PB 6.21 | Win 11
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

EnableExplicit

#MB_USERICON = $80

Define msg.MSGBOXPARAMS

With msg
  \cbSize = SizeOf(MSGBOXPARAMS)
  \hwndOwner = GetForegroundWindow_(); besser hWnd des eigenen Fenster
  \hInstance = LoadLibrary_("shell32.dll")
  \lpszText = @"is bad?"
  \lpszCaption = @"IE"
  \dwStyle = #MB_USERICON | #PB_MessageRequester_YesNo
  \lpszIcon  = 512; index des Icons
EndWith

Select MessageBoxIndirect_(@msg)
  Case #PB_MessageRequester_Yes
    Debug "find ich auch"
  Case #PB_MessageRequester_No
    Debug "sicher?"
EndSelect
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Bisonte
Beiträge: 2471
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

bei der Gelegenheit frag ich mal so, ob das dann unter Vista auch Gültigkeit hat ? Also gibt es dort eine shell32.dll und sind die Einträge die gleichen (ausser das die Icons anders aussehen....) ?

Habe kein Vista, wäre aber sinnig wenn dann das Programm auch unter Vista funktionieren würde und nicht nur leere Stellen anzeigt oder gar mit absturz droht ...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

ja.

Danke, das wollte ich auch schon mal fragen.
Win11 x64 | PB 6.20
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Geht auch mit PureBasic :wink:

Code: Alles auswählen

EnableExplicit

#MB_USERICON = $80

Define msg.MSGBOXPARAMS

With msg
  \cbSize = SizeOf(MSGBOXPARAMS)
  \hwndOwner = 0
  \hInstance = LoadLibrary_(#PB_Compiler_Home + "purebasic.exe")
  \lpszText = @"Feel the ...Pure... Power"
  \lpszCaption = @"PureBasic"
  \dwStyle = #MB_USERICON
  \lpszIcon  = 1
EndWith

MessageBoxIndirect_(@msg)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten