信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 3847|回复: 67
打印 上一主题 下一主题

[『VB.NET 图文教程』] VB.NET动态连接库使用四点总结和实例教程

  [复制链接]

646

主题

730

帖子

4720

积分

积分
4720
跳转到指定楼层
宣传软件楼主
发表于 2017-3-11 16:26:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:VB.NET 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件中级教程 

软件教程发布日期:2017-03-11

软件教程关键字:VB.NET

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

 VB.NET动态连接库还是比较常用的,于是我研究了一下,在这里拿出来和大家分享一下,希望对大家有用。Windows动态连接库是包含数据和函数的模块,可以被其它可执行文件(EXE、DLL、OCX 等)调用。动态连接库包含两种函数:输出(exported)函数和内部(internal)函数。输出函数可以被其它模块调用,而内部函数则只能在动态连接库内部使用。

  尽管VB.NET动态连接库也能输出 数据,但实际上它的数据通常是只在内部使用的。使用动态连接库的优点是显而易见的。将应用程序的一部分功能提取出来做成动态连接库,不但减小了主应用程序的大小,提高了程序 运行效率,还使它更加易于升级。多个应用程序共享一个动态连接库还能有效地节省系统资源。正因为如此,在Windows系统中,动态连接库得到了大量的使用。

  一般来说,动态连接库都是以DLL为扩展名的文件,如Kernel32.dll、commdlg.dll等。但也有例外,如16位Windows的核心部件之一GDI.exe其实也是一个动态库。编写动态连接库的工具很多,如VisualC++、BorlandC++、Delphi等,具体方法可以参见相关文档。下面只以Visual C++6.0为例,介绍一下开发应用于VisualBasic6.0的动态连接库时应注意的问题(本文中所有涉及C/C++语言或编译环境的地方,都以VC为例;所有涉及Visual Basic的地方都以VB 为例)。

  作为一种32位Windows应用程序的开发工具,VB生成的exe文件自然也都是32位的,通常情况下也只能调用32位的动态连接库。但是,并不是所有的32位动态库都能被VB生成的exe 文件正确地识别。一般来说,自己编写用于VB.NET动态连接库时,应注意以下几个方面的

  问题:

  1、生成动态库时要使用__stdcall调用约定,而不能使用缺省的__cdecl调用约定;__stdcall 约定通常用于32位API函数的调用。

  2、在VC中的定义文件(.def)中,必须列出输出函数的函数名,以强制VC系统将输出函数的装饰名(decoratedname)改成普通函数名;所谓装饰名是VC的编译器在编译过程中生成的输出函数名,它包含了用户定义的函数名、函数参数及函数所在的类等多方面的信息。由于在VC中定义文件不是必需的,因此工程不包含定义文件时VC就按自己的约定将用户定义的输出函数名修改成装饰名后放到输出函数列表中,这样的输出函数在VB生成的应用程序中是不能正确调用的(除非声明时使用Alias子句)。因此需要增加一个.def文件,其中列出用户需要的函数名,以强制VC不按装饰名进行输出。

  3、VC中的编译选项"结构成员对齐方式(structure member alignment)" 应设成4字节,其原因将在后文详细介绍。

  4、由于在C中整型变量是4个字节,而VB中的整型变量依然只有2个字节,因此在C中声 明的整型(int)变量在VB中调用时要声明为长整型(long),而C中的短整型(short)在VB中则 要声明成整型(integer);下表针对最常用的C语言数据类型列出了与之等价的Visual Basic 类型(用于32位版本的Windows)。



unto中国装修论坛发布软件自动发帖宣传软件脚本next开发者社区自动发布软件宣传软件发帖脚本
回复

使用道具 举报

1

主题

661

帖子

641

积分

积分
641
信息发布软件沙发
发表于 2017-3-11 16:26:55 | 只看该作者
意,做了好几个店铺了,服务真心的不错,客服真的很热情,装修以后就是你家了!

回复 支持 反对

使用道具 举报

646

主题

730

帖子

4720

积分

积分
4720
推广工具板凳
 楼主| 发表于 2017-3-11 16:32:15 | 只看该作者
实例二

作为一种简单易用的Windows开发环境,Visual Basic从一推出就受到了广大编程人员的欢迎。它使程序员不必再直接面对纷繁复杂的Windows消息,而可以将精力主要集中在程序功能的实现上,大大提高了编程效率。但凡事有利必有弊。VB中高度的封装和模块化减轻了编程者的负担,同时也使开发人员失去了许多访问低层API函数和直接与Windows 交互的机会。因此,相比而言,VB应用程序的执行效率和功能比C/C++或Delphi生成的程序要差。为了解决这个问题,在一个大型的VB开发应用中,直接调用Windows API函数几乎是不可避免的;同时,还有可能需要程序员自己用C/C++等开发一些动态连接库,用于在VB调用动态连接库。本文主要讨论在32位开发环 境Visual Basic 5.0中直接调用Windows 95 API函数或用户生成的32位动态连接库的方法与规则。

Windows动态连接库是包含数据和函数的模块,可以被其它可执行文件(EXE、DLL、 OCX 等)调用。动态连接库包含两种函数:输出(exported)函数和内部(internal)函数。输出函数可以被其它模块调用,而内部函数则只能在动态连接库内部使用。尽管动态连接库也能输出 数据,但实际上它的数据通常是只在内部使用的。使用动态连接库的优点是显而易见的。将应用程序的一部分功能提取出来做成动态连接库,不但减小了主应用程序的大小,提高了程序运行效率,还使它更加易于升级。多个应用程序共享一个动态连接库还能有效地节省系统资源。正因为如此,在Windows系统中,动态连接库得到了大量的使用。

一般来说,动态连接库都是以DLL为扩展名的文件,如Kernel32.dll、 commdlg.dll等。但也有例外,如16位Windows的核心部件之一GDI.exe其实也是一个动态库。编写动态连接库的工具很多,如 VisualC++、BorlandC++、Delphi等,具体方法可以参见相关文档。下面只以Visual C++5.0为例,介绍一下开发应用于VisualBasic5.0的动态连接库时应注意的问题(本文中所有涉及C/C++语言或编译环境的地方,都以 VC5为例;所有涉及VisualBasic的地方都以VB5 为例)。

