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

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

[『VB.NET 图文教程』] 弄乱了数据没有关系VB.NET自动启动初始化设备

[复制链接]

1868

主题

1878

帖子

1万

积分

积分
10928
跳转到指定楼层
宣传软件楼主
发表于 2017-5-25 00:20:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

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

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

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

软件教程发布日期:2017-05-25

软件教程关键字:弄乱了数据没有关系VB.NET自动启动初始化设备

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

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

软件教程详细描述

一、引言

  对于ncf(net精简版的英文缩写)开发人员,应用程序选项保存一般只有两种途径选择:

  1、将选项的值写入注册表,但如果所有应用程序都将值大量写入注册表的做法最终将导致注册表过大占用系统资源,而影响系统的运行效率;而且这就是很多软件在硬启设备之后不得不重新安装的原因。根据现代程序编写中"程序尽可能与系统独立"的思想,这种做法不推荐使用。

  2、将选项值以一个初始化文件的方式保存,这样做可以最大限度避免系统资源占用,提高程序运行独立性,这种做法个人认为是较为可取的方案。并且这种做法在.net完整版中实现非常简单,可以直接用Xml序列化类来实现。但在专为智能移动设备定做的net精简版中,由于不提供XML序列化属性,使得保存和使用程序选项变得郁闷起来。程序开发人员不得不对每一个程序选项作写入/读取文件的编码,这个枯燥无味的步骤绝对不会是一件有趣的事情。

  二、功能概述

  本文中,我将利用.net的反射功能,构建一个自动完成初始化文件的保存/读写功能的类。在这个类中,只要程序作者在类内部按程序选项的名称定义好类的内部成员变量(由于这个步骤仍然需要程序员进行类内的手工编码,所以称这个类为半自动初始化类),这个类就自动将程序选项从初始化文件中保存/读取的工作,程序员不必再进行繁琐的读写文件部分的编码。而且,这个类的构建还可以有一个好处:由于应用程序的选项都以成员变量的形式保存在类的内部,程序员可以利用VS提供的自动列出变量成员的功能查询初始化文件的选项。例如这样写 string myAPPname= tobjAPPOption.General.APPName。据我所知,记住大量的程序选项的确切字符也不是什么好玩的事哦8-)

  三、程序实现先决条件分析

  1、初始化文件内容的需求

  我们首先分析观察一个标准的windows初始化文件win.ini内容:

  [windows]load=run=NullPort=Nonedevice=HP LaserJet 6L PCL,PCL5EMS3,\E5A18B631240425HPLaserJ [Desktop]Wallpaper=(无)TileWallpaper=1WallpaperStyle=0

  该初始化文件的内容用方括号括住的部分我们称为初始化文件的节,每一节下都组织了一系列与节有相应功能的程序选项。如desktop节下就含有桌面墙纸(Wallpaper)/桌面墙纸铺设(WallpaperStyle)的设置。在初始化文件中程序的选项大都可以用字符串/数字这些简单的数据类型进行保存。  根据这一需求,考虑到目前在.net中使用xml文件非常方便,而且使用xml格式除可实现常规windows初始化文件的功能外,还可以多出树形结构组织的优势,所以本文设计的初始化文件确定采用xml文件格式。并作以下格式的XML文件的元素定义:

  'Net对象以XML元素保存使用的格式定义'Net对象的定义'<Class ObjectName=对象名称 ObjectType(数据类型)=数据类型 > 数据内容 </数据类型>'数组的定义 目前本类中实现的数组只支持string的一维数组'<Array ObjectName=对象名称 ObjectType=数据类型 Length=数组大小> 元素定义</Array>'如果数组数组为nothing则格式如下'<Array ObjectName=对象名称 ObjectType=数据类型 Length=0>nothing</Array>'简单对象的定义'int32、String等'<SimpleObject ObjectName=对象名称 ObjectType(数据类型)=数据类型 > 数据内容 </数据类型>'当SimpleObject代表数组内的元素时,objectname代表数组的维数'ObjectName 、ObjectType、 Lenght 属性的使用举例如下'例如Redim mai32Test(7) As String'ObjectName取值为mai32Test,ObjectType取值为string[],Length 值为8

  2、在.net中有一种称之为反射的功能,可以枚举特定类型对象所包含的成员变量的类型及储存值,这个功能经常被一些普通程序员忽略,认为用途并不大。但在本文中,这一功能将成为构建半自动化初始化对象的核心,我们正需要这种功能将写在初始化类中的变量类型和值自动向初始化文件保存或读取。

  四、程序实现核心代码注释

  1、我将这个半自动初始化文件类命名为clsAPPOption,类内结构及包含过程的功能说明如下:

  两个区域#Region "应用程序使用的选项结构定义"、#Region "应用程序选项的变量声明"中的内容是按初始化选项级组织的类及类的实例,每一个类表示程序选项的一个初始化节,必须由最终使用者根据实际选项需要自行手工补充。

  fnGetAppDirectory:取得应用程序的运行目录

  sbInitialDefaultAPPOption:设置程序选项的默认初始值(这个过程中的代码需根据实际需要手工修改)

  fnSaveAppOption:将类内的程序选项保存到一个指定的文件中. (这个过程中的部分代码需根据实际需要手工修改)

  fnLoadAppOption:在指定的文件中读取应用程序的选项信息并保存到当前类中(这个过程中的部分代码需根据实际需要手工修改)

  fnXMLElementToSimpleObject:将一个XMLElement转为它代表的简单对象,所谓简单对象就是诸如int32int16之类的基本net对象

  fnXMLElementToClassObject:将一个XMLElement转换为它代表的类对象

  fnXMLElementToArray:将一个XMLElement转为它代表的数组

  fnArrayToXML:将一个数组放入XML文件中,目前只支持一维数组:

  例如dim aString(10) as string

  fnClassObjectToXML:将一个类对象转换为xml元素的表示形式

  fnSimpleObjectToXML:将一个简单对象改为XML元素表示

  注:其中fnXMLElementToXXXX和fnXXXXToXML功能相对应,互为反函数。

  2、程序的实现是非常简单的,fnClassObjectToXML对指定的类进行反射操作,

  使用类的类型的GetFields方法枚举类内的成员变量信息,然后根据成员变量的类型调用fnSimpleObjectToXML或fnArrayToXML,在函数结束的时候,将要转换的类以一个XMLElement对象的形式返回。

  tobjClassObjectType = ni_objClassObject.GetType '取得类的类型,以利于反射调用

  ….其它代码

  REM 以结构内的所有值进行反射取值, 并存入xml对象中

  For Each tobjFieldInfo In tobjClassObjectType.GetFieldsIf tobjFieldInfo.FieldType.IsArray = False Then '只是一个简单类型,直接取得值tobjXMLElement = fnSimpleObjectToXML(tobjFieldInfo.GetValue(ni_objClassObject), _ni_objXMLDocument, _tobjFieldInfo.Name)tobjXMLClassObjectElement.AppendChild(tobjXMLElement)ElseREM 如果是一个数组类型,则进行数组方法的调用以取得值,'目前只支持一维数组元素tobjXMLElement = fnArrayToXML(tobjFieldInfo.GetValue(ni_objClassObject), ni_objXMLDocument, tobjFieldInfo.Name, tobjFieldInfo.FieldType.FullName)'将数组对象放入结构的xml对象中tobjXMLClassObjectElement.AppendChild(tobjXMLElement)End If

  fnSimpleObjectToXML的实现也很简单,根据前文确立的简单对象的定义,fnSimpleObjectToXML过程所要生成的xml对象的几个要素可以这样获取:ObjectName在f nClassObjectToXML作反射后已经获取,并以参数传递的方式在调用fnSimpleObjectToXML时提供了。 ObjectType数据类型则可以利用ni_objSimpleObject.GetType.FullName方法取得, ni_objSimpleObject就是在函数调用时传入的简单对象的值。

  在编写fnArrayToXML过程时出现了一点小问题,由于调用方不可能要求数组的元素逐个传入,所以对数组的元素个数以及元素的值无法在函数中以对象反射的方式直接获取。幸运的是,在Net反射操作中,可以利用Invoke方法来调用原始对象内的函数或属性过程,而数组的共享方法GetLength、GetValue功能适好是取数组元素个数及指定下标的元素值,所以问题立刻迎刃而解。

  '利用反射调用数组的getLenght方法取得数组的大小,这里仅支持一维数组,但对于初始化文件已足够用了tobjXMLAttribute = ni_objXMLDocument.CreateAttribute("ArrayLength")tobjMethodInfo = tobjArrayType.GetMethod("GetLength")ReDim taobjParameter(0)taobjParameter(0) = 0ti32Tempa = tobjMethodInfo.Invoke(ni_objArray, taobjParameter)tobjXMLAttribute.Value = ti32TempatobjXMLElement.SetAttributeNode(tobjXMLAttribute)tobjXMLAttribute = Nothing'加入数组的内的元素For ti32LoopA = 0 To ti32Tempa - 1'利用反射取得数组的GetValue方法取得实际元素的值 ReDim taobjParameterType(0)taobjParameterType(0) = GetType(Integer)tobjMethodInfo = tobjArrayType.GetMethod("GetValue", taobjParameterType)ReDim taobjParameter(0)taobjParameter(0) = ti32LoopAtobjTempa = tobjMethodInfo.Invoke(ni_objArray, taobjParameter)' 将数组元素放入对xml对象中tobjXMLElementA = fnSimpleObjectToXML(tobjTempa, ni_objXMLDocument, ti32LoopA)tobjXMLElement.AppendChild(tobjXMLElementA)Next ti32LoopA

  从XML转为net对象的过程基本都没有什么技术难度。我只是根据xml中包含的ObjectType信息简单获得简单对象的类型,然后直接调用net强制转换类的功能将XML文件中指定的对象储存的数值重新恢复为原来的net对象。代码如下:

  '根据XMLelement结构元素中指定的对象类型,建立对象tobjType = Type.GetType(tobjXmlSimpleObjectElement.GetAttribute("ObjectType"))tobjReturnSimpleObject = Convert.ChangeType(tobjXmlSimpleObjectElement.InnerText, tobjType, Nothing)

  对于Xml转为数组用数组、转为类对象的方法可以参阅本文所附源代码。

  3、初始化文件类实例的调用:

  类定义完成以后,可以在程序的全局范围定义初始化类的实例。

  在模块内定义就可以了:

  Public gobjAppOption As New clsAPPOption

  可以在程序启动的时候读初始化文件信息到类中,我是放在主窗体的load事件中的。

  '读取程序的选项gobjAppOption.fnLoadAppOption()

  可以在程序的任意地方保存当前半自动初始化类的值到xml文件中,

  我在主窗体的closed事件中加入保存代码:

  gobjAppOption.fnSaveAppOption() '保存应用程序的选项

  程序的任意地方你都可以调用半自动初始化文件类的实例来读取/保存程序选项的当前值:

  '可以很好地利用VS提供的自动列出成员的功能列出程序选项'读取选项的示例代码MessageBox.Show(gobjAppOption.mobjAPPGeneralOption.astrShowFileFilter(0))'保存选项的示例代码'gobjAppOption.mobjAPPGeneralOption.astrHideFileFilter(0) = "*.zip"

  虽然这个半自动化初始化文件类还是需要手工添加少量代码(在源代码明确注释要手工添加的部分),但还是那句老话,如果一切事情电脑都会做的时候,离程序员下岗的日子就不远了。


