Public Const WM_DRAWCLIPBOARD = &H308 '剪贴板内容改变时发生的消息
Public Const GWL_WNDPROC = (-4)
Public 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
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function ChangeClipboardChain Lib "user32" (ByVal hWnd As Long, ByVal hWndNext As Long) As Long
Public Declare Function SetClipboardViewer Lib "user32" (ByVal hWnd As Long) As Long
Public Const WM_DRAWCLIPBOARD = &H308 '剪贴板内容改变时发生的消息
Public FrmhWnd As Long '原窗口地址
Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal iParam As Long) As Long
If Msg = WM_DRAWCLIPBOARD Then
'这里写你处理的代码
'If Clipboard.GetFormat(vbCFBitmap) Then '位图
'Form1.Picture1.Picture = Clipboard.GetData(vbCFBitmap)
Private Sub Command1_Click()
Text2.Text = Clipboard.GetText(vbCFText)
End Sub
Private Sub Command2_Click()
Clipboard.SetText Text1.Text
End Sub
Private Sub Command3_Click()
Clipboard.SetData Picture1.Picture, vbCFBitmap
End Sub
Private Sub Command4_Click()
Picture2.Picture = Clipboard.GetData(vbCFBitmap)
End Sub
Private Sub Form_Load()
Dim astr As String
astr = Clipboard.GetFormat(vbCFLink)
If astr = "" Then
labCFStatus.Caption = "剪贴版包含未知数据"
Else
If astr = "True" Then
labCFStatus.Caption = "剪贴版包含DDE会话"
End If
astr = Clipboard.GetFormat(vbCFText)
If astr = "True" Then
labCFStatus.Caption = "剪贴版包含文本"
End If
astr = Clipboard.GetFormat(vbCFRTF)
If astr = "True" Then
labCFStatus.Caption = "剪贴版包含RTF文本"
End If
End If
End Sub