c# - 检查剪贴板是否锁定或捕获异常
问题描述
我已经多次尝试解决这个问题,并且多次谷歌搜索以找到适合的解决方案,但似乎没有什么是正确的。
User32 方法将让您锁定或解锁剪贴板,但我只想检查它是否已解锁。我不希望我的应用程序干扰使用剪贴板的其他应用程序。通常似乎是办公室阻止了这个,所以我目前正在检查这些应用程序。
我需要这样做的唯一原因是,尽管使用了 try/catch,但我的应用程序仍然崩溃,并且不会在此处或我的 main 方法中抛出任何异常(请参阅下面的摘录)。
所以我需要一个关于如何检查剪贴板是否被锁定的建议,或者如何在剪贴板被锁定时实际捕获异常。
第二个线程:
private static string GetCurrentText()
{
try
{
if (!Process.GetProcessesByName("winword.exe").Any() && !Process.GetProcessesByName("excel.exe").Any() && !Process.GetProcessesByName("powerpnt.exe").Any() && !Process.GetProcessesByName("msaccess.exe").Any() && Clipboard.ContainsText())return Clipboard.GetText();
else return "";
}
catch { return ""; }
}
主线:
try
{
Application.ThreadException += Application_ThreadException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.Run(new frmMain());
}
catch (Exception e)
{
clsDeBugNotification.displayError(e);
}
解决方案
推荐阅读
- python - 如何在 cx_freeze 中包含 Ghostscript
- laravel - 在 Laravel 中使用 Guzzle 和 POST
- model - 每次迭代后保存 PyTorch VGG 模型的权重
- amazon-web-services - 有没有办法最小化 CloudFront 图像响应的大小?
- php - 比较时间并在php中发送通知
- python - Python:理解 os.listdir() 方法
- javascript - 多个按钮单击中间禁用
- javascript - 屏幕分辨率与 cookie 收集有何关系?
- django - 浏览器如何检索 Django 自定义小部件资产?
- c++ - 调用类的成员函数时类的对象损坏