您可以在创建数组的同时,作为 New (Visual Basic) 子句的一部分的VB.NET初始化数组变量。也可以在后面的赋值语句中初始化数组。

数组的以下方面可以初始化:

索引上限,用于指定数组各维度的长度

数组的某些或所有元素的值

这些方面可以分开进行VB.NET初始化数组变量。但是,如果仅提供元素值而未提供上限,则由所提供的值的数目决定上限。

在创建时用 New 子句初始化数组

在 New 子句中,在圆括号中指定索引上限,并在大括号 ({}) 中提供元素值。下面的示例声明、创建并初始化一个变量以存储 Char 数据类型 (Visual Basic) 元素的数组,并指定其上限和值。

  • Dim testChars As Char() = New Char(2) {"%"c, "&"c, "@"c}

执行该语句后,变量 testChars 中的数组长度为 3,其元素从索引 0 到索引 2,用于存储初始化的值。如果您同时提供了上限和值,则必须为从索引 0 到上限的每个元素都包括一个值。

注意文本类型字符 c,它将字符文本强制为 Char 数据类型。如果没有任何类型字符,双引号 (" ") 内括起来的文本默认为 String。

如果在 New 子句中提供了元素值,则不需要指定索引上限。下面的示例声明、创建并进行VB.NET初始化数组变量以存储 Boolean 数据类型 (Visual Basic) 元素的数组,并且仅指定元素值。

  • Dim answers As Boolean() = New Boolean() {True, True, False, True}

