其它 用VB6创建ActiveX.dll】的更多相关文章

1.打开VB6 2.选择 ActiveX DLL,点击打开 3.在窗口输入测试代码 Public Function addstr(str As String) As String addstr = " End Function 3.生成dll,点击确定 4.查看生成的dll 5.用反编译的软件 来查看生成的dll,反编译后的代码也就能看个大概吧 可读性不是太好 反编译这篇文章比较好:https://www.freebuf.com/news/195917.html 通过VB6将ASP编译封装成DL…
演示截图: 代码简介或代码解析: 如何用ATL创建ActiveX控件 实现了一个ActiveX控件,它在一个圆内部有个正多边形,当用户在多变形内部单击将会使多边形的边数在当前的基础上+1,在多变形外部单击将会使多边形的边数在当前的基础上-1,并能改变多边形的颜色.最后举了两个例子说明了如何使用这个刚刚生产得控件.一个是把该控件应用到网页中,一个则是用于一个基于对话框的程序中.详细代码请下载压缩包. (一) 创建工程 (1) 打开VC6集成开发环境,按新建按钮,选择PROJECT标签.(2) 选择…
摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发.MFC代表了创建独立的Windows应用的一种简单.一致的方法:ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码.这两种框架在它们对于开发ActiveX的用途上会合了.我们将看看这两种框架是如何适用于创建ActiveX控件的——突出其优缺点,亲自经历创建一个控件的过程——以便你能够决定何时使用一种框架,何时使用另一种. 如果你希望用C++来写ActiveX®控件,有两个流行的框架,一个是Mi…
使用VB6创建和访问Dom树 关键字:VB,DOM,HTML,爬虫,IHTMLDocument 我们知道,在VB中一般大家会用WebBrowser来获取和操作dom对象. 但是,有这样一种情形,却让我们纠结不已: 我们需要做爬虫,然后爬虫不需要太高的效率,但是我们被复杂的正则表达式给弄的头晕眼花. 不知道何去何从. 今天,下定决心研究下html的解析,终于掌握了对IHTMLDocument等接口对象的使用. 源代码放在:http://www.extencent.com 具体的文章将会放在博客园以…
目录 第1章 VB6.0调用DLL    1 1 VC++编写DLL    1 1.1 使用__stdcall    1 1.2 使用 .DEF 文件    1 2 简单数据类型    2 2.1 传值(ByVal)    2 2.2 传址(ByRef)    3 2.3 传址(VarPtr)    4 2.4 转换为Variant    4 3 String    6 3.1 BSTR内存布局    6 3.2 StrPtr.VarPtr    7 3.3 示例代码    7 3.4 转换为V…
创建类库 选择"文件"->新建->项目->Visual C# ->类库,输入名称,选择位置,单击确定 浏览解决方案资源管理器,可以看到两个C#类,第一个是AssemblyInfo.cs,第二个是Class1.cs, 双击Class1.cs,你会看到一个GameClient命名空间(注意,我使用的项目名称为GameClient,因此自动生成命名空间为GameClient,根据你设置的项目名,这里的命名空间名字会不一样),客户端程序可以通过引用这个命名空间而使用这个…
今天上午测试 vb 与 c(dll) 之间交互,传递参数的时候,没遇到什么太大的问题. 下午在asp中调用vb(activex dll)时, 在asp代码中传参数到 vb(dll)中时,遇到问题了. 上午写 vb 与 c(dll)的时候,vb 传参数到c(dll)的时候,默认就传引用, 除非在vb中显示的使用 byval. 下午写 asp 与 vb(dll)的时候,asp传参数到 vb(dll)的时候,默认传值,而我需要按引用传过去. 在 vb(dll)中,我显示的申请参数的类型: byref…
由于公司产品用了很多activex dll,而我的操作系统是64位的win7,在注册这些dll时碰到了很多问题,经过摸索,最后还是成功注册了,步骤如下: 1.在C:\Windows\SysWOW64\下新建目录egs29oa,复制所有的dll到这个目录下 2.点击开始,在“搜索程序和文件”里键入cmd,然后在搜索出来的cmd菜单上右键,以管理员的权限运行, 3.此时cmd提示符为c:\Windows\System32,键入cd \windows\syswow64,改变提示符为c:\windows…
VS2017 ATL创建ActiveX控件编程要点: 一.创建vs项目需要安装器visual studio installer中: 安装 visual studio扩展开发中的 用于x86和x64的Visual C++ ATL; 二.创建ATL项目: 三.添加控件类: 到此类的创建. 四.手动创建方法(method) 在.idl中添加文件…
项目源码 https://download.csdn.net/download/csdn_z_s/10427764 开发环境 操作系统: win7 64位 旗舰版 Java语言开发环境:  Eclipse3.7(jdk1.6u45) C/C++语言开发环境:  cn_visual_studio_2010_ultimate_x86 VB语言开发环境:  VB6.0 前言 我们的项目主要以java为编写语言, 涉及到调用本地设备的底层模块使用的C/C++语言, java和C/C++之间利用JNI技术…
搜索了很多资料,下载了Demo:http://download.csdn.net/detail/xieguoxian/2747484然后在同学电脑上测试才弄好...记录下 (一) 前期搜索资料: VB写好的DLL,在C#里面添加引用,就会有与DLL同名的namespace,vb6的类模块变成interface,但是可以new出来调用,调用就是出错,说是未注册类... 具体提示是: COM类工厂中CLSID为{......}的组件时失败,原因是出现以下错误:80040154 于是手动regsvr3…
1. 创建classlibrary 2.编写一个COM接口和一个COM类 [Guid("DBE0E8C4-1C61-41f3-B6A4-4E2F353D3D05")] public interface IManagedInterface {             int PrintHi(string name);         } [Guid("C6659361-1625-4746-931C-36014B146679")] public class Interf…
1.      从 “文件”菜单中,选择 “新建”,然后选择 “项目…”. 2.      在“项目类型”窗格中,选择“Visual C++”下的“Win32”. 3.      在“模板”窗格中,选择“Win32 控制台应用程序”. 4.      为项目选择一个名称,如 MathFuncsDll,并将其键入“名称”字段. 为解决方案选择一个名称,如 DynamicLibrary,并将其键入“解决方案名称”字段. 5.      单击“确定”启动 Win32 应用程序向导. 在“Win32 应…
实例一: 1.创建一个动态链接库工程,如login_dll. 2.在原工程头文件或者新建头文件如showdlg.h定义动态链接库的导出函数,代码如下: #include "stdafx.h"#define EXPORT __declspec(dllexport)extern "C"  EXPORT  void __stdcall  Showdialg(char* pText); 3.在动态链接库源文件中定义showdialog函数,代码如下: void _stdca…
body { font: 16px } 参考了大佬的文章 首先,体会一下静态编译: 创建Win32Project,选DLL,添加一个.h和.cpp文件 点击生成解决方案,然后去debug目录下拷贝.lib和.h文件. 新建一个控制台程序,添加一个main.cpp,效果如下: (也可以在vs工具栏里添加,不过写代码更快更易懂方便) 静态编译部分到此结束. 以下是动态编译: 创建win32动态dll项目,添加.h和.cpp文件 在同一个工作环境下添加另一个win控制台应用程序,添加main文件如下…
因为最近的项目可能会用到调用外部设备,读取信息.为了和现有的BS系统兼容,并以较小的代价满足需求,于是想到了使用ActiveX技术(也有人建议使用Silverlight),这技术虽然比较早了,但还是能够满足目前的需求的 所以在网上找了找资料看看,折腾了两天,总算有点效果了 现在记录一下大致的过程 1.创建一个类库,用于生成ActiveX组件 A.实现IObjectSafety接口 [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2…
1.第一步创建WIN32项目,选择DLL 2.第二步,创建你自己的DLL CPP文件和头文件,下面以两个简单的加减法函数为例子导出 然后编译生成即可.DLL文件在Debug或Release目录中 .def文件的添加方式…
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有关程序集的常规信息通过以下 // 特性集控制.更改这些特性值可修改 // 与程序集关联的信息. [assembly: AssemblyTitle("TestActiveX")] [assembly: AssemblyDescription("")] [ass…
不知道什么情况 在线创建模块,DLL被删除了,但是模块的相关数据无法删除.可以按照下面的方法临时用一下. 产生这个的原因,好像是Config里面的NeedInit一直都是true,没有改为false,空了再测试一下这个问题 位置:Rookey.Frame.Operate.Base\CommonOperate.cs 方法:在“查询记录”里面的第二个Count方法 具体修改:在CommonOperate类的方法Count里面加上try catch,临时可以使用一下. errMsg = string.…
静态库:函数和数据被编译进一个二进制文件,通常扩展名为.lib,在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件. 动态库:往往提供2个文件,一个是引入库和一个DLL,引入库包含被DLL导出的函数和变量的符号名,DLL包含实际的函数和数据.在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,在运行的时候,再去加载DLL,访问DLL中导出的函数. 使用DLL的好处:1.可以采用…
Delphi创建OCX控件非常的方便,但IE调用时弹出的安全认证非常麻烦,有时OCX也不需要界面,IE调用时需要隐藏,非常不方便.在DELPHI中创建OCX实现安全接口和创建事件中修改部分代码 实现安全接口 继承:IObjectSafety 重载方法: function GetInterfaceSafetyOptions(const IID: TIID; pdwSupportedOptions, //安全接口 pdwEnabledOptions: PDWORD): HResult; stdcal…
' 功能:为VB程序创建一个consolewindow.Private Declare Function AllocConsole Lib "kernel32" () As Long '功能:销毁为VB程序创建的consolewindow.Private Declare Function FreeConsole Lib "kernel32" () As Long ' DOS程序有三个标准文件:标准输入文件(stdin),标准输出文件(stdout),标准错误文件(s…
bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) {  CLSID clsid;  wstring strClsid = _T("{126983A5-3415-4A3F-B2C6-D18DDF6E43B9}"); // 控件id号 CCOMHelper  COMHelper;  COMHelper.clsid_from_string(&clsid, strClsid.c_s…
动态库,多字节 win32 空项目 添加导出头文件  类 导入: #pragma once #ifndef IP_CLASS_DLL_H #define IP_CLASS_DLL_H #pragma warning (disable:4251) #pragma warning (disable:4267) #ifdef IPCLASSDLL_DLL #define IPCLASSDLL_DLL __declspec(dllexport) #else #define IPCLASSDLL_DLL…
最近很多朋友向我提出Office的开发方式方面的疑惑,主要是针对特定的系统和Office版本不知道选择哪一种编程语言.创建哪一种类型的项目. 事实确实如此,如果搞不清楚语言的特性和项目类型的特点,很可能走很多弯路.也可能导致开发完的产品不能部署在客户电脑上. 无论从哪一个角度讲,Office开发都是一个相当庞大.复杂的话题. 下面是我整理出的一个按照开发项目分类的表格(*凡是写有VB.NET的地方,表示C#语言也可以做到). 话题1:32位和64位的问题 Windows系统分为32位和64位.…
最近做一个网站,需要频繁使用远程数据,数据接口已经做好.在做转换的时候遇到了性能上的问题:开始打算用php来实现转换,苦苦查了数天,都没有找到直接操作字节的方法.虽然可以使用 pack() 方法将各个数据压入结构中,但是在解压的时候却不能通过 unpack() 简单的解出来,需要通过 //php code for( $i = 0; $i < $length; $i+=2 ){     $tempstr = $tempstr.chr( hexdec(substr($array["data&q…
最近需要调用MSCOMM32.OCX控件,但是ABAP调用过程中发现无法同时发送多条记录,则需调整实现方式: a.创建DLL文件封装MSCOMM控件相关属性及方法 b.系统注册DLL文件 c.ABAP调用DLL文件相关属性及方法 这一部分内容主要是将VB类模块的创建过程记录下: 1.打开VB,创建ActiveX DLL文件 2.修改工程名为MSCommPrj 3.修改类模块名称为msCommCls 4.引用MSCOMM32.OCX组件 菜单:工程->引用->浏览 查找MSCOMM32.OCX文…
  如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题,网上求解这类问题的帖子非常多,下面我们就来谈谈ASP程序的加密方法. 一.如何加密ASP程序? 目前对ASP程序的加密方法主要有三种:脚本编码器(SRCENC.EXE)加密.组件加密.自编程序加密,下面我们就来展开介绍这三种加密方法. 1.使用微软的MS Script Encode进行加密 微…
ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能队列运行,必须嵌入到某个容器程序中,与该容器一起运行.这个容器包括web网页,应用程序窗体等等. ActiveX控件的后缀名是ocx或者dll.一般是以ocx和动态共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或者exe解压成ocx和动态库共存的文件,然后注册ocx文件. activeX控件是基于com标准,使得软件部件在网络环境中进行交换的技术集.它与具体的编程语言无关.作为针…
1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行.这个容器包括WEB网页,应用程序窗体等... ActiveX控件的后缀名是OCX或者DLL.一般是以OCX和动态库共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或exe解压成OCX和动态库共存的文件,然后注册ocx文件. ActiveX控件是基于com标准,使得软件部件在网络环境中进行交互的技术集.它与具体的编程语言无关.…