ok, non so se ho capito.
in un modulo bas:
codice:
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
Public Sub AlwaysOnTop(X As Form, Y As Boolean)
Select Case Y
Case Is = True
SetWindowPos X.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOACTIVATE Or SWP_SHOWWINDOW
Case Is = False
SetWindowPos X.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
SWP_NOACTIVATE Or SWP_SHOWWINDOW
End Select
End Sub
nella form (es. Form1 con un Timer):
codice:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Function KeysPressed(ByVal KeyCode1 As KeyCodeConstants) As Boolean
If GetAsyncKeyState(KeyCode1) > 0 Then
AlwaysOnTop Me, True
MsgBox "hai premuto Y"
Else
AlwaysOnTop Me, False
End If
End Function
Private Sub Timer1_Timer()
KeysPressed vbKeyY
End Sub
prova....
fammi sapere.