问题描述
|
大家好
我在vb.net中有一个对外部应用程序的用户控件的句柄。
我知道该用户控件的类类型。
我想引用该对象以检查该对象的某些属性。
有可能吗?
谢谢
解决方法
希望我能正确理解您的问题...
您可以尝试插入对您的库的引用(我假设您的userControl在该库中)。作为前提条件,此外部应用程序必须使用.Net编写或具有某种auf COM接口!
然后,您可以尝试通过以下方式访问userControl类
NAMESPACE.CLASS myReference = new NAMESPACE.CLASS();
hth
, 您可以使用互操作获取一些信息,并使用诸如GetWindowText和SendMessage之类的某些功能,但是这将不允许您获取所有属性,并且无法在每种类型的应用程序上使用(想到了WPF或Java)。
, 控件类具有方法FromHandle:
Dim myCtrl As knownType = Control.FromHandle(knownHandle)
\'then get the known property using Reflection
Dim oProp As System.Reflection.PropertyInfo = myCtrl.GetType.GetProperty(\"KnownProperty\")
Dim oValue As Object = oProp.GetValue(myCtrl,Nothing)
\'or directly:
Dim oValueD as Object = myCtrl.knownProperty
我不知道它在进程之间是否起作用。