Option Explicit
Private Const CF_TEXT = 1
Private Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Long, ByVal ByteLen As Long)
Public Sub ClipboardData()
Dim hStrPtr As Long, lLength As Long, sBuffer As String
OpenClipboard Application.hwnd
hStrPtr = GetClipboardData(CF_TEXT)
If hStrPtr <> 0 Then
lLength = lstrlen(hStrPtr)
If lLength > 0 Then
sBuffer = Space$(lLength)
CopyMemory ByVal sBuffer, ByVal hStrPtr, lLength
MsgBox sBuffer, vbInformation
End If
End If
CloseClipboard
End Sub
Работа с буфером обмена в VB6
Заранее спасибо!
Цитата: ace lighting
Скажите, возможно-ли как-нибудь отследить помещение объекта в буфер обмена?
Заранее спасибо!
Заранее спасибо!
Проверяй, что попало в буфер. Пример с текстом:
Код: