OpenClipboard失敗(例外來自HRESULT:0x800401D0(CLIPBRD E CANT OPEN))
我寫了個自動發送文字的程式,簡單的邏輯是:把發送的文字放入剪切板,然后發送出去,
我是把剪切板操作放在 dll里的,一般情況沒問題,也不知道和哪個程式沖突了,還是怎么回事,有的時候就會拋出這個例外!
我在網上查了一圈兒,好像是剪切板與視窗句柄還有關系?!
我把這段代碼改寫在主程式里,會不會就可以了呢?覺得莫名其妙.........
private void Fun2(string pString)
{
//LkfClipboard.saveClip();
//Clipboard.SetDataObject(pString, true);
//Utils.DelayMilliseconds(100);
Clipboard.SetText(pString);
Thread.Sleep(1000);
//Utils.DelayMilliseconds(100);
//string strData = GetTxtClipboard();
LKFcombinatorialKeyDownUp(new FunctionalKeysName[1] { FunctionalKeysName.leftcontrol }, new KeyboadName[1] { KeyboadName.v });
Utils.DelayMilliseconds(200);
Clipboard.Clear();
//LkfClipboard.restoreClip();
}
uj5u.com熱心網友回復:
是不是你的代碼在回圈里頻繁訪問剪切板?可以嘗試降低頻率或者例外捕獲,然后忽略掉這個錯誤
uj5u.com熱心網友回復:
我好像是一 啟動迅雷,就出現這個 錯誤..........................
uj5u.com熱心網友回復:
我自己用剪貼簿10次會有一次出現莫名的錯誤,但不理它又好了。這是無解的BUG
uj5u.com熱心網友回復:
迅雷也是不停監視剪貼板的,因為他要捕獲下載地址
所以可能是沖突的
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/114909.html
標籤:C#
