Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryGetText()

static bool ReLogic.OS.Windows.NativeClipboard.TryGetText ( out string text)
inlinestatic

Definition at line 45 of file NativeClipboard.cs.

46 {
47 text = null;
49 {
50 return false;
51 }
52 try
53 {
55 {
56 return false;
57 }
59 if (handle == IntPtr.Zero)
60 {
61 return false;
62 }
64 try
65 {
67 if (pointer == IntPtr.Zero)
68 {
69 return false;
70 }
71 int size = GlobalSize(handle);
72 byte[] buff = new byte[size];
73 Marshal.Copy(pointer, buff, 0, size);
74 text = Encoding.Unicode.GetString(buff).TrimEnd('\0');
75 return !string.IsNullOrEmpty(text);
76 }
77 finally
78 {
79 if (pointer != IntPtr.Zero)
80 {
82 }
83 }
84 }
85 finally
86 {
88 }
89 }
static bool OpenClipboard(IntPtr hWndNewOwner)
static bool IsClipboardFormatAvailable(uint format)
static IntPtr GetClipboardData(uint uFormat)
static IntPtr GlobalLock(IntPtr hMem)
static bool GlobalUnlock(IntPtr hMem)
static int GlobalSize(IntPtr hMem)
static void Copy(int[] source, int startIndex, IntPtr destination, int length)
Definition Marshal.cs:800
static Encoding Unicode
Definition Encoding.cs:519
static readonly IntPtr Zero
Definition IntPtr.cs:18

References ReLogic.OS.Windows.NativeClipboard.CloseClipboard(), System.Runtime.InteropServices.Marshal.Copy(), ReLogic.OS.Windows.NativeClipboard.GetClipboardData(), ReLogic.OS.Windows.NativeClipboard.GlobalLock(), ReLogic.OS.Windows.NativeClipboard.GlobalSize(), ReLogic.OS.Windows.NativeClipboard.GlobalUnlock(), System.handle, ReLogic.OS.Windows.NativeClipboard.IsClipboardFormatAvailable(), ReLogic.OS.Windows.NativeClipboard.OpenClipboard(), System.pointer, System.text, System.Text.Encoding.Unicode, and System.IntPtr.Zero.

Referenced by ReLogic.OS.Windows.Clipboard.TryToGetClipboardText().