Avatar billede joch Nybegynder
19. februar 2001 - 18:37 Der er 17 kommentarer og
1 løsning

Når mit program mister focus via Alt + Tab

Når brugeren skifter til et andet program, skal der udføres en funktion.

Hvordan gør man det?

I mit tilfælde vil jeg skifte tilbage til den gamle skærmopløsning.
Avatar billede brain Nybegynder
19. februar 2001 - 18:38 #1
Det er det event på formen der hedder LostFocus du skal implementere...
Avatar billede joch Nybegynder
19. februar 2001 - 19:04 #2
Det har jeg prøvet, men der sker ikke noget før jeg loader en anden Form. Hvis jeg bare skifter til f.eks. Word - sker der intet!!!
Avatar billede brain Nybegynder
19. februar 2001 - 19:08 #3
Det har du faktisk ret i. Jeg disabled ctrl-tab + ctrl-alt-delete sidst jeg havde problemet. Sorry....
Avatar billede joch Nybegynder
19. februar 2001 - 19:13 #4
Det har jeg også overvejet, men jeg ved jo det kan lade sig gøre...
Avatar billede xafion Nybegynder
19. februar 2001 - 22:05 #5
Fill me in..  (så jeg får emails omkring sprgsmålet)
Avatar billede nolle_k Nybegynder
20. februar 2001 - 21:30 #6
Er med på en kigger!!
Avatar billede xafion Nybegynder
21. februar 2001 - 16:29 #7
Action.
Avatar billede joch Nybegynder
22. februar 2001 - 07:16 #8
Ok... Er der slet ingen der har nogle ideer?
Er vi mon ovre i noget Keypress, for at aktivere funktionen?
Avatar billede xafion Nybegynder
22. februar 2001 - 09:21 #9
Hmm... Det kunne være =)  Tjekker det lige :)
Avatar billede xafion Nybegynder
22. februar 2001 - 09:46 #10

Så fandt jeg svaret (på Alt-Tab)
Bemærk det kun er Alt-Tab.. så sig lige til hvis jeg også skal få den til at tjekke Ctrl+Esc, Ctrl-Alt-Del osv..





<<Declares>>

Private Declare Function Getasynckeystate Lib \"user32\" Alias \"GetAsyncKeyState\" (ByVal VKEY As Long) As Integer




<<indsæt i en timer ; interval = 100>>

If Getasynckeystate(vbKeyTab) <> 0 And Getasynckeystate(vbKeyMenu) <> 0 Then
MsgBox \"Nu skifter vi\"
End If

Avatar billede joch Nybegynder
22. februar 2001 - 10:05 #11
Det ser ud som noget der fungere. Men jeg får først tid til at prøve det i aften.

I\' be back
Avatar billede xafion Nybegynder
22. februar 2001 - 11:08 #12
=)
Avatar billede joch Nybegynder
23. februar 2001 - 08:30 #13
Hej xafion

Tak for dit svar, det virker som forventet.
Hvad hedder kald af Ctrl, Esc og Del?

Avatar billede xafion Nybegynder
23. februar 2001 - 09:30 #14
vbKeyControl  - Control
vbKeyEscape  - Escape
vbKeyDelete  - Delete
vbKeyMenu    - Alt
vbKeyTab      - Tab

Windows keys er strax værre. Dem må du eventuelt pille af eller lukke via reg keys. Hvis du har et keyboard med Windows taster har jeg en kode der kan gøre det. Da jeg ikke selv har et keyboard med dem kan jeg nemli ikke se om det virker, så derfor ville jeg blive meget glad hvis det var noget du kunne hjælpe mig med.
Avatar billede xafion Nybegynder
23. februar 2001 - 09:39 #15
du skal altså indsætte

If Getasynckeystate(vbKeyControl) <> 0 And Getasynckeystate(vbKeyMenu) <> 0 And Getasynckeystate(vbKeyDelete) <> 0 Then

\'bla bla
End if
Avatar billede xafion Nybegynder
23. februar 2001 - 09:40 #16
Du kan også se andre keys på
vbrun.KeyCodeConstants.
  - så skulle der gerne komme en lille liste frem
Avatar billede joch Nybegynder
23. februar 2001 - 09:43 #17
Læg bare koden op til Windows-tasterne - så prøver jeg den i aften.
Avatar billede xafion Nybegynder
23. februar 2001 - 09:53 #18
[Disable windows hotkeys]
Key: [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\
Policies\\Explorer]
Value Name: NoWinKeys
Data Type: REG_DWORD (DWORD Value)
Value Data: (0 = disable restriction, 1 = enable restriction)
*Kan ikke testes pga manglende hardware
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