当前位置: 首页 > news >正文

全媒体广告加盟怀化网站优化

全媒体广告加盟,怀化网站优化,北京做网站多少钱,网站做优化效果怎样ocx添加方法 类视图 最后面的XXXXXlib 右键 添加 添加方法。 其它默认 添加事件 类视图 最后面的XXXXX 右键 添加 添加事件。 这样编译就ocx可以了。 #include iostream #include string #include comutil.hCMFCActiveXControlSmartPosCtrl* …ocx添加方法 类视图 最后面的XXXXXlib 右键 添加 添加方法。 其它默认 添加事件 类视图 最后面的XXXXX 右键 添加 添加事件。 这样编译就ocx可以了。 #include iostream #include string #include comutil.hCMFCActiveXControlSmartPosCtrl* pWnd;BSTR ConvertUnicodeCharToBSTR(const char* input) {// 计算字符串的长度不包括终止空字符int inputLength strlen(input);// 计算需要的宽字符数目int wideCharCount MultiByteToWideChar(CP_UTF8, 0, input, -1, NULL, 0);// 使用SysAllocStringLen分配一个BSTRBSTR bstr SysAllocStringLen(NULL, wideCharCount);// 将char*的Unicode内容复制到BSTR中MultiByteToWideChar(CP_UTF8, 0, input, -1, bstr, wideCharCount);return bstr; } // CMFCActiveXControlSmartPosCtrl 消息处理程序BSTR CMFCActiveXControlSmartPosCtrl::OCX_GetDllVersion() {//AFX_MANAGE_STATE(AfxGetStaticModuleState());PrintLog(OCX_GetDllVersion);char version[10] { 0 };GetDllVersion(version);PrintLog(GetDllVersion %s, version);return ConvertUnicodeCharToBSTR(version); } BSTR CMFCActiveXControlSmartPosCtrl::CommPosProcess(BSTR b) {AFX_MANAGE_STATE(AfxGetStaticModuleState());CString result _T(Hello! OCX OK);return result.AllocSysString(); } void Callback(int code, const char* info) {// 处理回调函数的逻辑// 这里可以添加具体的回调处理代码//do something PrintLog(Callback code: %d, info: %s, code, info);pWnd-OCX_Callback(code, ConvertUnicodeCharToBSTR(info));//回调html } HRESULT CMFCActiveXControlSmartPosCtrl::OCX_Purchase(long amount, BSTR orderNo) {AFX_MANAGE_STATE(AfxGetStaticModuleState());PrintLog(OCX_Purchase);// 将BSTR转换为char*_bstr_t bstr(orderNo);const char* orderNoStr static_castconst char*(bstr);// 调用DLL接口Purchase(amount, orderNoStr, Callback);//回调PrintLog(OCX_Purchase OK);return S_OK; }LONG CMFCActiveXControlSmartPosCtrl::OCX_DisConnectDevice() {AFX_MANAGE_STATE(AfxGetStaticModuleState());// TODO: 在此处添加分派处理程序代码PrintLog(OCX_DisConnectDevice);return DisConnectDevice(); }LONG CMFCActiveXControlSmartPosCtrl::OCX_ListDevice(BSTR deviceNameList, VARIANT deviceNameLen) {AFX_MANAGE_STATE(AfxGetStaticModuleState());// 将BSTR转换为char*_bstr_t bstr(deviceNameList);char* deviceNameListStr static_castchar*(bstr);// 调用DLL接口ListDevice(deviceNameListStr, deviceNameLen.intVal);PrintLog(OCX_ListDevice OK);return 0; }HRESULT CMFCActiveXControlSmartPosCtrl::OCX_ConnectDevice(BSTR deviceName) {AFX_MANAGE_STATE(AfxGetStaticModuleState());// TODO: 在此处添加分派处理程序代码// 将BSTR转换为char*_bstr_t bstr(deviceName);char* deviceNameStr static_castchar*(bstr);// 调用DLL接口ConnectDevice(deviceNameStr, Callback);PrintLog(OCX_ConnectDevice OK);return S_OK; }HTML编写与调试 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml head meta http-equivContent-Type contenttext/html; charsetutf-8 / !-- gb2312 -- titleTest/title body !--clsid : 如果控件成功注册到本机后这个值在本机注册表中可以找到js获取控件对象就是通过这个来找的。 script typetext/javascript var _app navigator.appName; if (_app Netscape) {document.write(OBJECT nameocxobject IDocxobject WIDTH0 HEIGHT0,TYPEapplication/x-itst-activex,clsid{D90F26D2-1FBC-4BC6-9722-393D338E6A68}, /OBJECT);} else if (_app Microsoft Internet Explorer) {document.write(OBJECT nameocxobject IDocxobject WIDTH0 HEIGHT0,CLASSIDCLSID:D90F26D2-1FBC-4BC6-9722-393D338E6A68, /OBJECT); } else {document.write(pSorry, unsupported browser./p); } /script-- pinput typebutton value清空 onclickclearBtn() / input typebutton valueBankTrans onclickBankTrans() / /pptextarea idS1 rows3 cols120 /textarea/pptextarea idS2 rows3 cols120 /textarea/pptextarea idS3 rows3 cols120 /textarea/pobject idmyOCX classidclsid:D90F26D2-1FBC-4BC6-9722-393D338E6A68 /object script LANGUAGEjavascript FORmyOCX EVENTOCX_Callback(code,info)//alert(codeinfo); //回调响应document.getElementById(S3).valueCode: code Info: info; /script script typetext/javascript languagejavascript function BankTrans() {//测试ocxvar ocx document.getElementById(myOCX);try {var result ocx.CommPosProcess(123);document.getElementById(S1).value result;} catch (error) {document.getElementById(S1).value error;}//测试ocx调用dlltry {var result ocx.OCX_GetDllVersion();document.getElementById(S2).value result;} catch (error) {document.getElementById(S2).value error;}//测试回调 try {var result ocx.OCX_Purchase(1,123456);//document.getElementById(S3).value result;} catch (error) {document.getElementById(S3).value error;} } /script/body /html 已经都成功了。方法html调用ocx方法)事件(ocx触发回调html方法) 。 中间要注意的一些问题。 ocx只支持IE。windows11要edge要切换到ie模式。 如果dll找不到调试的时候发现的具体看ocx的日志比如Loadlibrary时报126就是没找到dll,报193是dll是平台不一致 比如win32。win11 dll的路径最好写能绝对路径。 注册dll时就报缺少dll模块时这可能是dll用lib加载的不是动态Loadlibrary加载的。把相关的dll放在当前目录并复制到system32下。最好用个windows demo先试下ok后再用ocx来调用。 报 Internet Explorer 已经为了帮助保护你的计算机而关闭此网页 也是没找到dll. 注册输出 选否。用手工注册即可。 ::注册32位ocx 请用管理员运行 cd /d %~dp0regsvr32 MFCActiveXControl1.ocx::pause::::注册64位ocx 请用管理员运行 注册一个 64 位的 OCX 文件ActiveX 控件需要使用 regsvr32 的 64 位版本 regsvr32.exe 来进行注册。 ::cd C:\Windows\System32 :: ::SET ocxPath%~dp0MFCActiveXControl1.ocx ::regsvr32.exe /u %ocxPath% 所有与c类型相对应的ocx类型 OCXActiveX 控件通常在 Windows 平台上使用 COMComponent Object Model来定义接口和类型。以下是一些常见的 C 类型与它们在 COM/OCX 中的等效类型 int / long: 在 COM 中等效的类型是 long. float: 在 COM 中等效的类型是 float. double: 在 COM 中等效的类型是 double. char / unsigned char: 在 COM 中等效的类型是 BSTR宽字符字符串。 const char* / char*: 在 COM 中等效的类型是 BSTR宽字符字符串或者可以使用 VARIANT 结构的 VT_BSTR 类型。 bool: 在 COM 中等效的类型是 VARIANT_BOOL其中 VARIANT_TRUE 表示 trueVARIANT_FALSE 表示 false。 wchar_t / LPCWSTR: 在 COM 中等效的类型是 BSTR宽字符字符串。 const wchar_t* / wchar_t*: 在 COM 中等效的类型是 BSTR宽字符字符串。 char[]: 在 COM 中等效的类型是 BSTR宽字符字符串。 std::string: 在 COM 中等效的类型是 BSTR宽字符字符串或者可以使用 VARIANT 结构的 VT_BSTR 类型。 std::wstring: 在 COM 中等效的类型是 BSTR宽字符字符串。 指针类型: 指针类型在 COM 中可能对应到 IDispatch*用于接口、IUnknown*用于接口等接口指针。 自定义结构体和类: 在 COM 中通常需要为自定义数据结构创建 COM 接口并使用接口中的属性和方法来传递数据。 需要注意的是COM 是一种基于二进制标准的技术因此涉及数据类型的互操作性时数据通常需要进行序列化和反序列化。上述类型的映射通常是针对参数传递和交互的一般规则具体规则可能因 COM 接口定义和编程语言而异。
http://www.dnsts.com.cn/news/80962.html