作为一种32位Windows应用程序的开发工具,VB5生成的exe文件自然也都是32位的,通常情况下也只能调用32位的动态连接库。但是,并不是所有的32位动态库都能被VB生成的exe 文件正确地识别。一般来说,自己编写用于VB调用动态连接库时,应注意以下几个方面的问题:

1、生成动态库时要使用__stdcall调用约定,而不能使用缺省的__cdecl调用约定;__stdcall 约定通常用于32位API函数的调用。

2、在VC5中的定义文件(.def)中,必须列出输出函数的函数名,以强制VC5系统将输出函数的装饰名(decoratedname)改成普通函数名;所谓装饰名是VC的编译器在编译过程中生成的输出函数名,它包含了用户定义的函数名、函数参数及函数所在的类等多方面的信息。由于在VC5中定义文件不是必需的,因此工程不包含定义文件时VC5就按自己的约定将用户定义的输出函数名修改成装饰名后放到输出函数列表中,这样的输出函数在VB生成的应用程序中是不能正确调用的(除非声明时使用Alias子句)。因此需要增加一个.def文件,其中列出用户需要的函数名,以强制VC5不按装饰名进行输出。

3、VC5中的编译选项"结构成员对齐方式(structure member alignment)" 应设成4字节,其原因将在后文详细介绍。

4、由于在C中整型变量是4个字节,而VB中的整型变量依然只有2个字节,因此在C中声明的整型(int)变量在VB中调用时要声明为长整型(long),而C中的短整型(short)在VB中则要声明成整型(integer);下表针对最常用的C语言数据类型列出了与之等价的Visual Basic 类型(用于32位版本的Windows)。

C语言数据类型在Visual Basic中声明为调用时使用的表达式
◆ATOM ByVal variable As Integer 结果为Integer 类型的表达式
◆BOOL ByVal variable As Long 结果为 Long 类型的表达式
◆BYTE ByVal variable As Byte 结果为 Byte 类型的表达式
◆CHAR ByVal variable As Byte 结果为 Byte 类型的表达式
◆COLORREF ByVal variable As Long 结果为 Long 类型的表达式
◆DWORD ByVal variable As Long 结果为 Long 类型的表达式
◆HWND, HDC, HMENU ByVal variable As Long 结果为 Long 类型的表达式等Windows 句柄
◆INT, UINT ByVal variable As Long 结果为 Long 类型的表达式
◆LONG ByVal variable As Long 结果为 Long 类型的表达式
◆LPARAM ByVal variable As Long 结果为 Long 类型的表达式
◆LPDWORD variable As Long 结果为 Long 类型的表达式
◆LPINT, LPUINT variable As Long 结果为 Long 类型的表达式
◆LPRECT variable As type 自定义类型的任意变量
◆LPSTR, LPCSTR ByVal variable As String 结果为 String 类型的表达式
◆LPVOID variable As Any 任何变量(在传递字符串的时候使用ByVal)
◆LPWORD variable As Integer 结果为Integer 类型的表达式
◆LRESULT ByVal variable As Long 结果为 Long 类型的表达式
◆NULL As Any 或 ByVal Nothing 或
◆ByVal variable As Long ByVal 0& 或 VBNullString
◆SHORT ByVal variable As Integer 结果为Integer 类型的表达式
◆VOID Sub procedure 不可用
◆WORD ByVal variable As Integer 结果为Integer 类型的表达式
◆WPARAM ByVal variable As Long 结果为 Long 类型的表达式

5、VB中进行32位动态库的声明时,函数名是大小写敏感的。在获得了需要的动态连接库之后,就可以在VB调用动态连接库了。但是,由于VB不能验证应用程序传递到动态连接库中的参数值是否正确,因此VB程序中大量的API调用可能会降低整个应用程序的稳定性,也会增加以后维护的难度。所以,决定在VB程序中直接调用API函数时要慎重,但适当的使用API调用确实能够有效地提高VB程序的性能。这之间的平衡需要编程人员根据实际情况来掌握。下面就具体介绍一下在VB中调用API函数时需要做的工作。



回复 支持 反对

使用道具 举报

646

主题

730

帖子

4720

积分

积分
4720
软件定制开发地板
 楼主| 发表于 2017-3-11 16:33:44 | 只看该作者
  1. 实例二

  2. 大家知道吗?VB一般可以生成两种特殊的DLL,一个是ActiveX DLL和ActiveX Control(*.ocx)。这两种DLL都是VB支持的标准类型。这里主要就怎样编写VB.NET .DLL动态链接库文件分析讲解。

  3.   NewViewStudio的意见:
  4.   创建VB.NET .DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。 VB 编译文件实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接。如果在LINK的时候添加EXPORT 选项,实际上是可以输出函数的。但是,在VB的工程选项中将这些屏蔽了。而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过 Link来创建我们需要的DLL了。不过我找到一个比较龌鹾的变通的方法,就是先创建一个Exe工程,在Form_Load事件里面写下面的语句:

  5.   复制内容到剪贴板 VB.NET .DLL程序代码


  6.   
  7.   Sub Main  If MsgBox("哈哈", vbOKCancel) = vbOK Then Shell "link2.exe " & Command$ End If   
  8.   End Sub
  9.   然后编译为LinkTemp.EXE,接下来将LINK.EXE改名为Link2.exe,将LinkTemp.EXE改名为Link.EXE。这样在VB调用Link.EXE时会弹出对话框,处理就会中断。这时就可以有机会将OBJ文件拷贝出来了。  然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Module并创建一个Public函数mathadd:

  10.   复制内容到剪贴板 程序代码


  11.   
  12.   Public Function mathadd(ByVal a As Long, ByVal b As Long) As Long mathadd = a + b   
  13.   End Function   
  14.   编译这个工程,在Link的时候就会中断。然后把创建的Class1.obj、Module1.obj、Project1.obj备份出来。 然后就可以调用Link2.exe连接OBJ到DLL了,我的连接代码是:


  15.   
  16.   Link2.exe "e:\vbdll\Class1.obj" "e:\vbdll\Module1.obj" "e:\vbdll\Project1.obj"
  17.   "E:\Program Files\Microsoft Visual Studio\VB98\VBAEXE6.LIB" /ENTRY:__vbaS/EXPORT:mathadd/OUT:
  18.   "e:\vbdll\ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERS   
  19.   注意里面的/ENTRY和/EXPORT开关,/EXPORT开关声明了输出函数mathadd。这样就大功告成了,可以被其他语言引入,例如在VB中,只需要:
