Visual Basic 2005 custom systemtray

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • termination
  • Registratie: Juni 2007
  • Laatst online: 15-07 20:17
Hallo tweakers,

Ik ben nu al geruime tijd aan het proberen om in Visual Basic 2005 (of 2008, hoe je wilt) een custom systemtray te maken. Dit is voor mijn custom shell project in visual basic.
Op het moment gebruik ik de systray van E-Shell, te vinden op planetsourcecode.
Ik zou graag zelf een system tray willen maken, en heb geprobeerd de code die daarvoor wordt gebruikt in EShell te upgraden (met de hand, niet met de upgrader), maar tot nu toe met weinig succes.
Waarom ik graag zelf een systray wil?
Ik wil niet zomaar iemand anders werk gebruiken
Deze systray is in VB6 gemaakt
Deze systray laat geen icoontjes als volume controle etc. zien.

De hoofdvraag is dus: Weten jullie een manier om alle systemtray applicaties te listen?

Ik heb al een tasklist die alle HWND's list, en vervolgens de toplevel windows eruit filtert. Kan ik hier iets aan aanpassen?
voor het filteren gebruik ik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Private Function IsVisibleTopWnd(ByRef hwnd As Integer) As Boolean
        'Quick yes/no check to see if we should include the window in our list.  
        'Is the name an empty string? Is the window visible? Does it have no owner?
        If Not WindowTextFromWnd(hwnd).Equals(String.Empty) AndAlso _
            CBool(IsWindowVisible(hwnd)) AndAlso _
            GetWindow(hwnd, GW_OWNER).Equals(0) Then
            Return True
        Else
            Return False
        End If

    End Function


Enige hulp word zeer op prijs gesteld.
mvg, Thom.

Acties:
  • 0 Henk 'm!

  • termination
  • Registratie: Juni 2007
  • Laatst online: 15-07 20:17
Sorry voor de kick, maar dit moet even in een aparte post.
Ik zat vanmiddag te denken en kwam op een idee.
Is het niet mogenlijk om alle windows te listen, daar vervolgens alle zichtbare windows (die in de taskbar) af te halen, en dan te filteren op parent proces?
Is een idee, maar geen idee hoe dit te doen.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Wat was er onduidelijk aan modTIHandler.bas in de link die je zelf geeft? Je kan niet zelf op zoek gaan naar Trayicons, zij zullen zich bij jou registreren als ze worden aangemaakt of nadat ze een TaskbarCreated event krijgen (dat laatste kan alleen als ze goed zijn geprogrammeerd).

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

pedorus schreef op maandag 15 december 2008 @ 23:13:
of nadat ze een TaskbarCreated event krijgen (dat laatste kan alleen als ze goed zijn geprogrammeerd).
Wat helaas maar al te vaak niet het geval is :/

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • termination
  • Registratie: Juni 2007
  • Laatst online: 15-07 20:17
pedorus schreef op maandag 15 december 2008 @ 23:13:
Wat was er onduidelijk aan modTIHandler.bas in de link die je zelf geeft? Je kan niet zelf op zoek gaan naar Trayicons, zij zullen zich bij jou registreren als ze worden aangemaakt of nadat ze een TaskbarCreated event krijgen (dat laatste kan alleen als ze goed zijn geprogrammeerd).
Het probleem is dus dat dat VB6 code is, die het niet zo aardig vind als het geupgrade wordt naar VB2008. Om de een of andere reden werkt het dan niet goed meer.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
termination schreef op dinsdag 16 december 2008 @ 16:48:
[...]

Het probleem is dus dat dat VB6 code is, die het niet zo aardig vind als het geupgrade wordt naar VB2008. Om de een of andere reden werkt het dan niet goed meer.
Je zal het wat om moeten schrijven, naar iets wat meer op zoiets lijkt. Bijv. Marshal gaat ook vast handig zijn.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • termination
  • Registratie: Juni 2007
  • Laatst online: 15-07 20:17
In mijn vraag (bijna hetzelfde) op MSDN is eindelijk een antwoord gekomen. De thread is te vinden op: MSDN social.
Ik krijg het helaas nog niet overal aan de gang.
Als er iemand is die wil helpen met het upgraden van het VB6 bestand voor een systemtray (zie eerste post), alle hulp is welkom.
Pagina: 1