我解析了一些第三方软件“脚本”,它根据它的内容生成一个GUI窗体,我想在C#程序中读取脚本并生成类似的输出,这里是一个例子脚本:从CLSID动态加载ActiveX控件
BEGIN SECTION Intro
BACKPICTURE=xxxx.gif
PICTUREPOSN=Center
BEGIN CONTROL CLI
IS RADIO=NO
CLSID={49EBC3A3-727D-11CF-9BB9-080000001311}
POSITION=(24,16,250,45)
[email protected]:232
BEGIN PROPERTY Title
DISPID=2
SETTING=CLI :
TYPE=BSTR
END PROPERTY
BEGIN PROPERTY Arrangement
DISPID=3
SETTING=1
TYPE=I4
END PROPERTY
BEGIN PROPERTY EditBoxLength
DISPID=4
SETTING=3
TYPE=I4
END PROPERTY
我感兴趣的是BEGIN CONTROL
和BEGIN PROPERTY
这些指示ActiveX控件的开始和它的属性的属性。
我的问题:我将如何通过它的CLSID加载此ActiveX控件并设置其属性? Type.GetTypeFromCLSID
似乎是我想要的,当我使用Activator.CreateInstance(Type)
时,它不会抛出任何异常,因此它必须创建一个有效的实例,但如何设置一个属性,然后将此控件“绘制”为Windows窗体?
谢谢。
感谢您的帮助汉斯。我开始用AxImp手动重新创建控件,但最终得到了一个GUID静态地图 - >我的控件,并从新创建了我自己的控件。 – eth0 2011-05-12 15:19:27