[WIN32] Application Context-Menu hooken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024
Ik vind het erg moeilijk om hier ook maar enige relevante informatie over te vinden...

Wat wil ik doen
Als je op een applicatie een rechtermuisclick doet, krijg je een paar opties: restore, move, size, minimize, maximize, close. In dit lijstje wil ik een entry toevoegen voor alle windows applicaties.

Waarom wil ik dit doen
Ik werk met twee monitors. Programma's zoals newsleecher raken wel eens in de war als je regelmatig monitoren aan/uit zet en op een gegeven moment staat de applicatie op -2000,-2000 gepositioned, waardoor je hem niet meer op je scherm krijgt. Ik wil een kleine app kunnen launchen die de hwnd van de applicatie die geklikt is mee kan geven, zodat ik in die app een aantal applicatie properties kan aanpassen (waaronder window position).

Hoe weet ik dat dit mogelijk is
Ik heb vaker nvidia kaartjes gehad, incl. die bloated drivers waarbij ze entries of zelfs icons aan applications toevoegen.

Alle info die jullie me kunnen geven is welkom (ook de juiste google keywords ben ik al blij mee, form context menu, control box en diverse hooking alternatieven geven 0 related info).

[ Voor 9% gewijzigd door CMG op 10-11-2008 01:44 ]

NKCSS - Projects - YouTube


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb geen idee hoe dat 'hooken' in z'n werk gaat, maar ik heb wel een suggestie over de GUI: in Gnome (Linux) kan je door een toets in te drukken (by default Alt) een venster verslepen met de muis vanaf elke positie in het venster, niet alleen vanaf de titelbalk.

Als jouw programma dus actief wordt met bepaalde toets, dan kan je bij een buttondown event kijken in welk venster de cursor staat, en vervolgens de window-position gaan aanpassen aan de hand van de muis-bewegingen.

Als je trouwens zoekt naar alt-move for windows dan zal je zien dat er heel wat tooltjes zijn die dit al kunnen.

Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024
Verwijderd schreef op maandag 10 november 2008 @ 02:15:
Ik heb geen idee hoe dat 'hooken' in z'n werk gaat, maar ik heb wel een suggestie over de GUI: in Gnome (Linux) kan je door een toets in te drukken (by default Alt) een venster verslepen met de muis vanaf elke positie in het venster, niet alleen vanaf de titelbalk.

Als jouw programma dus actief wordt met bepaalde toets, dan kan je bij een buttondown event kijken in welk venster de cursor staat, en vervolgens de window-position gaan aanpassen aan de hand van de muis-bewegingen.

Als je trouwens zoekt naar alt-move for windows dan zal je zien dat er heel wat tooltjes zijn die dit al kunnen.
Daar had ik helemaal niet aan gedacht, ik zou middels een global keyboard hook een hotkey kunnen installen op windows die vervolgens het hwnd van het active scherm ophaalt :) Tx :)

Voordat ik het vergeet: Ik vind het leuker om zelf het wiel opnieuw uit te vinden, daar leer ik meer van :)

[ Voor 5% gewijzigd door CMG op 10-11-2008 02:19 ]

NKCSS - Projects - YouTube


Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Dat menu heet "System Menu", je kunt met GetSystemMenu en de window handle van whatever scherm je bezig bent de Menu handle krijgen, daarna kun je items toevoegen zoals je zelf wilt. Als je ook iets met die items wilt doen dan kun je het makkelijkst een global hook zetten op de juiste messages.

Totdat je programma af is kun je die verloren schermen terugkrijgen met alt-spatie, verplaatsen kiezen, en dan met de pijltjestoetsen beginnen met verplaatsen.

Acties:
  • 0 Henk 'm!

  • CMG
  • Registratie: Februari 2002
  • Laatst online: 10-12-2024
_js_ schreef op maandag 10 november 2008 @ 06:18:
Dat menu heet "System Menu", je kunt met GetSystemMenu en de window handle van whatever scherm je bezig bent de Menu handle krijgen, daarna kun je items toevoegen zoals je zelf wilt. Als je ook iets met die items wilt doen dan kun je het makkelijkst een global hook zetten op de juiste messages.

Totdat je programma af is kun je die verloren schermen terugkrijgen met alt-spatie, verplaatsen kiezen, en dan met de pijltjestoetsen beginnen met verplaatsen.
Dit is helemaal geweldig :) Hardstikke bedankt :)

NKCSS - Projects - YouTube