请问如何免注册调用大漠插件

问题描述

不用引用的方法,想用LoadLibrary免注册调用大漠插件,请大神们帮忙!大漠插件com接口:dm.dmsoftdm=CreateObject("dm.dmsoft")我的代码如下:方案一:DeclareFunctionLoadLibraryLib"kernel32"Alias"LoadLibraryA"(ByVallpLibFileNameAsString)AsIntegerDeclareFunctionFreeLibraryLib"kernel32"Alias"FreeLibrary"(ByValhLibModuleAsInteger)AsIntegerDeclareFunctionGetProcAddressLib"kernel32"Alias"GetProcAddress"(ByValhModuleAsInteger,ByVallpProcNameAsString)AsIntegerDimhLibAsLong=LoadLibrary("F:dm.dll")DimapiaddressAsInteger=GetProcAddress(hLib,"InitCMPPAPI")///////////////////代码是改别人调用插件方法,InitCMPPAPI这个应该不对。/////////////////////MsgBox(apiaddress)这个显示为0找到了函数地址apiaddress,下面怎么写。方案二:大漠插件有个DmReg.dll,引导免注册调用。'PrivateDeclareFunctionSetDllPathWLib"f:DmReg.dll"(ByValpathAsString,ByValmodeAsLong)AsLongDimdm_ret=SetDllPathW("f:dm.dll",0)Dimdm=CreateObject("dm.dmsoft")dm.MoveTo(100,100)调试错误:对PInvoke函数“svchost!svchost.Form1::SetDllPathW”的调用导致堆栈不对称。原因可能是托管的PInvoke签名与非托管的目标签名不匹配。请检查PInvoke签名的调用约定和参数与非托管的目标签名是否匹配。本人菜鸟,请大神们解答时贴出代码,真诚地感谢!

解决方案

解决方案二:
我现在在学VB,觉得很难啊,怎样才能快速学会VB呢?
解决方案三:
http://bbs.csdn.net/topics/390984668不注册调用com,vb.net应该好处理,vb6的我已测试好了,还没发出来,得整理下
解决方案四:
我用C#(vs2010)实现了免注册调用(实际上是实现了自动注册,不用手动注册了),你用VB.net应该差不多。我的方法如下:1、在开始菜单vs文件夹中vstools里打开VisualStudio命令提示,运行如下命令>tlbimpD:dm.dll/out:D:dmnet.dll生成dmnet.dll2、然后在程序里引用dmnet.dll,引用后需要把dmnet.dll的属性窗口中的“嵌入互操作类型”改为false,还要把dm.dll复制到项目的debug目录下;3、然后在窗体类代码的开头添加注册语句,然后就可以直接实例化调用了,如下:publicpartialclassForm1:Form{[DllImport("dm.dll")]publicstaticexternintDllRegisterServer();//注册时用inti=DllRegisterServer();inthwnd;privatevoidbutton1_Click(objectsender,EventArgse){dmsoftClassdm=newdmsoftClass();MessageBox.Show(string.Format("版本号:{0}",dm.Ver()));hwnd=dm.FindWindow("",textBox4.Text);//hwnd=dm.GetMousePointWindow();MessageBox.Show(string.Format("窗口ID:{0}",hwnd.ToString()));}}

注意绑定窗口后要记得解绑,不解绑的话,某些绑定模式下窗口不会接受鼠标键盘的输入4、另外,据网上高手说还需要在程序退出前手动释放dm对象(不会手动释放)。本人也是菜鸟,这点我也不太清楚。放出释放代码(来自网上):System.Runtime.InteropServices.Marshal.ReleaseComObject(dm);dm=null;GC.Collect();

解决方案五:
有图有真相
解决方案六:
>tlbimpD:dm.dll/out:D:dmnet.dll生成dmnet.dll不做这步可以吗
解决方案七:
那你就手动注册大漠插件,在项目里引用com组件dm.dll

时间: 2024-09-01 12:21:19

请问如何免注册调用大漠插件的相关文章

免注册调用插件问题,请赐教!

问题描述 想免注册调用大漠插件(注册调用我会的),代码如下:PublicDeclareFunctionSetDllPathWLib"f:1DmReg.dll"Alias"SetDllPathW"(ByValpathAsString,ByValmodeAsLong)AsLongDimdm_ret=SetDllPathW("f:1dm.dll",0)////////////////////这行提示错误如下:对PInvoke函数"svchos

java如何调用大漠插件

问题描述 java如何调用大漠插件 参考别人的代码用JNA调用dm.dll,该如何注册呢 import com.sun.jna.Library; import com.sun.jna.Native; public class y { public static void main(String[] args){ test(); } public static void test(){ String path = y.class.getResource("dm.dll").getPath

请问下有谁调用过银联代付的接口

问题描述 请问下有谁调用过银联代付的接口 有前辈在吗,我可以贴代码,访问接口,返回值表示参数错误,我可以贴代码 解决方案 如果用java的话,可以参考以下链接的几个文件看看 http://www.chendw.cn/original/205.html 解决方案二: 贴出来吧哥们. 我也想知道

link中将金额的数字转换为汉字的形式请问怎么做?调用什么语句可以实现?

问题描述 link中将金额的数字转换为汉字的形式请问怎么做?调用什么语句可以实现? link中将金额的数字转换为汉字的形式请问怎么做?调用什么语句可以实现? 解决方案 http://www.cnblogs.com/jiachao721/archive/2007/07/01/802256.html

powerbuilder-Powerbuilder怎么调用BarTender插件

问题描述 Powerbuilder怎么调用BarTender插件 在Powerbuilder中怎么调用BarTender格式的文件,打印小票 解决方案 安装ocx,然后通过pb里的ole来调用

请问下面的SOAP调用有错吗?

问题描述 请问下面的SOAP调用有错吗? 服务地址例子为:http://172.16.190.102:7021/sgpms-appserver/com.sgcc.pms.appserver.dataaccessservice/services/pmsService?wsdl使用请求响应的接口名为forXBJCService,下面为具体调用的实例: SOAP-ENV:Body <![CDATA[ getAllDeptDatas100 ]]>/m:forZTJCService/SOAP-ENV:B

java编程调用eclipse插件

问题描述 java编程调用eclipse插件 用eclipse建立一个helloworld插件后,打包jar,放入Plugins目录下,重启后,怎么Java编程调用它?也就是新建一个Java项目,编程希望在控制台输出hello,eclipse world. 解决方案 放入Plugins目录下?不是放在这里,应该在你的工作各添加这个生成 的jar包 导入JAR包如下:http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html 解决方

文件夹看门狗v2.5免注册美化绿色版 下载_常用工具

[文件夹看门狗v2.5]适于安装Windows系统的计算机中◇本机硬盘◇和◇移动存储器◇中文件夹加密.操作简便,将软件拷贝到待加密文件夹中,输入密码点击"加密"按钮,就OK啦!为绿色免注册美化版! 无需原版  下载地址

js-.cs里面怎么调用easydialog插件啊

问题描述 .cs里面怎么调用easydialog插件啊 如题,怎么调用easydialog里面的方法啊最后是有asp.net的demo啊 解决方案 easydialog是客户端的代码,cs是服务器端的,服务器端无法直接调用客户端的代码,如果你的cs文件要想传递内容给easydialog,用<%%>这种服务器标准传值就行了 cs protected string content="abcdefg"; js easyDialog.open({ container : { con