我正在使用C#.NET截取第二臺顯示器的內容並將其顯示在主屏幕上的一個窗口中。截屏不凍屏。 C#和WindowsXP
我的代碼是:
screenShotGraphics.CopyFromScreen(
Screen.AllScreens[screen].Bounds.X,
Screen.AllScreens[screen].Bounds.Y,
0,
0,
Screen.AllScreens[screen].Bounds.Size,
CopyPixelOperation.SourceCopy);
這工作得很好,當它被點擊一個按鈕觸發,因爲輕微的延遲並不明顯,但是當它是自動運行(比如每隔幾秒鐘)用戶可以很容易地注意到他們的鼠標「鎖定」了幾秒鐘。
顯然這並不理想。那麼是否有更快的方法來執行此操作? (或者在不中斷鼠標移動或交互的情況下執行此操作的方式?)
在拍攝屏幕的同時你還做了其他事情嗎?例如,如果調整圖像大小然後複製圖像,則可以將任務分開並在中間執行延遲。那麼延遲可能不那麼明顯。 – 2010-01-27 13:03:27
底層Windows API調用(BitBlt)在複製位圖時臨時隱藏鼠標。你無法解決這個問題。 – 2010-01-27 13:26:04