[英]How Do You Get the Handle of a Control in VB.Net 3.0?
我需要將控件的句柄作為IntPtr傳遞給vb.Net 3.0中的屏幕捕獲類。 嘗試過此操作,但獲得了無效的句柄異常。
Dim hwnd As IntPtr = Runtime.InteropServices.GCHandle.Alloc(CanvasMap)
任何幫助將不勝感激。
謝謝
沒有VB.Net的3.0版本。 您是指VS2008附帶的VB.Net版本嗎? 如果是這樣,那實際上就是VB.Net版本9.0。 從VB6切換時,他們沒有重置版本號,只是不斷增加。
這是WinForms項目嗎? 如果是這樣,您可以使用CanvasMap.Handle來訪問控件。 請注意,此屬性在實際顯示之前是無效的,但是對於大多數情況而言都是如此。
編輯 OP提到這是WPF應用程序
我不確定您是否可以對WPF應用程序中的任何控件執行此操作。 可以使用WPF( link )中的WindowInteropHelper獲取Window實例的句柄。 但這不適用於正常的Control實例。
為什么需要把手? 具有包含窗口的句柄是否可行?
ctrlSomeControl.Handle
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.