Vb.net 使用Win API获取/设置剪贴板文本
我喜欢使用WindowsAPI做同样的事情Vb.net 使用Win API获取/设置剪贴板文本,vb.net,api,clipboard,clipboarddata,Vb.net,Api,Clipboard,Clipboarddata,我喜欢使用WindowsAPI做同样的事情 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click TextBox1.Text = System.Windows.Forms.Clipboard.GetText End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Han
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = System.Windows.Forms.Clipboard.GetText
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
System.Windows.Forms.Clipboard.SetText(TextBox1.Text)
End Sub
我看这里:
但我不太确定如何使用它,以及如何将文本设置到剪贴板。
有谁能帮我吗?与此非常相似: 我将其转换为VB.net版本,因为问题带有标签:
Public Class Form1
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function OpenClipboard(ByVal hWndNewOwner As IntPtr) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function CloseClipboard() As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function SetClipboardData(ByVal uFormat As UIntPtr, ByVal data As IntPtr) As Boolean
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString = "Hello World!"
Dim ptr As String = Marshal.StringToHGlobalUni(yourString)
SetClipboardData(13, ptr)
CloseClipboard()
Marshal.FreeHGlobal(ptr)
End Sub
End Class
公共类表单1
_
作为布尔值的公共共享函数OpenClipboard(ByVal hwndnnewowner作为IntPtr)
端函数
_
作为布尔值的公共共享函数CloseClipboard()
端函数
_
公共共享函数将clipboarddata(ByVal uFormat作为uintpttr,ByVal data作为IntPtr)设置为布尔值
端函数
私有子表单1_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString=“你好,世界!”
Dim ptr As String=Marshal.StringToHGlobalUni(您的字符串)
SetClipboardData(13,ptr)
CloseClipboard()
弗里赫全球元帅(ptr)
端接头
末级
与此非常相似:
我将其转换为VB.net版本,因为问题带有标签:
Public Class Form1
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function OpenClipboard(ByVal hWndNewOwner As IntPtr) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function CloseClipboard() As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function SetClipboardData(ByVal uFormat As UIntPtr, ByVal data As IntPtr) As Boolean
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString = "Hello World!"
Dim ptr As String = Marshal.StringToHGlobalUni(yourString)
SetClipboardData(13, ptr)
CloseClipboard()
Marshal.FreeHGlobal(ptr)
End Sub
End Class
公共类表单1
_
作为布尔值的公共共享函数OpenClipboard(ByVal hwndnnewowner作为IntPtr)
端函数
_
作为布尔值的公共共享函数CloseClipboard()
端函数
_
公共共享函数将clipboarddata(ByVal uFormat作为uintpttr,ByVal data作为IntPtr)设置为布尔值
端函数
私有子表单1_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString=“你好,世界!”
Dim ptr As String=Marshal.StringToHGlobalUni(您的字符串)
SetClipboardData(13,ptr)
CloseClipboard()
弗里赫全球元帅(ptr)
端接头
末级
与此非常相似:
我将其转换为VB.net版本,因为问题带有标签:
Public Class Form1
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function OpenClipboard(ByVal hWndNewOwner As IntPtr) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function CloseClipboard() As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function SetClipboardData(ByVal uFormat As UIntPtr, ByVal data As IntPtr) As Boolean
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString = "Hello World!"
Dim ptr As String = Marshal.StringToHGlobalUni(yourString)
SetClipboardData(13, ptr)
CloseClipboard()
Marshal.FreeHGlobal(ptr)
End Sub
End Class
公共类表单1
_
作为布尔值的公共共享函数OpenClipboard(ByVal hwndnnewowner作为IntPtr)
端函数
_
作为布尔值的公共共享函数CloseClipboard()
端函数
_
公共共享函数将clipboarddata(ByVal uFormat作为uintpttr,ByVal data作为IntPtr)设置为布尔值
端函数
私有子表单1_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString=“你好,世界!”
Dim ptr As String=Marshal.StringToHGlobalUni(您的字符串)
SetClipboardData(13,ptr)
CloseClipboard()
弗里赫全球元帅(ptr)
端接头
末级
与此非常相似:
我将其转换为VB.net版本,因为问题带有标签:
Public Class Form1
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function OpenClipboard(ByVal hWndNewOwner As IntPtr) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function CloseClipboard() As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Public Shared Function SetClipboardData(ByVal uFormat As UIntPtr, ByVal data As IntPtr) As Boolean
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString = "Hello World!"
Dim ptr As String = Marshal.StringToHGlobalUni(yourString)
SetClipboardData(13, ptr)
CloseClipboard()
Marshal.FreeHGlobal(ptr)
End Sub
End Class
公共类表单1
_
作为布尔值的公共共享函数OpenClipboard(ByVal hwndnnewowner作为IntPtr)
端函数
_
作为布尔值的公共共享函数CloseClipboard()
端函数
_
公共共享函数将clipboarddata(ByVal uFormat作为uintpttr,ByVal data作为IntPtr)设置为布尔值
端函数
私有子表单1_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
OpenClipboard(IntPtr.Zero)
Dim yourString=“你好,世界!”
Dim ptr As String=Marshal.StringToHGlobalUni(您的字符串)
SetClipboardData(13,ptr)
CloseClipboard()
弗里赫全球元帅(ptr)
端接头
末级
所讨论的源C#版本有一个模糊的缺陷,可能导致崩溃
如果您遇到问题,那么这里有一个链接,指向我对原始主题的回复,并提到了一个更可靠的替代方案:所讨论的源C#版本以一种模糊的方式存在缺陷,可能导致崩溃
如果您遇到问题,那么这里有一个链接,指向我对原始主题的回复,并提到了一个更可靠的替代方案:所讨论的源C#版本以一种模糊的方式存在缺陷,可能导致崩溃
如果您遇到问题,那么这里有一个链接,指向我对原始主题的回复,并提到了一个更可靠的替代方案:所讨论的源C#版本以一种模糊的方式存在缺陷,可能导致崩溃
如果您遇到问题,那么这里有一个链接,指向我对原始主题的回复,并参考一个更可靠的替代方案: