Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi TNA balloon, Unterschied Shell V5 und 6 (https://www.delphipraxis.net/60278-tna-balloon-unterschied-shell-v5-und-6-a.html)

tomsel 4. Jan 2006 20:14


TNA balloon, Unterschied Shell V5 und 6
 
Hallo DP'ler, hab nur eine kurze Frage:

ich probiere gerade mit den Notify Icons herum. Dabei fällt mir auf, dass die callback events
NIN_BALLOONSHOW, NIN_BALLOONUSERCLICK, NIN_BALLOONTIMEOUT und NIN_BALLOONHIDE zwar unter XP, nicht aber unter Win2K nicht erfolgen. Ist es so, dass diese erst ab ShellAPI Version 6 zur Verfügung stehen, obwohl die Balloons bereits ab Version 5 gehen? Andernfalls hab ich wohl einfach nur eine Hacke eingebaut.

Vielen Dank schon mal

Christian Seehase 4. Jan 2006 22:16

Re: TNA balloon, Unterschied Shell V5 und 6
 
Moin Tomsel,

Zitat:

Zitat von tomsel
Ist es so, dass diese erst ab ShellAPI Version 6 zur Verfügung stehen,

gemäss Doku sollen die auch schon unter Version 5 vorkommen.
Hast Du das hier beachtet:

Zitat:

Zitat von PSDK - Shell_NotifyIcon - Remarks
You can select which way the Shell should behave by calling Shell_NotifyIcon with dwMessage set to NIM_SETVERSION. Set the uVersion member of the NOTIFYICONDATA structure to indicate whether you want version 5.0 or pre-version 5.0 behavior.

(ausprobiert hab' ich das allerdings nicht, da ich im Moment nur XP zum Testen habe)

tomsel 4. Jan 2006 22:31

Re: TNA balloon, Unterschied Shell V5 und 6
 
Moin, moin

ich hab die Doku bereits versucht, zu lesen und daraufhin NIM_SETVERSION folgendermaßen benutzt:

Delphi-Quellcode:
   
  ...
  NID.cbSize := 488;
  Shell_NotifyIconA(NIM_ADD, @NID);
  NID.uVersion := NOTIFYICON_VERSION;
  Shell_NotifyIconA(NIM_SETVERSION, @NID);
hab aber keine Änderung von irgendwas feststellen können. Warscheinlich habe ich da was falsch verstanden. Wie gesagt, unter XP mit Schell V6 geht's, also kanns nicht vollkommen falsch programmiert sein.

Christian Seehase 4. Jan 2006 22:37

Re: TNA balloon, Unterschied Shell V5 und 6
 
Moin tomsel,

wie kommst Du denn auf eine Grösse von 488?
Am besten setzt Du cbSize mal auf SizeOf(NOTIFYICONDATA)
Bei meinem D7 ist der Wert dann 88.

tomsel 4. Jan 2006 22:50

Re: TNA balloon, Unterschied Shell V5 und 6
 
88 ist die Größe der "alten" Struktur (pre-5). 488 ist die Größe der 6-er Struktur minus sizeof(tguid), ich benutze nicht tnotifyicondata aus der ShellAPI, sondern einen selbstdeklarierten Typ entsprechend der Doku. Dass die Deklaration fehlerfrei ist, zeigt sich auf meiner XP-Kiste. Ich nehm jetzt einfach mal hin, dass es eben auf meiner (und allen anderen) W2K-Schüssel nicht funzt.

Danke und guts Nächtle, ich klapp mich jetzt auf die Matte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 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