执行该语句后,变量 answers 中的数组长度为 4,其元素从索引 0 到索引 3,用于存储初始化的值。

可以初始化索引上限而不初始化任何元素。如果以这种方式创建数组,必须使用后面的赋值语句来初始化每个元素值。

用后面的赋值语句的VB.NET初始化数组变量

在数组变量声明中指定索引上限。

使用一个或多个赋值语句,其中每个语句为数组中的一个元素赋一个值。下面的示例声明并创建一个变量以存储 String 数据类型 (Visual Basic) 元素的数组,并在后续语句中提供两个元素值。

  • Dim comments(30) As String  
  • comments(0) = "This is the first comment."  
  • comments(5) = "This is the sixth comment."

执行这些语句后,变量 comments 中的数组长度为 31,位于索引 0 和索引 5 处的元素存储初始化的值,其他 29 个元素存储默认值。如果以这种方式初始化数组,可以初始化一些元素并跳过其他元素。

- 或 -

使用 ReDim 语句 (Visual Basic) 初始化数组的长度。

  • ReDim comments(5)

执行该语句后,变量 comments 中的数组长度为 6,其所有元素都存储默认值。

注意

可以仅在一个位置进行VB.NET初始化数组变量,索引上限。如果在数组变量名后面的括号内指定上限,则不能使用 New 子句。如果在 New 子句中的括号内指定上限,则必须将变量名后面的括号保留为空。



