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

淺析C#編寫ActiveX控件

開發 后端
本文介紹為完成C#編寫ActiveX控件,首先,我們先嘗試實現和JS的交互能力。我們在Demo中加入ShowMessage方法。

為完成C#編寫ActiveX控件,首先,我們先嘗試實現和JS的交互能力。

我們在Demo中加入ShowMessage方法:

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

我們重新編譯。在重新訪問頁面之前,我們先來修改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>  

現在,重新訪問http://localhost/helloworld.htm,單擊Click按鈕,應該可以實現交互了。

但是結果卻很遺憾,我們發現IE跳出了對話框,如圖所示:

IE跳出了對話框

單擊確定之后,我們發現JS報錯。根據提示,我們判斷可以通過修改IE的設置使控件運行。打開IE的 工具——〉Internet選項——〉安全——〉本地Intranet——〉自定義級別——〉對沒有標記為安全的ActiveX控件進行初始化和運行,將其值設為啟用。我們刷新頁面,現在終于可以正確運行了。

當然,我們不能指望我們的客戶和我們一樣修改這個值。畢竟,一是操作麻煩,二是給電腦帶來了很大的安全風險。在互聯網上搜索之后,發現必須要實現IObjectSafety接口,把ActiveX控件標記為安全的ActiveX控件。在搜索MSDN之后,我找到了IObjectSafety接口的定義。這就好辦了。首先我們自己用C#實現這個接口:

  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);  

注意,這個GUID是不能改的。然后,我們在Demo類里面實現這個接口。增加一下代碼:

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

重新編譯,然后將IE里面的設置改回來。現在,我們發現,和JS的交互已經沒有問題了。

這樣,一個最基本的C#編寫ActiveX控件已經寫好了。你可以在這個控件的基礎上增加任何你需要的功能。到這里,C#編寫ActiveX控件的任務已經完成了.

【編輯推薦】

  1. 分析C#不安全代碼
  2. 淺析C#調用ImageAnimator
  3. C#連接Access、SQL Server數據庫
  4. 淺談C#固定的和活動的變量
  5. 介紹C#中的值類型
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-12 10:35:50

C#調用ActiveX

2009-08-27 14:32:15

C#編寫ActiveX

2009-08-28 15:05:35

C#編寫Calenda

2009-08-11 10:12:21

2009-09-16 10:56:22

C#開發ActiveX

2009-08-11 14:45:41

C# DataGrid

2009-08-18 16:31:19

Visual C#編寫

2009-08-12 18:04:44

編寫C#多線程

2009-09-04 17:58:38

C# Web Brow

2009-08-14 10:35:25

C#最小化編寫

2009-09-11 09:10:30

C#編寫游戲

2015-05-12 14:16:15

C#ActiveX控件web調用

2009-08-14 09:43:59

C#復制構造函數

2009-08-26 13:36:33

C#打印控件

2009-09-09 10:47:29

C# CheckBox

2009-09-11 10:41:20

C# WinForm控

2009-08-28 16:31:21

C# treeview

2009-09-08 14:54:40

C# listBox控

2009-08-03 13:34:06

自定義C#控件

2009-09-24 14:59:38

C#編寫COM組件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色毛片| 精品久久国产 | 欧美精品啪啪 | 亚洲欧洲日韩 | 东方伊人免费在线观看 | 99看片网| 国产成在线观看免费视频 | 国产在线播 | 高清免费av | 午夜一区 | 亚洲天天干 | 狠狠操电影 | 日韩伦理一区二区 | 欧美激情a∨在线视频播放 成人免费共享视频 | 毛片链接 | 亚洲精品一区二区网址 | 国产精品欧美一区二区 | 天天操夜夜操免费视频 | 亚洲成人国产 | 成人免费视频在线观看 | 亚洲国产成人精品久久久国产成人一区 | 夜夜草导航| 久久69精品久久久久久久电影好 | 日韩欧美在线视频播放 | 久久三区 | 中文字幕一区二区三区四区五区 | 久久久久久综合 | 日韩一区二区三区视频 | 欧美亚洲高清 | 男人天堂手机在线视频 | 91久久精品一区二区二区 | 日韩高清中文字幕 | 成年人在线| 成人午夜视频在线观看 | 国产乱码久久久久久 | 欧美乱码精品一区二区三区 | 日韩欧美在 | 第四色影音先锋 | 一二三四av| 综合自拍 | 亚洲va中文字幕 |