相关文章:

  • 做一家购物网站要多少钱wordpress 在线商店
  • 北京市网站备案查询网络交易平台
  • 百度网站建设制作公司网站建设的基本流程包括哪些
  • 广东东莞出行最新政策网站建好了seo怎么做
  • 维持一个素材网站要多少钱自己架设服务器建网站
  • 济源建设工程管理处网站网站付费推广有哪些
  • 做网站dw免费好用wordpress主题
  • 观山湖区网站建设机关作风建设网站
  • 做推广送网站免费建站山西餐饮加盟网站建设
  • 嘉兴网站制作费用固安县建设局网站
  • 中国建设协会官方网站建筑工程网官网入口
  • 江门网站制作培训公司企业邮箱大全
  • php开发网站流程搞笑网站源码
  • 青岛哪里可以建网站网站内容的创新
  • 网站特效漂亮的网站中美最新军事新闻最新消息
  • 做神秘顾客哪个网站好怀化seo网站
  • 大型网站建设兴田德润优惠1688网站特点
  • 东莞家具行业营销型网站建设多少钱2017设计工作室做网站
  • 做网站的人怎么联系巢湖网站制作
  • 北京个人网站开发制作菠菜网站模板
  • 做电商网站的参考书建e网室内设计网官网vr全景
  • 最新的高端网站建设东莞网站建设 包装材料
  • 广州市财贸建设开发监理网站wordpress+企业站模版
  • 医院做网站的费用多少如何做淘宝二手网站
  • 公司网站开发流程图wordpress的文件说明
  • 好的网站2020中文域名 网站
  • 电子商务网站建设与管理教案南昌网站做
  • 杭州高端企业网站建设作一手房用什么做网站
  • 安丘网站建设中国企业集成网网址电子商务
  • 国内知名网站建设网站分类页标题加长