c# Clipboard returns null,但不能为空
c# Clipboard returns null, but can't be empty
我正在尝试获取 link,它是在单击时生成并粘贴到我的剪贴板中的。我尝试了所有我能找到的东西。但我总是收到 "null",即使当我在记事本中手动粘贴 link 时,我也明白了。
我用每个定义的数据格式尝试了这段代码,但一切都返回了 null。
string clipboardText = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString();
来自 MSDN:要使用此 class,请确保您的 Main 方法标有 STAThreadAttribute 属性。
示例:
using System.Windows.Forms; // Need this for console app
namespace ClipboardTest
{
class Program
{
// Without this attribute, will get null
[STAThreadAttribute]
static void Main(string[] args)
{
try
{
var clipboardText = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString();
Console.WriteLine(clipboardText);
}
catch (NullReferenceException ex1)
{
// Handle error
}
catch (System.Threading.ThreadStateException ex2)
{
// Will throw this when:
// "The current thread is not in single-threaded apartment (STA) mode and the Application.MessageLoop property value is true."
// Handle error
}
catch (System.Runtime.InteropServices.ExternalException ex3)
{
// Will throw this if clipboard in use
// Handle error
}
}
}
}
我正在尝试获取 link,它是在单击时生成并粘贴到我的剪贴板中的。我尝试了所有我能找到的东西。但我总是收到 "null",即使当我在记事本中手动粘贴 link 时,我也明白了。
我用每个定义的数据格式尝试了这段代码,但一切都返回了 null。
string clipboardText = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString();
来自 MSDN:要使用此 class,请确保您的 Main 方法标有 STAThreadAttribute 属性。
示例:
using System.Windows.Forms; // Need this for console app
namespace ClipboardTest
{
class Program
{
// Without this attribute, will get null
[STAThreadAttribute]
static void Main(string[] args)
{
try
{
var clipboardText = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString();
Console.WriteLine(clipboardText);
}
catch (NullReferenceException ex1)
{
// Handle error
}
catch (System.Threading.ThreadStateException ex2)
{
// Will throw this when:
// "The current thread is not in single-threaded apartment (STA) mode and the Application.MessageLoop property value is true."
// Handle error
}
catch (System.Runtime.InteropServices.ExternalException ex3)
{
// Will throw this if clipboard in use
// Handle error
}
}
}
}