我解析了一些第三方軟件「腳本」,它根據它的內容生成一個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