复制代码


回复 支持 反对

使用道具 举报

0

主题

1093

帖子

1105

积分

积分
1105
5#定制软件#
发表于 2017-3-11 20:47:07 | 只看该作者
家,很有信誉,好评

回复 支持 反对

使用道具 举报

0

主题

653

帖子

594

积分

积分
594
6#定制软件#
发表于 2017-3-13 19:54:43 | 只看该作者
。服务不错

回复 支持 反对

使用道具 举报

20

主题

2263

帖子

4131

积分

积分
4131
7#定制软件#
发表于 2017-3-13 20:19:09 | 只看该作者
很好,服务很好,耐心细致,下次还会来的

回复 支持 反对

使用道具 举报

0

主题

589

帖子

582

积分

积分
582
8#定制软件#
发表于 2017-3-13 21:11:32 | 只看该作者
力.服务很到位!

回复 支持 反对

使用道具 举报

0

主题

602

帖子

594

积分

积分
594
9#定制软件#
发表于 2017-3-14 11:52:56 | 只看该作者
根本不按我的意思来修改了一遍又一遍

回复 支持 反对

使用道具 举报

0

主题

1012

帖子

1018

积分

积分
1018
10#定制软件#
发表于 2017-3-15 08:36:54 | 只看该作者
谢卖家,以后朋友需要会介绍来亲店里的!赞!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
信息发布软件🔨UI-复选框类[CheckBox]方法小结
🔨UI-复选框类[CheckBox]方法小结📌setText 设置复选框标题📌getText 获取复选框标题📌setID设置控件ID📌setDefultSelect 设置默认值📌select选中复选框📌deselect取消选中复选框📌isSelect获取选中状态📌setColor设置复选框颜色 📌setWidth 设置控件宽度📌setHeight 设置控件高度📌onClick 按钮点击事件示例完整例子:
信息发布软件AIWROK软件IOS系统里的UI-标签类[Label]方法小结
AIWROK软件IOS系统里的UI-标签类[Label]方法小结 📌setText设置标签文本📌setTextColor 设置文本颜色📌setBackgroundColor设置背景颜色📌setFontSize设置字体大小📌setWidth 设置标签宽度📌setHeight设置标签高度📌setTextAlignment设置文本对齐方式完整示例方法例子:
信息发布软件AIWROK软件IOS苹果Ul-垂直容器[Vertical]方法小结
AIWROK软件IOS苹果Ul-垂直容器[Vertical]方法小结//方法小结,交流QQ群711841924//第一个方法:addView添加子控件var label = new Label();label.setText("Hello World");//第二个方法:removeView移除视图var v = new Vertical();v.removeView(0); // 移除第一个子控件//第三个方法:clearAllViews清空所有视图var v = new Vertical();v.clearAllViews(); // 清空所有控件//第四个方法:getViewCount 获取视图数量var v = new Ver
信息发布软件🔨AIWROK软件苹果系统UI-按钮[ Button]方法小结
🔨AIWROK软件苹果系统UI-按钮[ Button]方法小结//UI-按钮[ Button]方法小结,交流QQ群711841924// 方法一:setText 设置按钮标题var btn = new Button();btn.setText("点击我");// 方法二:getText 获取按钮标题var btn = new Button();string title = btn.getText();// 方法三:setColor设置按钮颜色var btn = new Button();btn.setColor(50, 100, 150); // 设置按钮颜色为RGB(50, 100, 150)// 方法四:setTextColor 设置
信息发布软件txt文件读写[txt]方法和UI-TAB界面视图[TabView]小结
txt文件读写[txt]方法和UI-TAB界面视图[TabView]小结//UI-TAB界面视图[TabView]方法小结,交流QQ群711841924 // 方法一:show显示界面 //申请一个UI var tab = new TabView(); tab.setTitels(['首页','关于']) vc.show(() => { //页面加载完后执行以下代码 printl("hello IOS") //创建一个水平容器 var h = new Horizontal() //创建一个按钮 var btn = new Butt
信息发布软件TomatoOCR文字识别[tomatoOCR]方法小结[OCR]
TomatoOCR文字识别[tomatoOCR]方法小结[OCR]
信息发布软件苹果系统OCR文字识别和OkHttp 网络请求管理
苹果系统OCR文字识别和OkHttp 网络请求管理
信息发布软件iosApp管理小结和苹果Ocr识别结果小结
iosApp管理小结和苹果Ocr识别结果小结
信息发布软件苹果IOS系统专用AIWROK软件HID键鼠模块小结
苹果IOS系统专用AIWROK软件HID键鼠模块小结
信息发布软件AIWROK软件IOS贝塞尔曲线
AIWROK软件IOS贝塞尔曲线 hid.moveToRealPoint(333, 1146);:这行代码指示设备(可能是模拟器或自动化测试工具)的hid(Human Interface Device)模块将操作点移动到屏幕上的坐标点(333, 1146)。这个点被定义为曲线的起点。sleep.second(1);:在移动到起点后,程序会暂停1秒钟。这是为了让设备有足够的时间到达起点位置,确保后续操作的准确性。接下来的几行代码定义了贝塞尔曲线的参数:startX 和 startY 定义了曲线的起点。en
信息发布软件AIWROK软件调用多任务随机倒计时函数
AIWROK软件调用多任务随机倒计时函数 代码逐行解释function 多任务随机倒计时(minSeconds, maxSeconds, 任务列表) {定义一个名为 多任务随机倒计时 的函数,该函数接受三个参数:minSeconds:倒计时的最小秒数。maxSeconds:倒计时的最大秒数。任务列表:一个包含多个任务对象的数组,每个任务对象都有一个任务名称和一个任务函数。 var randomInterval = Math.floor(Math.random() * (maxSeconds - minSeconds + 1) + mi
信息发布软件AIWROK软件对接豆包实例分享
AIWROK软件对接豆包实例分享 解释总结:创建一个新的 okHttp 对象实例:var http = new okHttp();创建了一个新的 okHttp 对象实例,并将其赋值给变量 http。okHttp 是一个用于发送 HTTP 请求的库。设置 HTTP 请求头:var aa = uiText.findByID("gd").getText();通过 uiText.findByID 方法找到 ID 为 “gd” 的控件,并获取其文本内容,赋值给变量 aa。uiText.findByID 是一个用于在用户界面上查找特定 ID 的控件的方法,getText
信息发布软件屏幕操作自动化随机点击与滑动函数示例
x和y是百分比形式的屏幕坐标,用于指定点击的大致位置。x范围和y范围定义了在指定坐标点附近点击的随机范围。function 随机位置点击(x, y, x范围, y范围) {定义了一个名为随机位置点击的函数,该函数接受四个参数:x、y、x范围、y范围。 // 将百分比坐标转成真实坐标 var x1 = screen.percentToWidth(x); var y1 = screen.percentToHeight(y);这里将百分比形式的x和y坐标转换为实际屏幕上的像素坐标。screen.percentT
信息发布软件aiwrok软件如何获取getRealPointRGB 获取真实坐标RGB?
getRealPointRGB 获取真实坐标RGB,为什么叫真实坐标 RGB?// 截屏 var img = screen.screenShotFull(); // 定义目标 RGB 值(假设目标图标的 RGB 值为 [255, 0, 0]) var targetRgb = [255, 0, 0]; // 遍历屏幕某区域(例如 [100, 100] 到 [300, 300]),查找目标 RGB 值 var startX = 100; var startY = 100; var endX = 300; var endY = 300; for (var x = startX; x <= endX; x++) { for (var y = start
信息发布软件AIWROK软件京东广告后台意图跳转方法
// 导入包 importClass(Packages.android.content.Intent); importClass(Packages.android.net.Uri); importClass(Packages.android.content.ActivityNotFoundException); importClass(Packages.android.widget.Toast); importClass(Packages.android.os.Handler); importClass(Packages.android.os.Looper); // 设置京东用户页面的URL var userId = "京东用户ID"; // 请替换为实际用户ID var url = "openapp.jdmobile:
信息发布软件AIWROK软件意图跳转支付宝的用户ID打开支付宝用户页面
AIWROK软件意图跳转支付宝的用户ID打开支付宝用户页面importClass(Packages.android.content.Intent); importClass(Packages.android.net.Uri); importClass(Packages.android.content.ActivityNotFoundException); importClass(Packages.android.widget.Toast); importClass(Packages.android.os.Handler); importClass(Packages.android.os.Looper); // 设置支付宝用户页面的URL var userId = "支付宝用户ID"; // 请替
信息发布软件AIWROK软件的对像怎么打印出来呢?
AIWROK软件的对像怎么打印出来呢?对像怎么打印出来呢?// 官方QQ群 711841924 var 手机 = { 手机品牌: "小米", 手机型号: "小米15", 手机颜色: "黑色", 手机产地: "广东" }; // 获取当前时间 var currentTime = new Date().toLocaleTimeString('zh-CN', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit' }); // 自定义打印格式 printl("[" + currentTime + "] #10 【Nativ
信息发布软件AIWROK软件QQ特殊意图跳转
AIWROK软件QQ特殊意图跳转 这段代码的功能是尝试通过安卓设备上的QQ应用展示指定QQ用户的个人资料卡片。如果设备上没有安装QQ应用,则会提示用户并转而通过浏览器打开该用户的QQ空间网页。以下是代码的逐行说明: // 导入包:这只是对接下来几行导入安卓类库的一个注释说明。importClass(Packages.android.content.Intent);:导入安卓Intent类,用于在不同组件之间进行交互,比如从一个应用跳转到另一个应用。importClass(Pack
信息发布软件微信广告意图跳转
微信广告意图跳转// AWIROK软件官方群号711841924// 导入包importClass(Packages.android.content.Intent);importClass(Packages.android.net.Uri);importClass(Packages.android.content.ActivityNotFoundException);importClass(Packages.android.widget.Toast);importClass(Packages.android.os.Handler);importClass(Packages.android.os.Looper);// 设置微信用户页面的URLvar userId = "微信用户ID"; // 请替换为实际用户IDva
信息发布软件AIWROK软件微博意图跳转代码分享
AIWROK软件微博意图跳转代码分享 这段代码的主要功能是尝试在安卓设备上通过微博应用的URL Scheme跳转到指定微博用户的个人页面。如果设备上没有安装微博应用,则会提示用户并尝试通过网页链接打开该用户的微博个人页面。具体解释如下:导入包:首先,代码通过importClass方法导入了一些安卓开发中常用的类。这些类的功能包括:Intent:用于在不同组件之间进行交互,比如启动活动、发送广播等。Uri:表示统一资源标识符,通常
信息发布软件AIWROK软件无障碍获取当前activity地址
AIWROK软件无障碍获取当前activity地址无障碍获取当前activity地址:getCurrentActivity() 是一个方法,其作用是无障礙获取当前活动地址。以下是对其用法的详细分析:方法名称名称:getCurrentActivity()解释:get:表示这是一个获取数据的方法。CurrentActivity:表示获取当前活动(Activity)的地址或其他相关信息。作用:这个方法的作用是获取当前活动的地址,且不会出现障碍(例如无需额外传参或依赖其他复杂逻辑)。返回值返
信息发布软件loadDex 加载插件和TomatoOCR实例演示
说明:可以使用安卓studio 开发出apk,jar,或者dex使用此方法加载模块,注意:插件直接放到插件文件夹中然后上传到手机英文方法: loadDex(plugin),加载插件到系统参数:plugin:插件名称例如导入的插件为 p1.dex,则参数名就填写 loadPlugin(‘p1.dex’)案例://导入dex模块 rhino.loadDex('p1.dex') //导入apk模块 rhino.loadDex('demo.apk')importClass 导入插件中的类方法说明:通过这个方法可以导入插件里编写好的类英文方法:imp
信息发布软件AIWROK软件根据文本和类名查找并点击第一个Facebook节点
根据文本和类名查找并点击第一个Facebook节点展示了如何根据不同的条件使用auto.nodeSearch来查找和点击节点。示例1:根据文本和类名查找并点击第一个Facebook节点// 查找所有文本为 "Facebook" 且类名为 "android.widget.TextView" 的节点 var nodes = auto.nodeSearch(3000).text("Facebook").className("android.widget.TextView"); // 获取找到的第一个节点 var node = nodes.getNode(0); // 点击该节点 node.click()
信息发布软件AIWROK软件字符串大小写转换 字符串大小写转换使用函数
字符串大小写转换 字符串大小写转换使用函数let originalString = "Hello, World!"; let mixedCaseString = originalString.toUpperCase().toLowerCase(); // 实际上是多余的,因为结果和原始字符串的小写形式相同 console.log(mixedCaseString); // 输出: hello, world! // 条件转换示例 function toggleCase(str) { return str === str.toUpperCase() ? str.toLowerCase() : str.toUpperCase(); }
信息发布软件苹果IOS中的HID文件接口文档
苹果IOS中的HID文件接口文档ios操作方法connet连接手机http://192.168.0.112:81/connetscreenshot截屏接口ios屏幕截屏可以指定截屏后的图像尺寸参数:width:宽度height:高度http://192.168.0.112:81/screenshot?width=720&height=1280&compress=100getScreenWidth获取屏幕宽度参数:http://192.168.0.112:81/getScreenWidth鼠标操作方法click点击屏幕真实坐标参数:x:横坐标y:纵坐标http://192.168.0.112:81/click?x=500&y=500
信息发布软件H5调用app和保存配置
本帖最后由 信息发布软件 于 2025-6-27 09:26 编辑 void runJs(function code)h5执行app JS脚本window.at.runJs(function (){ //这里写ATjs代码 printl("你好"); auto.home(); }.toString());void runJsFile(String file) H5运行APP JS文件window.at.runJsFile('主脚本.js');void callFunction(String funname,String arg) H5执行脚本方法window.at.callFun('main',"hello");String getRootPath() 获取项目根
信息发布软件AIWROK软件HID物理按键对应码和组合键用法
本帖最后由 信息发布软件 于 2025-6-26 06:21 编辑 hid.keyPress(0,keycode.A());//在光标后面输入aa//方法1hid.keyPress(0,keycode.Enter());//亮屏//方法2hid.keyPress(0,0x07);//唤醒屏亮屏hid.keyPress(0,0x66);//息屏,关屏HID 键码表功能键按键名称HID 码(十进制)HID 码(十六进制)ESC410x29F1580x3AF2590x3BF3600x3CF4610x3DF5620x3EF6630x3FF7640x40F8650x41F9660x42F10670x43F11680x44F12690x45Backspace420x2ATab430
信息发布软件AIWROK软件里IOS提前复制内容按组进行下标调用
AIWROK软件里IOS提前复制内容按组进行下标调用由于iOS系统采用的是单线程运行机制,这意味着它无法像多线程系统那样在后台同时处理多个任务。因此,在复制操作时,您无法在后台直接复制内容,而是需要通过弹出窗口来完成复制粘贴功能。这种操作方式虽然安全,但在一定程度上会影响操作效率。为了提升工作效率,您可以采用以下方法:提前复制内容:在需要频繁使用某些固定内容时,可以提前将这些内容复制到剪贴板,以便后续快速调用
信息发布软件AIWROK软件里IOS系统如何自动存储和读取配置UI输入框
AIWROK软件里IOS系统如何自动存储和读取配置UI输入框 这段代码是使用AiWork安卓自动化IDE编写的,主要功能是在iOS设备上创建一个包含输入框、单选框和复选框的视图,并实现这些控件的状态保存和值的获取。下面是对代码的详细说明: [*]var vc = new IOSView();:创建一个新的iOS视图对象vc,用于在iOS设备上显示控件。 [*]vc.show(() => { ... });:调用show方法显示视图,并在回调函数中添加控件和设置它们的行
信息发布软件AIWROK软件IOS如何使用webview 实现 h5界面ui加载html代码
AIWROK软件IOS如何使用webview 实现 h5界面ui加载html代码var web = new WebView()web.show();web.loadHtml(`<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>WKWebView JS to Swift</title> <style> body { font-family: -apple-system, BlinkMacSystemFont, sans
信息发布软件AWIROK软件编辑器自定义右键菜单
function setupEditorActions(editor) { // 定义 addAction 函数 function addAction(label, order, textToInsert) { // 添加自定义右键菜单项的逻辑 } // 定义 UIControl 函数 function UIControl(label, order) { // 添加自定义右键菜单项的逻辑 } // 调用 UIControl 函数以添加 "控件调用" 右键菜单项 UIControl('控件调用', 0); // 调用 addAction 函数以添加 "if..."
信息发布软件用AIWROK软件写入表格并读取WROK文件方法
四种不同的方法来处理二维数组数据,并将其保存为CSV或DOCX格式的文件,或者从DOCX文件中读取内容。以下是每种方法的详细说明:第一个方法:原始二维数组,按列保存// 官方交流群711841924 // 第一个方法,原始二维数组,按列保存 var 表格数据 = [ ["1", "110", "130"], // 第一行数据 ["其他数据1", "其他数据2", "其他数据3"], // 第二行数据 ]; // 将二维数组转换为 CSV 格式字符串 var csv数据 = 表格数据
信息发布软件AIWROK软件IOS系统里如何实现ocr识别屏幕文字
AIWROK软件IOS系统里如何实现ocr识别屏幕文字最简单的ocr识别//截图 var img = screen.screenShotFull(); //ocr识别 var ocrres=img.ocr(0, 0, 1, 1) printl(ocrres) //释放内存 否则会内存泄漏 img.close(); 先对图像进行处理后再ocr识别 解决部分文字不准问题//截屏并转成mat格式 var img = screen.screenShotFull(); var mat = img.getMat(); //二值化 opencv.threshold(mat,50,200) //printl(mat) //转成im
信息发布软件AIWROK软件HID_APK插件_安卓原生调用方法
本插件可以使用安卓原生开发调用,具体方法如下1.下载apk插件2.放到项目asset文件夹下3.AndroidManifest.xml文件中添加权限<uses-permission android:name="android.permission.INTERNET" ></uses><uses-permission android:name="android.permission.FOREGROUND_SERVICE" ></uses> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" ></uses> <uses-
信息发布软件AIWROK软件苹果IOS里如何启动其他APP?
原理ios的快捷指令可以接收参数我们可以用命令 app.openApp("微信") 来启动微信但是这个指令有两个权限要求第一需要通过快捷指令第二需要aiwork在前端不能在后台 第一步先创建快捷指令如何创建?方案一搜索快捷指令app并打开 点击+号,选打开app 长按这个App文字 这样就创建好打开app并且能接受参数的快捷指令了方案2 直接扫码安装快捷指令 注意到这里还没完因为 使用 命令必须让aiwork在前端,所以必须配置自启动 让执行命令的时
信息发布软件AIWROK软件完整的例子脚本分享1
AIWROK软件完整的例子脚本分享1 https://www.yuque.com/aiwork/nba2pr/mf8wfx4tw5ct3rf2 这里下载附件 这段代码是一个使用AutoApp安卓自动化IDE编写的脚本,主要用于自动化操作名为“红果短视频”的应用程序。脚本的主要功能包括登录应用、播放视频、领取奖励和签到等操作。以下是对代码的详细说明: [*]注释说明: [*]代码开头是一些注释,提供了使用说明以及相关的帮助文档、官方地址和QQ群信息。 [*]引入外部脚本
信息发布软件&#127800;AIWROK软件悬浮窗自定义启停
🌸AIWROK软件悬浮窗自定义启停 这段代码是使用 AIWROK 编写的,一个基于JavaScript的自动化工具,可以用于Android设备上的自动化操作。代码的主要功能是创建一个悬浮窗,悬浮窗上包含两个按钮:“启动”和“关闭”。这两个按钮的功能分别是启动和停止一个后台线程,以及关闭所有运行的任务。代码详细说明如下: [*]创建一个悬浮窗对象 f,使用 new floatUI() 来初始化。 [*]定义变量 t,用于存储线程对象。 [*]使用 loa
信息发布软件AIWROK软件里opencv.findImages找到目标如何打印出来座标呢
安卓的方法:opencv.findImages找到目标如何打印出来座标呢这段代码的主要功能是在一个特定的屏幕上查找并点击一个目标图像。下面是对代码的详细解释: [*]定义屏幕尺寸: var SCREEN_WIDTH = 750;var SCREEN_HEIGHT = 1334; 这两行代码定义了屏幕的宽度和高度,分别为750像素和1334像素。 [*]打印日志: printl('图色232783'); 这行代码打印一条字符串“图色232783”到日志中。需要注意的是,这里使用了printl,在标准的Jav
信息发布软件aiwrok软件屏幕点亮和屏幕息屏的命令无障碍模式
aiwrok软件屏幕点亮和屏幕息屏的命令无障碍模式 [*]导入类:导入PowerManager类。 [*]获取电源管理服务:通过context.getSystemService获取电源管理服务。 [*]创建唤醒锁:创建一个可以唤醒设备并点亮屏幕的唤醒锁。 [*]定义唤醒屏幕函数:创建一个函数wakeScreen,用于唤醒屏幕。 [*]定义释放唤醒锁函数:创建一个函数releaseWakeLock,用于释放唤醒锁。 [*]示例调用:展示如何调用这两个函数来唤醒屏幕并随后释放唤醒
信息发布软件AIWROK软件自定义Activity页面背景图片
AIWROK软件自定义Activity页面背景图片 [*]var ac = new activity();:这行代码创建了一个新的Activity对象。Activity是Android应用的基本构建块之一,通常代表一个单一的屏幕。 [*]ac.loadXML(...):这里通过加载一段XML布局代码来初始化Activity的布局。XML布局代码描述了用户界面的结构和外观。在这个例子中,使用了一个垂直方向的LinearLayout作为根布局,其中包含一个Button。 [*]var view = ac.findViewById("bg"):
信息发布软件opencv原生模板找图转座标方法
这段代码是使用OpenCV库进行图像匹配的JavaScript代码示例。它的主要功能是在一个较大的图像中查找一个小图像的位置。以下是代码的详细说明: [*]导入OpenCV库: [*]importClass(org.opencv.imgproc.Imgproc):导入图像处理类Imgproc,该类包含了图像模板匹配的方法。 [*]importClass(org.opencv.imgcodecs.Imgcodecs):导入图像编码解码类Imgcodecs,该类用于读取和写入图像文件,以及将字节数组转换为Mat对象。 [*]impor
信息发布软件hui动态生成复选框显示所有app
// 官方QQ群 711841924function getChcek1() { var check1 = { id: "check_c16291c6", type: "check", style: { width: "300", height: "auto", position: "absolute", top: 122, left: 103, right: "", bottom: "", borderWidth: "0", borderColor: "", borderStyle: "none",
信息发布软件AIWROK软件随机范围点击随机范围拖动
AIWROK软件随机范围点击随机范围拖动 1. 随机位置点击[/backcolor] 函数 [*]功能:在指定的百分比坐标附近随机点击。 [*]参数: [*]x[/backcolor]:点击位置的百分比 X 坐标。 [*]y[/backcolor]:点击位置的百分比 Y 坐标。 [*]x范围[/backcolor]:X 坐标的随机范围。 [*]y范围[/backcolor]:Y 坐标的随机范围。 [*]实现: [*]首先将百分比坐标转换为实际屏幕坐标。 [*]然后在指定范围内生成新的随机坐标。 [
信息发布软件AIWROK软件里的PaddLeOCR里的OCR
这里有第一种方法:这里带第二种方法:
信息发布软件AIWROK软件YOLO找色判断两个页面是否一样
这段代码常用于自动化测试、监控屏幕内容变化或者实现某些特定的自动化操作,比如在等待某个界面加载完成时,通过检测特定区域的颜色变化来判断页面是否已经加载完毕。// 获取当前屏幕的全屏截图,并保存为/sdcard/1.jpg var img = screen.screenShotFull(); img.save('/sdcard/1.jpg'); // 获取截图中某个特定点的RGB值(此处坐标为屏幕宽度的82.2%,屏幕高度的64.27%) var rgb = img.getPointRGB(0.822, 0.6427);
信息发布软件在AIWROK软件中loadDex 加载插件
说明:可以使用安卓studio 开发出apk,jar,或者dex使用此方法加载模块,注意:插件直接放到插件文件夹中然后上传到手机英文方法: loadDex(plugin),加载插件到系统参数:plugin:插件名称例如导入的插件为 p1.dex,则参数名就填写 loadPlugin(‘p1.dex’)案例://导入dex模块 rhino.loadDex('p1.dex') //导入apk模块 rhino.loadDex('demo.apk')importClass 导入插件中的类方法说明:通过这个方法可以导入插件里编写好的类英文方法:imp
信息发布软件rhino犀牛Java交互AIWROK应用
Java交互简介:AutoApp 提供了 Java交互API,比如导入Java包、类。1.如何让java代码转成js代码例如:我们想要通过java代码获取手机的像素javaDisplayMetrics dm = context.getResources().getDisplayMetrics(); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels;在js代码中变量不需要声明,比如 dm是一个 DisplayMetrics类型 js中直接使用 let 或者 var即可js代码var dm = context.getResources().getDisplay
信息发布软件HID如何开启节点功能呢?
HID如何开启节点功能呢?第一步,HID 连接上好后,灯是快闪的,连上了才可以节点,这要注意一下,打开 APP 图标点击一下打开这个侧栏图标,弹出左边这个主软件界面,这里有很多功能,如下图所示: 第二步是点开 HID 硬件这个按钮侧栏,要 3.36 才有这个功能的,以前的版本没有,这个也要 168 个人会员以上才能用的功能,这个 APP 最新的版本 3.38 可以对部分的自绘界面进行节点操作,有的不规则面页是比较难有节点出现的,有部分
信息发布软件AIWORK软件获取当前所有线程指定停止
getAllThreads 函数用于获取当前Java虚拟机中所有活动线程的信息。它通过获取当前线程的线程组,然后不断向上遍历,直到找到根线程组。接着,利用 enumerate 方法将所有线程枚举到一个数组中,并返回这个数组。 getThreadNames 函数调用 getAllThreads 函数获取所有线程对象后,使用 map 方法提取每个线程的名称,形成一个新的数组并返回。这个数组包含了所有活动线程的名称。 stopThread 函数用于尝试终止指定名称的线程。它
信息发布软件苹果IOS配置读写怎么实现的呢?
// 创建一个单选按钮组,用于管理性别选择的单选按钮let rg = new RadioButtonGroup();// 从配置中获取性别值,如果配置中没有性别值,则默认为空字符串let sexvalue = config.getConfig("sex", "");// 创建一个输入框,用于用户输入其他信息(例如用户名)let user = new Input();// 创建一个单选按钮,表示男性选项let nan = new RadioButton();nan.setText("男"); // 设置单选按钮的文本为“男”if (sexvalue === "男") { na
信息发布软件okHttp实例判断一下网址打不开的方法
// 创建 okHttp 实例var http = new okHttp();http.setHeader("User-Agent", "Mozilla/5.0");var url = "http://www.baidu.com/";try { printl("开始发送 GET 请求到: " + url); var result = http.get(url); printl("请求完成,响应对象: " + JSON.stringify(result)); // 打印完整的响应对象 if (result && result.code !== undefined) { printl("请求成功,状态码: " + result.code); if (result
信息发布软件AIWROK软件内容匹配 match()函数用来查找字符串中特定的字符
内容匹配 match()函数用来查找字符串中特定的字符function findSubstringInString(mainStr, pattern) { // 使用 match() 查找给定的模式 var result = mainStr.match(pattern); if (result !== null) { // 如果找到了匹配项,则返回匹配的结果 return "Match found: " + result[0]; } else { // 如果没有找到匹配项,则返回相应的消息 return "No match found."; }}// 定义字符串和要
信息发布软件&#127800;用AIWROK软件游戏选项执行不选择项随机执行怎么弄?
🌸用AIWROK软件游戏选项执行不选择项随机执行怎么弄?// 群号711841924function 游戏选项执行(易玩游戏选择) { // 随机选择一个元素 var 随机索引 = Math.floor(Math.random() * 易玩游戏选择.length); var 随机字符 = 易玩游戏选择[随机索引]; // 检查易玩游戏选择和随机字符的组合,执行相应游戏 if (易玩游戏选择.indexOf('美女泡泡大战') !== -1 && 随机字符 === '美女泡泡大战') { printl('
信息发布软件实用型多线程脚本运行20秒后停止
本帖最后由 信息发布软件 于 2025-5-15 06:28 编辑 var threads = [];function 计划任务(函数, 运行时间){    var t = new thread();    threads.push(t);    t.runJsCode( () => {        函数();    }, "计划任务")    sleep.second(运行时间);    t.stop();}function 脚本1(){    while(true){     &n
信息发布软件分享苹果UI里的AIWROK一个完整的界面
分享苹果UI里的AIWROK一个完整的界面// 群号711841924// 创建 TabViewvar tab = new TabView();// 设置标签页标题tab.setTitles(["首页", "第二页", "第三页", "第四页"]);// 显示 TabView,并在加载完成后执行回调函数tab.show(() => { printl("TabView 显示完成"); // 添加每个标签页的视图 tab.addView(0, h1()); // 首页 tab.addView(1, h2()); // 第二页 tab.addView(2, h3()); // 第三页 tab.addView(3,
信息发布软件AIWROK软件手机短信采集按需采集
/* 这个是获取手机短信的例子, 最近很多人用AIWORK怎么获取短信验证码,这样就不用去打开,然后一点一点的采集了。 其实AIwork是有很便捷的方式进验证码采集的,比如下面这段,按时间排序的短信验证码,这样就可以采集出验证码, 并且可以全部输入数字出来,有哪位朋友需要这段代码的请加群或是加我Q获取这段现成的代码。 下面是AIWORK演示代码操作:*/// 定义一个函数,用于读取最新的短信function readLatestSms() { //
信息发布软件HID键鼠其它功能设备如关充电开充电息屏亮屏
hid.keyPress(0,keycode.A());//在光标后面输入aa//方法1hid.keyPress(0,keycode.Enter());//亮屏//方法2hid.keyPress(0,0x07);//唤醒屏亮屏hid.keyPress(0,0x66);//息屏,关屏键盘设备Android 支持各种键盘设备,包括特殊功能小键盘(音量和电源控制),紧凑型嵌入式 QWERTY 键盘和全能型 PC 式外接键盘。本文档仅介绍物理键盘。有关软键盘(输入法编辑器)的信息,请参阅 Android SDK。键盘分类只要满足以下任一条件,输入设备即
信息发布软件AIWROK软件定义手势路径构造函数
AIWROK软件定义手势路径构造函数// 定义手势路径构造函数function GesturePath() { this.points = []; this.duration = 0;}// 设置持续时间的方法GesturePath.prototype.setDurTime = function(duration) { this.duration = duration;};// 添加点的方法GesturePath.prototype.addPoint = function(x, y) { this.points.push({ x: x, y: y });};// 定义多手指手势构造函数function MultiFingerGesture() { this.fing
信息发布软件用AIWROK软件排除打叉关闭区域并让它点击我想点的关闭怎么弄?
function 点击区域跳过检测(left, top, right, bottom) { var leftPercent = left; var topPercent = top; var rightPercent = right; var bottomPercent = bottom; // 获取屏幕的宽度和高度 var screenWidth = screen.getScreenWidth(); var screenHeight = screen.getScreenHeight(); // 计算矩形区域的坐标 var x1 = screenWidth * leftPercent; var y1 = screenHeight * topPercent; var x2
群发软件AIWROK软件生成随机时间函数妙用技术方法
/** * 生成随机时间函数 * @returns {string} 格式为HH:MM:SS的随机时间字符串 */function 随机时间() { // 生成随机小时、分钟和秒数 var hours = Math.floor(Math.random() * 24); var minutes = Math.floor(Math.random() * 60); var seconds = Math.floor(Math.random() * 60); // 格式化时间为两位数 hours = hours < 10 ? '0' + hours : hours; minutes = minutes < 10 ? '0' + minutes : minutes;
群发软件AIWROK软件如何使用webview 实现 h5界面ui
var web = new WebView()web.show();web.loadHtml(`<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>WKWebView JS to Swift</title> <style> body { font-family: -apple-system, BlinkMacSystemFont, sans-serif; padding: 40px; background-color: #f2f2f7; text-align: center; } button {
群发软件AIWROK软件如何训练自己的数据集
通用yolo模型aiwork平台提供了通用yolov5插件,可以自行下载开源训练库或者把你已经训练好的yolov5模型转成.tflite格式即可使用调用案例:复制var yolo=new yoloV5(); //可以自己配置是否gpu加速和int8量化 yolo.loadTFMode("/插件/fp16_320.tflite","/插件/YoloV5.txt",320,false,false,false); //或者简写 //yolo.loadTFMode("/插件/fp16_320.tflite","/插件/YoloV5.txt",640); //本地图片识别 var img=new image().readT
群发软件AIWROK常用的随机位置范围点击随机拖动
/* * 随机位置点击函数 * @param {number} x - 点击位置的百分比 X 坐标 * @param {number} y - 点击位置的百分比 Y 坐标 * @param {number} x范围 - X 坐标的随机范围 * @param {number} y范围 - Y 坐标的随机范围 */function 随机位置点击(x, y, x范围, y范围) { // 将百分比坐标转成真实坐标 var x1 = screen.percentToWidth(x); var y1 = screen.percentToHeight(y); // 在指定范围内生成新的随机坐标 x1 = ran
群发软件AIWROK软件FTP完整例子自动链接可以上传可以下载
AIWROK软件FTP完整例子自动链接可以上传可以下载/* 欢迎使用AiWork安卓自动化IDE qq群: 711841924 */// 加载FTP库rhino.loadDex(project.getResourcesPath() + "ftp.dex");importClass(org.apache.commons.net.ftp.FTP);importClass(org.apache.commons.net.ftp.FTPClient);importPackage(java.io);// FTP配置参数var ftpHost = "154.201.80.249";var ftpPort = 21;var username = "rtyerye";var password = "8AafKDs4KhMDR3yy
群发软件AIWROK真正能包打天下的三种查找随机方法
AIWROK真正能包打天下的三种查找随机方法// 图片文字识别相关方法// 使用opencv的OCR进行文字识别并随机点击function 找字随机点击() { var ocr = opencv.OCREx('今日头条极速版8.cv'); if(!ocr) return; var target = ocr.findIncludeText('今日头条极速版'); if(target) { var rect = target.rect; var screenWidth = screen.getScreenWidth(); var screenHeight = screen.getScreenHeight

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2025-8-2 08:26 , Processed in 0.321125 second(s), 56 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表