Private Sub mCursor_Click(Index As Integer)
Dim i As Integer
For i = 0 To 4
mCursor(i).Checked = False
Next
mCursor(Index).Checked = True
End Sub
Private Sub mSaveFile_Click()
On Error Resume Next
With CommonDialog1
.DialogTitle = "´æ´¢Îļþ"
.Filter = "λͼ(*.bmp)|*.bmp"
.CancelError = True
.ShowOpen
If Err.Number <> cdlCancel Then
SavePicture picCopy.Picture, .FileName
End If
End With
End Sub
Private Sub mScreen_Click()
mScreen.Checked = True
mActiveWindow.Checked = False
End Sub
Private Sub VScroll1_Change()
picCopy.Top = -VScroll1.Value
End Sub
'抓取屏幕的同时获取鼠标的模块程序部分
Option Explicit
Public Const GWL_WNDPROC = (-4)
Public Const WM_USER = &H400
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONUP = &H202
Public Const NIM_ADD = 0
Public Const NIM_MODIFY = 1
Public Const NIM_DELETE = 2
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Type POINTAPI
x As Long
y As Long
End Type
Type ICONINFO
fIcon As Long
xHotspot As Long
yHotspot As Long
hbmMask As Long
hbmColor As Long
End Type
Declare Function GetIconInfo Lib "user32" (ByVal hIcon As Long, piconinfo As ICONINFO) As Long
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
Declare Function BringWindowToTop Lib "user32" (ByVal hWnd As Long) As Long
Declare Function GetForegroundWindow Lib "user32" () As Long
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
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function SetKeyboardHook Lib "KeybHook" (ByVal hwndPost As Long, ByVal Msg As Long) As Long
Declare Function ReleaseKeyboardHook Lib "KeybHook" () As Long
Public prevWndProc As Long
Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = WM_USER Then
If wParam = vbKeyF7 And (lParam And &H80000000) <> 0 Then
Form1.Capture
Form1.picCopy.Refresh
Form1.WindowState = vbNormal
Form1.Show
End If
ElseIf Msg = WM_USER + 100 Then
If lParam = WM_LBUTTONDBLCLK Then
Form1.WindowState = vbNormal
Form1.Show
ElseIf lParam = WM_LBUTTONUP Then
Form1.PopupMenu Form1.mTarget
End If
End If
WndProc = CallWindowProc(prevWndProc, hWnd, Msg, wParam, lParam)
End Function
Dim p As POINTAPI, info As ICONINFO, pic As Object
Dim oldScaleMode As Integer, CursorName As String
GetCursorPos p
If mCursor(1).Checked Then CursorName = "Normal"
If mCursor(2).Checked Then CursorName = "Hand"
If mCursor(3).Checked Then CursorName = "Cross"
If mCursor(4).Checked Then CursorName = "Wait"
If CursorName <> "" Then
Set pic = LoadResPicture(CursorName, vbResCursor)
GetIconInfo pic.Handle, info
oldScaleMode = picCopy.ScaleMode
picCopy.ScaleMode = vbPixels
If mScreen.Checked Then
picCopy.PaintPicture pic, p.x - info.xHotspot, p.y - info.yHotspot
Else
picCopy.PaintPicture pic, p.x - r.Left - info.xHotspot, _
p.y - r.Top - info.yHotspot
End If
picCopy.ScaleMode = oldScaleMode
End If
picCopy.AutoRedraw = False
If mScreen.Checked Then
ReleaseDC 0, hDC
Else
ReleaseDC hWnd, hDC
End If
Windows Media 编码器 7.1
一种易于使用的、强大的制作工具,内容开发商可使用此工具将直播内容和预先录制的音频、视频和计算机屏幕图像转换为 Windows Media 格式以进行直播和点播。
http://www.microsoft.com/windows/windowsmedia/download/default.asp