成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析C#編寫ActiveX控件

開(kāi)發(fā) 后端
本文介紹為完成C#編寫ActiveX控件,首先,我們先嘗試實(shí)現(xiàn)和JS的交互能力。我們?cè)贒emo中加入ShowMessage方法。

為完成C#編寫ActiveX控件,首先,我們先嘗試實(shí)現(xiàn)和JS的交互能力。

我們?cè)贒emo中加入ShowMessage方法:

  1. publicvoidShowMessage(stringmsg)  
  2. {  
  3. if(msg!=null)  
  4. {  
  5. MessageBox.Show(msg);  
  6. }  

我們重新編譯。在重新訪問(wèn)頁(yè)面之前,我們先來(lái)修改html代碼:

  1. <body bgcolor='#223344'> 
  2. <object id="helloworld"classid=
    "clsid:9551B223-6188-4387-B293-C7D9D8173E3A" 
    Width="184" Height="96"> 
  3. </object> 
  4. <br> 
  5. <input type='button' onclick=
    'helloworld.ShowMessage(“Hello World!”)' value='Click'> 
  6. </body>  

現(xiàn)在,重新訪問(wèn)http://localhost/helloworld.htm,單擊Click按鈕,應(yīng)該可以實(shí)現(xiàn)交互了。

但是結(jié)果卻很遺憾,我們發(fā)現(xiàn)IE跳出了對(duì)話框,如圖所示:

IE跳出了對(duì)話框

單擊確定之后,我們發(fā)現(xiàn)JS報(bào)錯(cuò)。根據(jù)提示,我們判斷可以通過(guò)修改IE的設(shè)置使控件運(yùn)行。打開(kāi)IE的 工具——〉Internet選項(xiàng)——〉安全——〉本地Intranet——〉自定義級(jí)別——〉對(duì)沒(méi)有標(biāo)記為安全的ActiveX控件進(jìn)行初始化和運(yùn)行,將其值設(shè)為啟用。我們刷新頁(yè)面,現(xiàn)在終于可以正確運(yùn)行了。

當(dāng)然,我們不能指望我們的客戶和我們一樣修改這個(gè)值。畢竟,一是操作麻煩,二是給電腦帶來(lái)了很大的安全風(fēng)險(xiǎn)。在互聯(lián)網(wǎng)上搜索之后,發(fā)現(xiàn)必須要實(shí)現(xiàn)IObjectSafety接口,把ActiveX控件標(biāo)記為安全的ActiveX控件。在搜索MSDN之后,我找到了IObjectSafety接口的定義。這就好辦了。首先我們自己用C#實(shí)現(xiàn)這個(gè)接口:

  1. [Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),
    InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]  
  2. publicinterfaceIObjectSafety  
  3. {  
  4. //methods  
  5. voidGetInterfacceSafyOptions(  
  6. System.Int32riid,  
  7. outSystem.Int32pdwSupportedOptions,  
  8. outSystem.Int32pdwEnabledOptions);  
  9. voidSetInterfaceSafetyOptions(  
  10. System.Int32riid,  
  11. System.Int32dwOptionsSetMask,  
  12. System.Int32dwEnabledOptions);  

注意,這個(gè)GUID是不能改的。然后,我們?cè)贒emo類里面實(shí)現(xiàn)這個(gè)接口。增加一下代碼:

  1. publicvoidGetInterfacceSafyOptions(Int32riid,
    outInt32pdwSupportedOptions,outInt32pdwEnabledOptions)  
  2. {  
  3. //TODO:添加WebCamControl.GetInterfacceSafyOptions實(shí)現(xiàn)  
  4. pdwSupportedOptions=1;  
  5. pdwEnabledOptions=2;  
  6. }  
  7.  
  8. publicvoidSetInterfaceSafetyOptions(Int32riid,
    Int32dwOptionsSetMask,Int32dwEnabledOptions)  
  9. {  
  10. //TODO:添加WebCamControl.SetInterfaceSafetyOptions實(shí)現(xiàn)  

重新編譯,然后將IE里面的設(shè)置改回來(lái)。現(xiàn)在,我們發(fā)現(xiàn),和JS的交互已經(jīng)沒(méi)有問(wèn)題了。

這樣,一個(gè)最基本的C#編寫ActiveX控件已經(jīng)寫好了。你可以在這個(gè)控件的基礎(chǔ)上增加任何你需要的功能。到這里,C#編寫ActiveX控件的任務(wù)已經(jīng)完成了.

【編輯推薦】

  1. 分析C#不安全代碼
  2. 淺析C#調(diào)用ImageAnimator
  3. C#連接Access、SQL Server數(shù)據(jù)庫(kù)
  4. 淺談C#固定的和活動(dòng)的變量
  5. 介紹C#中的值類型
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-08-12 10:35:50

C#調(diào)用ActiveX

2009-08-27 14:32:15

C#編寫ActiveX

2009-08-28 15:05:35

C#編寫Calenda

2009-08-11 14:45:41

C# DataGrid

2009-08-11 10:12:21

2009-09-16 10:56:22

C#開(kāi)發(fā)ActiveX

2009-09-04 17:58:38

C# Web Brow

2009-08-12 18:04:44

編寫C#多線程

2009-08-18 16:31:19

Visual C#編寫

2009-09-11 09:10:30

C#編寫游戲

2009-08-14 10:35:25

C#最小化編寫

2015-05-12 14:16:15

C#ActiveX控件web調(diào)用

2009-09-11 10:41:20

C# WinForm控

2009-08-26 13:36:33

C#打印控件

2009-09-09 10:47:29

C# CheckBox

2009-08-14 09:43:59

C#復(fù)制構(gòu)造函數(shù)

2009-09-08 14:54:40

C# listBox控

2009-08-28 16:31:21

C# treeview

2009-08-03 13:34:06

自定義C#控件

2009-09-15 15:14:27

C# 綁定
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 天堂资源 | 日日夜夜天天 | 欧美日韩在线免费 | 亚洲国产精品一区在线观看 | 国产亚洲精品久久情网 | 亚洲一区二区免费看 | 久久国产精品免费视频 | 国产精品一区在线观看 | 久久亚洲美女 | 91国在线观看 | 九七午夜剧场福利写真 | 免费久久视频 | 国产一区二区三区网站 | 国产精品成人国产乱一区 | 国产精品美女久久久久久免费 | 久久久久久久网 | 日韩精品免费一区二区在线观看 | 一区二区三区精品在线视频 | 亚洲另类春色偷拍在线观看 | 美女爽到呻吟久久久久 | 麻豆精品一区二区三区在线观看 | 久久久精品一区 | 精品国产99 | 国产精品xxxx| 日韩羞羞| 午夜看电影在线观看 | 久久久久免费精品国产小说色大师 | 午夜电影网 | 国产日韩精品一区二区 | 久久精品国产99国产精品 | 午夜视频网站 | av成年人网站 | 精品国产成人 | 欧美va大片 | 国内成人免费视频 | 成人久久| 中文在线一区二区 | 久久久久久91| 午夜欧美一区二区三区在线播放 | 欧美日韩不卡合集视频 | 亚洲成人精品在线 |