如何在WPF中截取桌面?最好用鼠標光標顯示。WPF中的桌面截圖
2
A
回答
4
不要試圖竊取答案,請使用Johannes引用的CodeProject文章中給出的代碼創建GDI位圖。然後,您可以使用下面的代碼把它轉換成一個的BitmapSource用於WPF:
public static BitmapSource ToBitmapSource(this System.Drawing.Bitmap source)
{
var hBitmap = source.GetHbitmap();
try
{
return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
hBitmap,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
}
catch (Win32Exception)
{
return null;
}
finally
{
NativeMethods.DeleteObject(hBitmap);
}
}
其中用於NativeMethods.DeleteObject()的代碼是:
[DllImport("gdi32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool DeleteObject(IntPtr hObject);
4
這裏有一個CodeProject article。
而且由於屏幕捕獲不是WPF特定的,因此該解決方案也不涉及WPF。
相關問題
- 1. 與Matlab的桌面截圖
- 2. 截圖桌面DirectX C++/QT
- 3. 量角器中的桌面截圖
- 4. MVVM - WPF桌面
- 5. 使用javascript捕獲桌面截圖
- 6. 查找桌面截圖標誌
- 7. 預覽桌面與截圖程序VB.net
- 8. JavaFX 8製作桌面屏幕截圖
- 9. xna 4採取桌面屏幕截圖
- 10. 程序捕獲桌面截圖純C
- 11. 在java中截取屏幕截圖並將其保存在桌面上
- 12. 攔截桌面的渲染和交互
- 13. 桌面WPF拖拽列表
- 14. 服務器的桌面使用PHP的屏幕截圖
- 15. 登錄屏幕上的Windows桌面的屏幕截圖
- 16. Linux中的桌面圖標
- 17. Selenium可以完全截取所有活動桌面的截圖嗎?
- 18. 捕獲隱藏桌面的屏幕截圖
- 19. 使用Sikuli保存Microsoft Word桌面的屏幕截圖
- 20. 只有可見桌面的屏幕截圖
- 21. 需要幫助VBSCRIPT捕獲用戶桌面的屏幕截圖
- 22. 在Windows上通過SSH獲取桌面的屏幕截圖
- 23. 捕獲最小化遠程桌面的屏幕截圖
- 24. 如何防止圖片另存爲+防止圖像拖放到桌面+防止截圖在桌面瀏覽器
- 25. 用C程序截取Windows桌面。
- 26. 如何攔截「顯示桌面」事件?
- 27. 我可以使用vuejs獲取桌面屏幕截圖
- 28. 以Qt5爲屏幕截圖完整桌面
- 29. 桌面視圖中的圖像
- 30. 使用scrollviewer截圖WPF datagrid
你走了,你偷了答案,而不是約翰尼斯要去生你的氣......看看你做了什麼? :))只是開玩笑,感謝代碼;) – luvieere 2009-11-22 15:35:31
哈哈,沒有probs:D – 2009-11-24 09:17:49