У меня есть проблема, и я столкнулся только с двумя или тремя сообщениями в Интернете об этом: когда я использую буфер обмена в приложении C# (Clipboard.SetText или Clipboard.Clear), Chrome случайным образом уже использует его, поэтому мой запрос буфера обмена не удался.Google Chrome крадет буфер обмена
System.Runtime.InteropServices.ExternalException: Requested Clipboard operation did not succeed.
at System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr)
at System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy, Int32 retryTimes, Int32 retryDelay)
at System.Windows.Forms.Clipboard.SetText(String text, TextDataFormat format)
at System.Windows.Forms.Clipboard.SetText(String text)
Я закрываю Chrome, он работает, затем снова открывается Chrome, и через несколько минут он все еще не работает. Я использую следующий код с 1 секундным таймером и GetOpenClipboardWindow(), другой PInvoke :(, чтобы подтвердить, что это действительно Chrome, который меня раздражает:
[DllImport("user32.dll")]
static extern IntPtr GetOpenClipboardWindow();
[DllImport("user32.dll", SetLastError = true)]
static extern int GetWindowThreadProcessId(IntPtr hWnd, out int
lpdwProcessId);
IntPtr hwnd = GetOpenClipboardWindow();
if (hwnd != IntPtr.Zero)
{
int processId;
GetWindowThreadProcessId(hwnd, out processId);
Process p = Process.GetProcessById(processId);
listBox1.Items.Add(p.Modules[0].FileName);
}
ли кто-нибудь из вас уже была такая проблема? вы знаете, почему Chrome крадет буфер
[Редактировать]
в любой из членов команды Chrome: Уважаемый разработчик, если вы читаете это сегодня, дают мне Clipboard назад, как у меня больше прав, чем вы на моем буфере обмена. Я искал два дня из-за вас.
Кажется странным. Возможно, это дополнения к Chrome, которые это делают? Это происходит на других машинах? –
Также случилось с этим парнем: http://code.google.com/p/chromium/issues/detail?id=86765 –