unto好网角自动群发广告信息发布软件脚本nextVB.NET绑定TreeView很方便的实现了多层次绑定的问题了吧
回复

使用道具 举报

0

主题

1019

帖子

1024

积分

积分
1024
信息发布软件沙发
发表于 2017-5-25 01:12:24 | 只看该作者
很精美,多样化,店家服务态度很好,满意!

回复 支持 反对

使用道具 举报

0

主题

629

帖子

627

积分

积分
627
推广工具板凳
发表于 2017-5-25 01:12:41 | 只看该作者
,客服很有耐心,我说了很多的要求都一一的帮我改了,有需要还会再来找你们设计的

回复 支持 反对

使用道具 举报

2

主题

650

帖子

652

积分

积分
652
软件定制开发地板
发表于 2017-5-26 01:31:31 | 只看该作者
了,质量很不错,和店家描述一样,好评

回复 支持 反对

使用道具 举报

0

主题

615

帖子

603

积分

积分
603
5#定制软件#
发表于 2017-5-26 22:57:39 | 只看该作者
心,一直回答我。我自己一直弄不懂他很耐心。

回复 支持 反对

使用道具 举报

0

主题

1009

帖子

1005

积分

积分
1005
6#定制软件#
发表于 2017-5-27 22:26:53 | 只看该作者
,大家去看吴地鬼谷研究会的网站wdguigu,很不错,老板技术强,服务好。

回复 支持 反对

使用道具 举报

0

主题

608

帖子

616

积分

积分
616
7#定制软件#
发表于 2017-5-30 06:34:26 | 只看该作者
模版好看时尚老板服务态度好下次继续光临这家店好评!

回复 支持 反对

使用道具 举报

1

主题

640

帖子

612

积分

积分
612
QQ
8#定制软件#
发表于 2017-6-16 14:48:29 | 只看该作者
和5号笨蛋很有耐心,服务也很好

回复 支持 反对

使用道具 举报

1

主题

601

帖子

591

积分

积分
591
9#定制软件#
发表于 2017-6-19 10:20:28 | 只看该作者
教程!!!!

回复 支持 反对

使用道具 举报

0

主题

631

帖子

592

积分

积分
592
10#定制软件#
发表于 2017-6-20 12:44:25 | 只看该作者
,值得信赖

回复 支持 反对

使用道具 举报

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

本版积分规则

相关导读
信息发布软件&#128296;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
信息发布软件&#128296;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-1 16:34 , Processed in 0.197416 second(s), 60 queries .

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

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