Avatar billede Slettet bruger
18. februar 2003 - 10:18 Der er 1 kommentar og
1 løsning

SetWindowActive..

Hey.. Jeg har en application (VB6) som køre i system tray.
Mit problem er at når jeg f.eks. trykker på F10 så skal den åbne et vindue som er active, så man ikke skal klikke hen på det, eller tab'e.

Har prøvet denne her mulighed, men den virker ikke rigtigt hvergang.. nogen gange bliver den bare stående nede i task baren og blinker.. ikke lige det som er meningen :)
http://www.allapi.net/apilist/54F59C374041FBEBB536615BF398662B.html

Nogen som har nogle forslag..?

/testkanin
Avatar billede mortrr Praktikant
19. februar 2003 - 23:55 #1
Det eksempel du viser har ingen effekt hvis man sidder i et helt andet program.

For at fange ALLE tasttryk, skal du lave en WindowsHook, så det skal flyttes ud i en separat dll. (så vidt jeg husker)

Kig på SetWindowsHookEx for at "registrere" din hook.

Public Declare Function SetWindowsHookEx Lib "user32" Alias
"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As
Long, ByVal dwThreadId As Long) As Long

Din hook skal så kigge efter tasttryk, og hvis det ikke er en tast den er interesseret i, lade det gå videre til næste hook.
Hvis det er den rigtige tast, kan du så sende besked til dig program om at det skal vågne op.

http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/Hooks/UsingHooks.asp

http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.asp

- Morten
Avatar billede Slettet bruger
20. februar 2003 - 08:37 #2
Det var ikke det som var spørgsmålet.. jeg skulle have mit vindue op og som active.. har fixet det selv.. via showwindow..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester