Hej Jens
Det er korrekt - det virker tilsyneladende ikke med Win2000 jeg har søgt på
MS men unden held.
Det kan lade sig gøre, jeg bruger en client i forbindelse med mit arbejde,
og her benytter man 'Enter' til godkendelse af et skærmbillede.....
Mvh
Johnny
"Jens Vestergaard" <j@railsoft.dk> skrev i en meddelelse
news:3d65e491$0$64872$edfadb0f@dspool01.news.tele.dk...
> "Johnny Emde Jensen" <emde@emde.dk> skrev i en meddelelse
> news:ak4nej$2fht$1@news.cybercity.dk...
> > Hej NG
> >
> > Er det muligt at 'se' forskeld på om der trykkes 'Enter' eller 'Return'
> > De har jo begge værdien CHR(13)
>
> *Meget* tricky spørgsmål. Har selv kæmpet med det i to år. Og vi har haft
> det oppe at vende her i gruppen flere gange.
>
> Jeg har en snut kode, der gør det ved hjælp af et API-kald - men den
virker
> *tilsyneladende* ikke under Win2000. Har ikke testet den på XP.
>
> < --- KODE START --->
>
> Private Declare Function PeekMessage Lib "user32" Alias _
> "PeekMessageA" (lpMsg As MSG, ByVal hwnd As Long, _
> ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, _
> ByVal wRemoveMsg As Long) As Long
>
> Private Type POINTAPI
> x As Long
> y As Long
> End Type
>
> Private Type MSG
> hwnd As Long
> message As Long
> wParam As Long
> lParam As Long
> time As Long
> pt As POINTAPI
> End Type
>
> Const PM_NOREMOVE = &H0
> Const WM_KEYDOWN = &H100
> Const WM_KEYUP = &H101
> Const VK_RETURN = &HD
>
> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> Dim MyMsg As MSG, RetVal As Long
>
> ' pass:
> ' MSG structure to receive message information
> ' my window handle
> ' low and high filter of 0, 0 to trap all messages
> ' PM_NOREMOVE to leave the keystroke in the message queue
> ' use PM_REMOVE (1) to remove it
> RetVal = PeekMessage(MyMsg, Me.hwnd, 0, 0, PM_NOREMOVE)
>
> ' now, per Q77550, you should look for a MSG.wParam of VK_RETURN
> ' if this was the keystroke, then test bit 24 of the lparam - if ON,
> ' then keypad was used, otherwise, keyboard was used
> If RetVal <> 0 Then
> If MyMsg.wParam = VK_RETURN Then
> If MyMsg.lParam And &H1000000 Then
> MsgBox "Enter from Keypad pressed"
> Else
> MsgBox "Enter from Keyboard pressed"
> End If
> End If
> Else
> MsgBox "No message waiting, or possible problems calling
PeekMessage"
> End If
> End Sub
>
> <--- KODE SLUT --->
>
> Hvis der er nogen i gruppen, der har en bedre løsning, hører jeg fortsat
> gerne om den
>
>
> --
> mvh
> Jens Vestergaard
>
www.railsoft.dk
> --------
> Indsæt v før snablen
>
>