[DllImport("Coredll.dll", SetLastError=true)]
static extern int SetClipboardData(int uFormat, IntPtr hMem);
<DllImport("coredll.dll")> Shared Function SetClipboardData(ByVal uFormat As Integer, ByVal hMem As IntPtr) As Integer
End Function
None.
Do you know one? Please contribute it!
None.
Please add some!
' THIS SAMPLE CONTAINS ERROR.
' ATTENTION PLEASE AND CARE THIS SAMPLE.
Enum uFormat
CF_TEXT = 1
CF_BITMAP = 2
CF_SYLK = 4
CF_DIF = 5
CF_TIFF = 6
CF_OEMTEXT = 7
CF_DIB = 8
CF_PALETTE = 9
CF_PENDATA = 10
CF_RIFF = 11
CF_WAVE = 12
CF_UNICODETEXT = 13
End Enum
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strUManage As New StringPtr("CopyString")
OpenClipboard(Nothing)
EmptyClipboard()
SetClipboardData(uFormat.CF_UNICODETEXT, strUManage.GetIntPtr) ' copy to clipboad
CloseClipboard()
strUManage.Free() ' error occur.
End Sub
' http://www.microsoft.com/japan/msdn/net/compactframework/netcfadvinterop.aspx
Public Class Memory
...
' Replace this sub
Public Shared Sub FreeHLocal(ByVal hlocal As IntPtr)
If Not hlocal.Equals(IntPtr.Zero) Then
If Not IntPtr.Zero.Equals(LocalFree(hlocal)) Then
' Occurs Error. may be memory leak.
MessageBox.Show("LocalFree Fail" & Marshal.GetLastWin32Error())
'Throw New System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error())
End If
hlocal = IntPtr.Zero
End If
End Sub
...
End Class
Public Structure StringPtr
...
' Add this Property
Public ReadOnly Property GetIntPtr() As IntPtr
Get
Return szString
End Get
End Property
End Structure