Как справиться с заблокированным буфером обмена и другими странностями

Поскольку буфер обмена используется csharp всеми приложениями пользовательского c#.net интерфейса, время от времени c#-language вы будете сталкиваться с c-sharp этим. Очевидно, вы не хотите, чтобы dot-net ваше приложение вылетало dotnet из строя, если ему не удалось c#-language выполнить запись в буфер clipboard обмена, поэтому разумно корректно .net обрабатывать ExternalException. Я visual-c# бы посоветовал сообщить пользователю dotnet об ошибке, если вызов SetObjectData .net-framework для записи в буфер обмена c-sharp завершился неудачно.

Было .net-framework бы предложено использовать clipboard (через P/Invoke) user32!GetOpenClipboardWindow, чтобы узнать, открыт visual-c# ли буфер обмена в другом dot-net приложении. Он вернет HWND csharp окна, в котором открыт буфер .cs-file обмена, или IntPtr.Zero, если ни одно visual-c# приложение не открыло его. Вы c#-language можете вращать значение до .net-framework его IntPtr.Zero в течение определенного dot-net времени.

c#

.net

clipboard

2022-08-29T01:57:19+00:00
Вопросы с похожей тематикой, как у вопроса:

Как справиться с заблокированным буфером обмена и другими странностями