VB6监视/操作剪贴板示例(VB6.0代码)

这是一系列VB6编程相关的文章集合,涵盖了VB6中如何监视和操作剪贴板,以及各种实用技巧,如禁止Alt-Tab、控件注册、文件系统操作、窗口移动、屏蔽键盘快捷键、处理文本框功能和实现全局热键等。
摘要由CSDN通过智能技术生成
剪贴板的监视,需要先使用SetClipboardViewer设置某个句柄为剪贴板查看器的一员.

然后当剪贴板发生改变时,系统就会向这个句柄发送WM_DRAWCLIPBOARD消息.

只要使用子类化拦截到这个消息即可.
界面:
2011年11月27日 - miaozk2006 - miaozk2006
 

程序代码:  
Option Explicit
'剪贴板监视与管理示例代码
'BY  嗷嗷叫的老马
' http://www.m5home.com

Private Declare Function SetClipboardViewer Lib "user32.dll" ( _
     ByVal hwnd As Long) As Long
Private Const WM_DRAWCLIPBOARD As Long = &H308

Dim WithEvents objSC As cSubclass

Private Sub Command1_Click()
    Me.Tag = 1
    Clipboard.Clear
    Clipboard.SetText Text1.Text
    Me.Tag = 0
End Sub

Private Sub Command2_Click()
    Me.Tag = 1
    Clipboard.Clear
    Clipboard.SetText Text2.Text
    Me.Tag = 0
End Sub

Private Sub Form_Load()
    Call SetClipboardViewer(Me.hwnd)                    '添加本句柄到剪贴板查看器列表
    Set objSC = New cSubclass
    
    objSC.AddWindowMsgs Me.hwnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
    objSC.DeleteWindowMsg Me.hwnd
    Set objSC = Nothing
End Sub

Private Sub objSC_MsgCome(ByVal bBefore As Boolean, bHandled As Boolean, lReturn As Long, lng_hWnd As Long, uMsg As Long, wParam As Long, lParam As Long)
    If bBefore Then
        Select Case uMsg
            Case WM_DRAWCLIPBOARD                               '剪贴板被改变
                If Clipboard.GetFormat(vbCFText) And Me.Tag <> "1" Then         '只对文本进行处理,自己复制时不处理
                    If Option1.Value Then Text1.Text = Clipboard.GetText
                    If Option2.Value Then Text2.Text = Clipboard.GetText
                End If
        End Select
    End If
End Sub

VB部分相关推荐

VB快速读取 TextBox N 行的资料

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值