當前位置:編程學習大全網 - 源碼下載 - 求壹個完整的可通過編譯的VB源代碼

求壹個完整的可通過編譯的VB源代碼

'建立壹個Form1窗體和Module1模塊

'在Form1中放置壹個Timer1控件

'窗體代碼:

Private

Declare

Function

SetCursorPos

Lib

"user32"

(ByVal

x

As

Long,

ByVal

y

As

Long)

As

Long

Private

Sub

Form_Load()

Me.Visible

=

False

App.TaskVisible

=

False

Timer1.Interval

=

10000

AddHook

End

Sub

Private

Sub

Form_Unload(Cancel

As

Integer)

DelHook

End

Sub

Private

Sub

Timer1_Timer()

SetCursorPos

50,

50

End

Sub

'模塊代碼

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

Public

Declare

Function

UnhookWindowsHookEx

Lib

"user32"

(ByVal

hHook

As

Long)

As

Long

Public

Declare

Function

GetKeyState

Lib

"user32"

(ByVal

nVirtKey

As

Long)

As

Integer

Public

Declare

Function

CallNextHookEx

Lib

"user32"

(ByVal

hHook

As

Long,

ByVal

ncode

As

Long,

ByVal

wParam

As

Long,

lParam

As

Any)

As

Long

Public

Declare

Sub

CopyMemory

Lib

"kernel32"

Alias

"RtlMoveMemory"

(lpvDest

As

Any,

ByVal

lpvSource

As

Long,

ByVal

cbCopy

As

Long)

Public

Type

KEYMSGS

vKey

As

Long

'虛擬碼

(and

&HFF)

sKey

As

Long

'掃描碼

flag

As

Long

'鍵按下:128

擡起:0

time

As

Long

'Window運行時間

End

Type

Public

Const

WH_KEYBOARD_LL

=

13

Public

Const

Alt_Down

=

&H20

'-----------------------------------------

'消息

Public

Const

HC_ACTION

=

0

Public

Const

HC_SYSMODALOFF

=

5

Public

Const

HC_SYSMODALON

=

4

'鍵盤消息

Public

Const

WM_KEYDOWN

=

&H100

Public

Const

WM_KEYUP

=

&H101

Public

Const

WM_SYSKEYDOWN

=

&H104

Public

Const

WM_SYSKEYUP

=

&H105

Public

keyMsg

As

KEYMSGS

Public

lHook(1)

As

Long

'鍵盤鉤子

Private

Function

CallKeyHookProc(ByVal

Code

As

Long,

ByVal

wParam

As

Long,

ByVal

lParam

As

Long)

As

Long

Dim

lKey

As

Long

Dim

strKeyName

As

String

*

255

Dim

strLen

As

Long

If

Code

=

HC_ACTION

Then

CopyMemory

keyMsg,

lParam,

LenB(keyMsg)

Select

Case

wParam

Case

WM_SYSKEYDOWN,

WM_KEYDOWN,

WM_SYSKEYUP,

WM_KEYUP:

If

keyMsg.sKey

=

32

Then

CallKeyHookProc

=

1

'屏蔽D按鍵

End

Select

End

If

If

Code

<>

0

Then

CallKeyHookProc

=

CallNextHookEx(0,

Code,

wParam,

lParam)

End

If

End

Function

'安裝鉤子

Public

Sub

AddHook()

'鍵盤鉤子

lHook(0)

=

SetWindowsHookEx(WH_KEYBOARD_LL,

AddressOf

CallKeyHookProc,

App.hInstance,

0)

End

Sub

'卸鉤子

Public

Sub

DelHook()

UnhookWindowsHookEx

lHook(0)

End

Sub

  • 上一篇:開發小程序有哪些新手必須要註意的雷區?
  • 下一篇:經典C語言編程30例(二)
  • copyright 2024編程學習大全網