首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    QueryInterface IID_IDispatch

    //if(riid==IID_IUnknown||riid==IID_IClassFactory || riid == IID_IDispatch)//改变 { *ppv=static_cast< this); else if(riid == IID_IUnknown) *ppv = static_cast<ISimpleMath *>(this); else if(riid == IID_IDispatch

    31310编辑于 2022-09-15
  • 来自专栏sofu456

    COM组件IDispatch操作

    IDispatch 组件接口,继承IUnkown,实现了反射机制,可以通过invoke调用dll函数 一般执行过程需要GetIDsOfNames、InvokeHelper函数执行,queryinterface shading.put_BackgroundPatternColor(Word::wdColorPaleBlue); //设置单元格背景色 使用类向导自动生成的类,继承COleDispatchDriver,用户可以不操作IDispatch 接口 ---- 用户操作IDispatch的调用方式 COleDispatchDriver borders(table.get_Borders()); BSTR propName = L"OutsideColor VT_I4)); CComDispatchDriver执行函数Invoke0、Invoke1和属性PutProperty、GetProperty是分开的 COleDispatchDriver执行更接近idispatch

    62710编辑于 2023-10-10
  • 来自专栏码客

    Go调用WPS转换文档为PDF

    oleutil.CreateObject("Word.Application") defer unknown.Release() word, _ := unknown.QueryInterface(ole.IID_IDispatch oleutil.CreateObject("Excel.Application") defer unknown.Release() excel, _ := unknown.QueryInterface(ole.IID_IDispatch oleutil.CreateObject("KWPS.Application") defer unknown.Release() word, _ := unknown.QueryInterface(ole.IID_IDispatch oleutil.CreateObject("KWPP.Application") defer unknown.Release() ppt, _ := unknown.QueryInterface(ole.IID_IDispatch oleutil.CreateObject("KET.Application") defer unknown.Release() excel, _ := unknown.QueryInterface(ole.IID_IDispatch

    2.3K10编辑于 2023-04-27
  • 来自专栏全栈程序员必看

    mshtml一些用法

    获取某个tags集合 CString allPointData; IDispatch *pDisp = webbrowser.get_Document(); celem; Collection->get_length(&celem); IHTMLScriptElement用法 CString allPointData; IDispatch IHTMLElementCollection* pColl2 = NULL; pTable->get_rows(&pColl2); // 获取表格行 IDispatch pRow->get_cells(&pColl3); // 获取格子元素 IDispatch

    47530编辑于 2022-07-25
  • 来自专栏全栈程序员必看

    COleVariant 的使用

    RangePtr ptrRange = m_ptrSelection->GetRange(); LPDISPATCH lpdispatch; ptrRange->QueryInterface(IID_IDispatch ,(void**)&lpdispatch); vtRange.pdispVal = (IDispatch*)lpdispatch; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    33620编辑于 2022-09-09
  • 来自专栏Java架构师必看

    ADB Interface_QueryDefine

    //if(riid==IID_IUnknown||riid==IID_IClassFactory || riid == IID_IDispatch)//改变 { *ppv=static_cast< this); else if(riid == IID_IUnknown) *ppv = static_cast<ISimpleMath *>(this); else if(riid == IID_IDispatch

    39040编辑于 2022-06-20
  • 来自专栏流媒体人生

    Windows CE 系统进程外组件应用开发

    注意, sink dispainterface 接口被重定义,被标识为 dual 并从 IDispatch 接口派生。 dual, nonextensible, helpstring("IAlgorithm 接口"), pointer_default(unique) ] interface IAlgorithm : IDispatch 4E80-8E55-F34CC867BE83), dual, helpstring("_IAlgorithmEvents 接口") ] interface _IAlgorithmEvents : IDispatch

    1K20发布于 2018-08-02
  • 来自专栏ascii0x03的安全笔记

    IE的BHO通过IHTMLDocument2接口获得网页源代码

    i++){//注意一下,这里i=1就可以获得普遍意义的所有源代码 CComVariant svarIndex = i; CComVariant svarEmpty; CComPtr<IDispatch MessageBox(NULL, ret, L"detect_AppCache", MB_OK); } } else { MessageBox(NULL, L"获取IDispatch

    1K50发布于 2018-04-12
  • 来自专栏james大数据架构

    使用VS2010 C#开发ActiveX控件

    ////IObjectSafety 成员 2 #region IObjectSafety 成员 3 4 private const string _IID_IDispatch INTERFACESAFE_FOR_UNTRUSTED_DATA; 25 switch (strGUID) 26 { 27 case _IID_IDispatch = riid.ToString("B"); 54 switch (strGUID) 55 { 56 case _IID_IDispatch ///IObjectSafety 成员 22 #region IObjectSafety 成员 23 24 private const string _IID_IDispatch riid.ToString("B"); 74 switch (strGUID) 75 { 76 case _IID_IDispatch

    2.3K70发布于 2018-01-22
  • 来自专栏huofo's blog

    vs2019 Com组件初探-简单的COM编写以及实现跨语言调用

    定义好方法后打开 ComTest.idl   还记得我们在创建ATL简单对象时候设置的“短名称”吗 (ITemp 自动命名规则为 I+短名称)   找到这一段 interface ITemp : IDispatch image.png 在interface ITemp : IDispatch 里面写入 image.png   [in] 表示 输入 [out] 表示输出 [retval] 表示作为返回值给外界 ComTest.Temp为“ATL简单对象”设置的“ProgID”而Number为类中的函数名 image.png   保存并运行 执行成功 image.png 注意事项:   vbs调用的com必须为IDispatch 接口   vs2019 ATL 默认为 继承 IDispatch 接口   Com组件必须注册后VBS才可以调用 Github源码地址 3065190005/ComTest: ComTest Code

    3.9K40编辑于 2022-03-18
  • 来自专栏全栈程序员必看

    关于MSHTML_Html格式

    > Programming and Reusing the Browser > Overviews/Tutorials 关于MSHTML 訪问动态HTML(DHTML)对象模型的全部接口以IDispatch 集成浏览器控件时获得文档接口 当集成浏览器控件的时候,运行下列步骤获得文档接口: 调用 IWebBrowser2::get_Document 获得文档的 IDispatch 接口。 (译者注:MFC的CHtmlView的GetHtmlDocument方法,浏览器控件的Document属性或者DHtmlEdit控件的DOM属性也能够用于获取文档接口) 调用在前面步骤中获得的IDispatch IHTMLElementCollection::item方法为你提供一个能够用于调用QueryInterface,请求IID_IHTMLElement的IDispatch指针。

    1.3K30编辑于 2022-09-20
  • 来自专栏全栈程序员必看

    opencv识别多条形码数字_opencv测试代码

    pRst _CommandPtr pCmd(__uuidof(Command)); //实例化一个Command对象pCmd pCmd->put_ActiveConnection(_variant_t((IDispatch pRst _CommandPtr pCmd(__uuidof(Command)); //实例化一个Command对象pCmd pCmd->put_ActiveConnection(_variant_t((IDispatch d'where [data]='%s'", valueline, data.c_str()); Sql = csql_table3; pCmd->put_ActiveConnection(_variant_t((IDispatch _CommandPtr pCmdR(__uuidof(Command)); //实例化一个Command对象pCmd pCmdR->put_ActiveConnection(_variant_t((IDispatch

    76340编辑于 2022-11-16
  • 来自专栏偏前端工程师的驿站

    .Net魔法堂:史上最全的ActiveX开发教程——开发篇

    IObjectSafety { InitializeComponent(); } #region IObjectSafety 成员 private const string _IID_IDispatch INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA; switch (strGUID) { case _IID_IDispatch Rslt = E_FAIL; string strGUID = riid.ToString("B"); switch (strGUID) { case _IID_IDispatch

    1.5K70发布于 2018-01-18
  • 来自专栏流媒体人生

    内嵌Activex的Activex插件开发

    IAxWinHostWindow> hostwin;       m_FlashWin.QueryHost(&hostwin);       hostwin->QueryControl(__uuidof(IDispatch         hostwin.Release();       m_WmvWin.QueryHost(&hostwin);       hostwin->QueryControl(__uuidof(IDispatch

    1.8K30发布于 2018-08-02
  • 来自专栏sofu456

    com组件中的数据类型

    */ IUnknown * punkVal; /* VT_UNKNOWN */ IDispatch VT_BSTR */ IUnknown ** ppunkVal; /* VT_BYREF|VT_UNKNOWN */ IDispatch

    1.1K40编辑于 2021-12-06
  • 来自专栏方亮

    如何定制一款12306抢票浏览器——实现自动查询和预订功能

    LPVOID*)&spInnerWebBrowser); CHECKHRPOINTER(hr, spInnerWebBrowser); CComPtr<IDispatch void CBrowserHost::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName continue; } CComVariant VarIndex = lindex; CComPtr<IDispatch lindex = 0; lindex < lCount; lindex++ ) { CComVariant VarIndex = lindex; CComPtr<IDispatch

    96720发布于 2019-01-16
  • 来自专栏技术之路

    visual studio 2012 的制作ActiveX、打包和发布

    IObjectSafety { #region IObjectSafety 成员 格式固定 private const string _IID_IDispatch INTERFACESAFE_FOR_UNTRUSTED_DATA; switch (strGUID) { case _IID_IDispatch strGUID = riid.ToString("B"); switch (strGUID) { case _IID_IDispatch

    92790发布于 2018-01-31
  • 来自专栏方亮

    如何定制一款12306抢票浏览器——用户界面

    void CBrowserHost::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName IID_IWebBrowser2, (LPVOID*)&spWeb); CHECKHRPOINTER(hr, spWeb); CComPtr<IDispatch spElem, CComPtr<IHTMLElementCollection> & spElemCollection ) { HRESULT hr = S_FALSE; do { CComPtr<IDispatch if ( lCollecionCount < lIndex + 1) { break; } CComVariant VarIndex = lIndex; CComPtr<IDispatch CHECKHR(hr); for ( long i = 0; i < lCollecionCount; i++ ) { CComVariant VarIndex = i; CComPtr<IDispatch

    80930发布于 2019-01-16
  • 来自专栏全栈程序员必看

    MFC之COleVariant[通俗易懂]

    DATE date; BSTR bstrVal; IUnknown *punkVal; IDispatch *pdispVal; . date * VT_BSTR [V][T][P][S] OLE Automation string * VT_DISPATCH [V][T] [S] IDispatch

    1.6K40编辑于 2022-09-09
  • 来自专栏全栈程序员必看

    MFC中使用COleVariant获取CMFCPropertyGridProperty属性窗口某个属性值

    DATE date; BSTR bstrVal; IUnknown *punkVal; IDispatch DATE *pdate; BSTR *pbstrVal; IUnknown **ppunkVal; IDispatch

    2.7K20编辑于 2022-09-09
领券