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

剪贴板的监视,需要先使用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 行的资料

VB禁止使用 Alt-Tab Ctrl-Alt-Del

生成迷宫的程序

另一方法转换大小写

VB控件注册 - 利用资源文件将dllocx打包进exe文件

VB利用资源文件进行工作

[]vb高效编程(优化)

VB阳历转阴历

VB代码取得硬盘的物理序列号

VB获得磁盘的文件系统

VB的,经常注册和反注册OCX控件和DLL

VB从程序中生成Exe文件

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

VB6里自动提交/自动填表的一种相对通用的方案

VB移动没有标题的窗体

VB随机字母的函数

VB删除带子文件夹和文件的文件夹

VB怎样屏蔽 Alt+F4

VB 隐藏进程

vb屏蔽文本框点右键时的弹出菜单

VB手控Combobox的打开或收起

VBINI文件的读写、删除(对中文支持很好)

vb全局热键的写法(占很少的资源)

vb取消文本框的粘贴功能

VB常用文件操作类

VB获取特殊文件夹

VB获取windows各常用目录的函数(模块)

VB生成太极图

VB:常用内部函数大全,你会了几个呢?

vbSendMessage函数

精简VB程序的代码

VB:将数字转换为大写中文

VB:设定 MsgBox 在若干时间之后若无回应则自动关闭

VB:读取及设定NumLock/CapsLock/ScrollLock的值

VB:您知道 Mid$ 函量可以放在 '=' 的左方吗

VB后台获得按键,并执行自己的函数(非钩子及热键)

VB:将短文件名格式转成长文件名

vb中使用Iphlpapi.dll获取网络信息(上)

vb中使用Iphlpapi.dll获取网络信息(下)

更多精彩>>>

版权声明:本文为miaozk2006原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。