Skip to main content

AccessTr.neT


formda "yeni kayıt ekle" tuşuna kısayol atamak

formda "yeni kayıt ekle" tuşuna kısayol atamak

Çözüldü #18
Private Declare Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function CallWindowProc _
Lib "user32" Alias "CallWindowProcA" ( _
ByVal lpPrevWndFunc As Long, _
ByVal hWnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Declare Function RegisterHotKey _
Lib "user32.dll" ( _
ByVal hWnd As Long, _
ByVal id As Long, _
ByVal fsModifiers As Long, _
ByVal vk As Long) As Long

Private Const WM_HOTKEY As Long = &H312
Private Const VK_SNAPSHOT As Long = &H2C
Private Const GWL_WNDPROC = (-4)
Private Const WM_DESTROY = &H2&
Private Const MOD_ALT As Long = &H1

Private hHandle As Long
Private hPrevWndProc As Long

Public Sub HookPrtSc(frmHandle As Long)
hHandle = frmHandle
'Register both Alt+PrtSc and only PrtSc as hotkeys
RegisterHotKey hHandle, 1, MOD_ALT, VK_SNAPSHOT
RegisterHotKey hHandle, 2, 0, VK_SNAPSHOT
hPrevWndProc = SetWindowLong(hHandle, GWL_WNDPROC, AddressOf WinProc)
End Sub

Public Sub Unhook()
SetWindowLong hHandle, GWL_WNDPROC, hPrevWndProc
End Sub

Private Function WinProc(ByVal hWnd As Long, ByVal uMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Dim sFile As String
Dim nSize As Long
Select Case uMsg
Case WM_HOTKEY
WinProc = 1
Exit Function
Case WM_DESTROY
Call Unhook
End Select
WinProc = CallWindowProc(hPrevWndProc, hWnd, uMsg, wParam, lParam)
End Function

Private Sub Form_Load()
HookPrtSc Me.hWnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
Unhook
End Sub

Vb Formlarında xp için bir modül buldum ama çalıştıramadım
serkandiker, 06-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: formda "yeni kayıt ekle" tuşuna kısayol atamak - Yazar: serkandiker - 11/09/2011, 13:44