<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      VS 2010 開發 ActiveX 交互篇二

      ActiveX 控件中調用 JavaScript 方法

      1. 添加接口 【IOleContainer】,代碼如下

      [ComImport, Guid("0000011B-0000-0000-C000-000000000046"), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
      public interface IOleContainer
      {
              void EnumObjects([In, MarshalAs(UnmanagedType.U4)] int grfFlags, [Out, MarshalAs(UnmanagedType.LPArray)] object[] ppenum);
              void ParseDisplayName([In, MarshalAs(UnmanagedType.Interface)] object pbc, [MarshalAs(UnmanagedType.BStr)] string pszDisplayName, [Out, MarshalAs(UnmanagedType.LPArray)] int[] pchEaten, [Out, MarshalAs(UnmanagedType.LPArray)] object[] ppmkOut);
              void LockContainer([In, MarshalAs(UnmanagedType.I4)] int fLock);
      }


      2. 添加接口 【IOleClientSite】,代碼如下

      [Guid("00000118-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
      public interface IOleClientSite
      {
              void SaveObject();
              void GetMoniker(uint dwAssign, uint dwWhichMoniker, object ppmk);
              void GetContainer(out IOleContainer ppContainer);
              void ShowObject();
              void OnShowWindow(bool fShow);
              void RequestNewObjectLayout();
      }

      3. 調用JS方法的代碼如下

      參數 functionName 為 JS 方法名稱

      參數 paras 是 String 類型,可以使用特定規則組合多個值

      private void CallJavaScriptMethod(string functionName, string paras)
      {
                  BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public;
      
                  Type typeIOleObject = this.GetType().GetInterface("IOleObject", true);
                  object objClientSite = typeIOleObject.InvokeMember("GetClientSite", bindingFlags, null, this, null);
      
                  IOleClientSite oleClientSite = objClientSite as IOleClientSite;
                  IOleContainer oleContainer;
                  oleClientSite.GetContainer(out oleContainer);
      
                  object[] args = new object[1];
                  args[0] = paras;
      
                  IHTMLDocument htmlDocument = (IHTMLDocument)oleContainer;
                  object script = htmlDocument.Script;
      
                  try
                  {
                      script.GetType().InvokeMember(functionName, bindingFlags, null, script, args);
                  }
                  catch { }
      }
      
      
      posted @ 2013-03-02 11:24  踏歌長行  閱讀(325)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文有无人妻vs无码人妻激烈| 国产高清在线不卡一区| 久久亚洲国产五月综合网| 亚洲av成人一区在线| 欧美牲交a欧美在线| 97国产揄拍国产精品人妻| 人妻中文字幕一区二区视频| 69精品丰满人妻无码视频a片| 亚洲欧美日韩在线码| 国产精品久久中文字幕网| 99久久国产综合精品女图图等你| 国产高清在线男人的天堂| 国产精品无码无片在线观看3d| 国产极品嫩模在线观看91| 午夜福利高清在线观看| 欧美激欧美啪啪片| CAOPORN免费视频国产| 一区二区三区鲁丝不卡| 亚洲av熟女国产一二三| 好吊妞视频这里有精品| 一区二区三区鲁丝不卡| 精品久久综合日本久久网| 黄页网址大全免费观看| 光棍天堂在线手机播放免费| 日本道之久夂综合久久爱| 国产亚洲精品在av| 亚洲精品自拍在线视频| 精品偷拍一区二区三区在| 午夜欧美精品久久久久久久| 国产麻豆一区二区精彩视频| a级黑人大硬长爽猛出猛进| 色婷婷综合久久久中文字幕 | 深夜精品免费在线观看| 97久久超碰国产精品2021| 国产农村乱人伦精品视频| 久久国产精品亚洲精品99| 无码成人精品区在线观看| 成人av天堂网在线观看| 中文字幕日韩精品国产| 亚洲av男人电影天堂热app| 波多野结衣久久一区二区|