VB在函数和过程中如何调用数组,并在数组中写入返回值?

lanman 2003-10-17 08:53:24
格式是什么,谢谢.
...全文
80 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname008 2003-10-17
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim arr(10) As String, i As Long
Test arr()
For i = 0 To UBound(arr)
Debug.Print arr(i)
Next i
End Sub

Private Sub Test(ByRef arr() As String)
Dim i As Long
For i = 0 To UBound(arr)
arr(i) = i
Next i

End Sub


_取鼠标句柄() 获取目前选择的鼠标指针的句柄。获取目前选择的鼠标指针的句柄。这个函数返回的是当前线程的指针——不能获取其他应用程序的指针。 _寻找窗口() 寻找窗口列表第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题)。找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError。 _广播系统消息() 将一条系统消息广播给系统所有的顶级窗口。大于零表示成功;-1表示出错。如设置了BSF_QUERY,而且至少有一个消息接收者返回零,那么这个函数返回零。 _取消息鼠标位置() 取得消息队列上一条消息处理完毕时的鼠标指针屏幕位置。返回值,X坐标对应于结果值的低字,Y坐标对应于高字。 _取消息时间() 取得消息队列上一条消息处理完毕时的时间。返回一个时间,表示为自系统启动以来经历的毫秒数。 _投递消息() 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送。如消息投递成功,则返回TRUE(非零)。会设置GetLastError。 _投递线程消息() 将一条消息投递给应用程序。这条消息由应用程序的内部GetMessage循环获得,但不会传给一个特定的窗口。如消息投递成功,则返回TRUE(非零)。会设置GetLastError。 _注册窗口消息() 获取分配给一个字串标识符的消息编号。返回值为&C000 到 &FFFF之间的一个消息编号。零意味着出错。注:如果没有一个子类处理程序的帮助,这个函数就没有什么用。 _回应消息() 如将消息传送给位于不同进程的一个窗口,通常第一个进程会暂时挂起,直到另一个进程的窗口函数完成操作为止。在目标进程的窗口函数完成之前,另一个进程可用这个函数向第一个进程返回一个结果,使之能继续进行。返回值,如准备答复的消息是由另一个进程发来的,则返回TRUE。如果它是从同一个进程发出来的,则返回FALSE(此时,该函数没有任何效果)。 _发送消息() 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。返回值由具体的消息决定。 _发送回调消息() 将一条消息发给窗口。该函数最大的特定是可以立即返回。目标窗口函数执行完毕后,会用回调函数的形式将结果返回。返回值,TRUE表示成功,FALSE表示失败。会设置GetLastError。 _发送超时消息() 向窗口发送一条消息。如窗口位于不同的线程,则利用这个函数可以指定一个超时值,以便在另一个进程挂起的时候防止调用进程也永远挂起。成功时返回TRUE,失败时返回FALSE。会设置GetLastError。 _发送通知消息() 向窗口发送一条消息。如目标窗口位于同调用方相同的线程内,则这个函数会表现为SendMessage函数。而且除非消息得到处理,否则函数不会返回。如目标窗口从属于一个不同的线程,则函数会立即返回。返回TRUE表示成功,FALSE表示出错。会设置GetLastError。 _关闭内核对象() 关闭一个内核对象。其包括文件、文件映射、进程、线程、安全和同步对象等。返回值非零表示成功,零表示失败。会设置GetLastError。 _比较文件时间() 根据FILETIME结构的信息,对比两个文件的时间。如两个时间相等,就返回零;如lpFileTime1小于lpFileTime2,返回-1;如lpFileTime2小于lpFileTime1,返回1。 _删除文件() 返回值非零表示成功,零表示失败。会设置GetLastError。 _关闭搜索句柄() 关闭由FindFirstFile函数创建的一个搜索句柄。返回值非零表示成功,零表示失败。会设置GetLastError。 _刷新文件缓冲区() 针对指定的文件句柄,刷新内部文件缓冲区。返回值非零表示成功,零表示失败。会设置GetLastError。 _刷新文件映射缓冲区() 将写入文件映射缓冲区的所有数据都刷新到磁盘。返回值非零表示成功,零表示失败。会设置GetLastError。 注解:如与远程系统建立了文件映射,那么虽然这个函数可保证数据已在当前系统写入,但不能保证数据实际写入远程系统的磁盘——除非用FILE_FLAG_WRITE_THROUGH 选项打开文件。该选项的作用是禁止写延迟,所有更新的数据都必须立即写入磁盘。 _取可执行文件类型() 判断指定文件是哪一种类型的可执行文件。返回值非零表示成功,零表示失败。 _取压缩文件尺寸() 判断一个压缩文件在磁盘上实际占据的字节数。返回文件长度。&HFFFFFFFF表示出错。注意如lpFileSizeHigh不为NULL,且结果为&HFFFFFFFF,那么必须调用GetLastError,判断是否实际发生了一个错误,因为这是一个有效的结果。 注解:如磁盘卷已被压缩,可检查这个函数的结果是否与GetFileSize函数的结果有异,从而判断文件是否也被压缩(如有异,表明文件已被压缩)。 _取当前目录() 返回值为写到lpBuffer的字节数。如nBufferLength的长度不够,不足以容纳目录,则返回值是必要的缓冲区长度(要求至少这个长度),其包括空止字符。零表示失败。会设置GetLastError。 _取磁盘剩余容量() 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量。返回值非零表示成功,零表示失败。会设置GetLastError。 注解:在采用FAT16格式的windows95系统,如一个驱动器(分区)的容量超过了2GB,则不应使用这个函数。此时,这个函数能识别的最大分区容量只有2GB。 _取驱动器类型() 判断一个磁盘驱动器的类型。返回值,如驱动器不能识别,则返回零。如指定的目录不存在,则返回1。如执行成功,则用下述任何一个常数指定驱动器类型:DRIVE_REMOVABLE, DRIVE_FIXED, DRIVE_REMOTE, DRIVE_CDROM 或 DRIVE_RAMDISK。 _取压缩文件全名() 取得一个压缩文件的全名。文件必须是用 COMPRESS.EXE 程序压缩的,而且在压缩时适用/r选项。返回值,1表示成功,LZERROR_BADVALUE 表示失败。 _取文件属性() 取指定文件的属性。返回值,-1表示出错。如返回包含了标志的一个Long值,则指定文件的属性。其的标志对应于带有FILE_ATTRIBUTE_*前缀的常数。具体参考BY_HANDLE_FILE_INFORMATION结构的File Attribute Types table表格。 _取文件长度() 返回文件长度。&HFFFFFFFF表示出错。注意如lpFileSizeHigh不为NULL,且结果为&HFFFFFFFF,那么必须调用GetLastError,判断是否实际发生了一个错误,因为这是一个有效的结果。 _取文件类型() 在给出文件句柄的前提下,判断文件类型。返回值为下述常数之一:FILE_TYPE_UNKNOWN 文件类型未知;FILE_TYPE_DISK 属于磁盘文件;FILE_TYPE_CHAR 文件是一个控制台或打印机;FILE_TYPE_PIPE 文件是个管道 。 _取文件版本信息() 从支持版本标记的一个模块里获取文件版本信息。返回值非零表示成功,零表示失败。会设置GetLastError。 _取文件版本信息长度() 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区。返回值,容纳文件的版本资源所需的缓冲区长度。如文件不包含版本信息,则返回一个0值。会设置GetLastError。 _取文件全名() 获取指定文件的完整路径名。返回值,装载到lpBuffer的字符数量(排除空止字符)。如缓冲区的长度不足以容下完整的路径,则返回值就是要求的缓冲区大小。零表示失败。会设置GetLastError。 _取逻辑驱动器() 判断系统存在哪些逻辑驱动器字母。返回值的二进制位标志着存在哪些驱动器。其,位0设为1表示驱动器A:存在于系统;位1设为1表示存在B:驱动器;以次类推。 _取逻辑驱动器列表() 获取一个字串,其包含了当前所有逻辑驱动器的根驱动器路径。返回值,保存到lpBuffer的字符数量(排除空止字符)。如缓冲区的长度不够,不能容下路径,则返回值就变成要求的缓冲区大小。零表示失败。会设置GetLastError。 _取INI整数() 从INI文件指定的条目获取一个整数值。返回值,找到的键的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数会返回其合法的一部分。 注解:在Windows NT,有些初始化文件实际是在注册表。可在注册表的下面这个项处找到这些文件的一个列表:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping _取INI小节键值表() 获取指定小节所有项名和值的一个列表。返回值,存放到lpReturnedString缓冲区的字符数量。如缓冲区的容量不够大,不能容下所有信息,就返回nSize-2。参考对GetPrivateProfileInt函数的注解。 _取INI文本() 从INI文件指定的条目取得字串。返回值,复制到lpReturnedString缓冲区的字节数量,其不包括那些NULL止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2)。 注解:如lpKeyName参数为NULL,那么lpReturnedString缓冲区会载入指定小节所有设置项的一个列表。每个项都用一个NULL字符分隔,最后一个项用两个NULL字符止。也请参考GetPrivateProfileInt函数的注解。 _取系统INI整数() 取得win.ini初始化文件指定条目的一个整数值。返回值,找到条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数就会返回其合法的一部分。 _取系统IN表I小节键值() 获取指定小节(在win.ini文件)所有项名和值的一个列表。返回值,装载到lpReturnedString缓冲区的字符数量。如缓冲区的长度不足以容下所有信息,则返回nSize-2。参考GetPrivateProfileInt函数的注解。 _取系统INI文本() 为win.ini初始化文件指定的条目取得字串。返回值,存放到lpReturnedString缓冲区的字节数量,其不包括那些NULL止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpAppName或lpKeyName为NULL,则返回nSize-2)。 _取短文件名() 获取指定文件的短路径名。返回值,装载到lpszShortPath缓冲区的字符数量。如lpszShortPath的长度不足,不能容下文件名,就返回需要的缓冲区长度。 _取Windows系统目录() 这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境,往往需要管理员权限才可对这个目录进行写操作。返回值Long,存放到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度。 _取临时文件名() 返回值,最终用于生成文件名的wUnique数字的值。如wUnique参数不为零,这就是参数的值。零表示失败。会设置GetLastError。 _取临时路径() 获取为临时文件指定的路径。返回值,装载到lpBuffer的字符数。如当前缓冲区的长度不够,不能容下整个路径,则返回lpBuffer需要的长度。零表示失败。会设置GetLastError。 注解:临时路径是由TMP环境变量指定的一个路径。如TMP不存在,则是由TEMP环境变量指定的路径。如果这两个环境变量都不存在,就是当前目录。 _取磁盘卷标信息() 获取与一个磁盘卷标有关的信息。返回值非零表示成功,零表示失败。会设置GetLastError。 _取Windows目录() 这个函数能获取Windows目录的完整路径名。在这个目录里,保存了大多数windows应用程序文件及初始化文件。返回值,复制到lpBuffer的一个字串的长度。如lpBuffer不够大,不能容下整个字串,就会返回lpBuffer要求的长度。零表示失败。会设置GetLastError。 _锁定文件() 在windows,文件可用共享模式打开——在这种情况下,多个进程可同时访问该文件。利用这个函数,要对文件进行读写的一个应用程序可将文件的某一部分锁定起来,使其不能由其他应用程序访问。这样便避免了同时读写时发生的冲突。返回值,非零表示成功,零表示失败。会设置GetLastError。 注解:锁定的区域不能进行重叠操作。由不同的操作系统决定,可能要求先运行share.exe才能保证该函数正常工作。 _LZ关闭() 关闭由LZOpenFile 或 LZInit函数打开的一个文件。 _LZ复制() 复制一个文件。如源文件已压缩,则会在复制期间解压。文件必须是用微软公司的compress.exe或等效工具压缩的。 返回值:如执行成功,返回目标文件的大小,以字节为单位。如执行出错,会返回小于零的一个常数,如下表:LZERROR_BADINHANDLE 源文件无效;LZERROR_BADOUTHANDLE 目标文件无效;LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足;LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效;LZERROR_READ 无效的源文件格式;LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法;LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的。 _LZ初始化() 这个函数用于初始化内部缓冲区。对一个给出打开文件句柄的一个文件进行解压时,将用到这个缓冲区。注意完成后一定用LZClose关闭这个句柄。最多只能同时打开16个压缩文件句柄 。返回值:由lz32.dll库使用的、那个文件的一个特殊句柄。这个文件句柄兼容于LZCopy, CopyLZFiles, LZRead 和 LZSeek函数。如果出错,该函数会返回下表列出的出错代码之一:LZERROR_BADINHANDLE 源文件无效;LZERROR_BADOUTHANDLE 目标文件无效;LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足;LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效;LZERROR_READ 无效的源文件格式;LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法 LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的。 _LZ读() 将数据从文件读入内存缓冲区。如hfFile是一个压缩文件的句柄,同时那个压缩文件是由LZOpenFile 或 LZInit函数打开的,这个函数就会在读入数据的同时对文件进行解压处理。 返回值,实际读入的字节数。如这个数字小于cbread,表明早已抵达了文件的末尾。如出错,返回下表列出的常数之一:LZERROR_BADINHANDLE 源文件无效;LZERROR_BADOUTHANDLE 目标文件无效;LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足;LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效;LZERROR_READ 无效的源文件格式;LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法;LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的。 _LZ移位() 设置一个文件进行读写的当前位置。如hfFile是一个压缩文件的句柄,同时那个压缩文件是由LZOpenFile 或 LZInit函数打开的,这个函数就会根据文件的解压版本进行查找。 返回值,返回一个新位置,采用从文件起始处计算的字节偏移量。如出错,返回下表列出的常数之一:LZERROR_BADINHANDLE 源文件无效;LZERROR_BADOUTHANDLE 目标文件无效;LZERROR_GLOBALLOC 内部解压缓冲区的内存容量不足;LZERROR_GLOBLOCK 内部解压缓冲区的句柄无效;LZERROR_READ 无效的源文件格式;LZERROR_UNKNOWNALG 解压DLL不能识别源文件采用的压缩算法;LZERROR_WRITE 在磁盘上写入输出文件时出错,通常是由于磁盘空间不足造成的。 _文件映射() 将一个文件映射对象映射到当前应用程序的地址空间。MapViewOfFileEx允许我们指定一个基本地址来进行映射。返回值,文件映射在内存的起始地址,零表示出错。会设置GetLastError。 注解:dwFileOffsetLow和dwFileOffsetHigh必须反映一个偏移距离,它由系统的内存分配精度决定。例如,假设系统的内存精度是64KB(即最小分配单位是64KB),则这些值必须是64KB的整数倍。大多数应用程序都简单的用零从文件的起始处开始映射。lpBaseAddress也必须是内存分配精度的整数倍。声明的参数类型为Any,而参数表都是Long,我也不明白。但关于这个函数的英文资料的确是这样的。 _查询DOS设备() 在Windows NT,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况。返回值,零表示出错。如执行成功,返回保存到lpTargetPath的字符数。会设置GetLastError。注解:可用DefineDosDevice函数将映射变成DOS设备名。适用平台:Windows NT。 _注册表关闭键() 关闭系统注册表的一个项(或键)。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表远程连接() 访问远程系统的部分注册表。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表创建键() 在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项。返回值,,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表删除键() 删除现有项下方一个指定的子项。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表删除值() 删除指定项下方的一个值。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表枚举键() 枚举指定项的子项。在Win32环境应使用RegEnumKeyEx。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。注解:用RegQueryInfoKey判断容纳最长那个项所需的缓冲区长度。 _注册表枚举值() 枚举指定项的值。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表刷新键() 将对项和它的子项作出的改动实际写入磁盘。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表载入键() 从以前用RegSaveKey函数创建的一个文件里装载注册表信息。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表通知键值改变() 注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。适用平台:Windows NT。 _注册表打开键() 打开一个现有的注册表项。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。注解:在NT环境下,这个函数会使用默认的安全参数。 _注册表打开键增强() 打开一个现有的项。在win32下推荐使用这个函数返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。 _注册表查询值() 取得指定项或子项的默认(未命名)值。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。注解:win32应用程序应该使用RegQueryValueEx。lpValue被定义成一个字串,以维持同win16的兼容性(在win16,值全都是字串)。 _注册表查询值增强() 获取一个项的设置值。返回值,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码。
目前市场上的加密锁大致分为两种类型:带CPU加密锁,不带CPU的加密锁。前者拥有计算能力,对加密数据、过程数据、通讯接口等可以实施动态密文处理,因此带CPU的加密锁也被演化出了多种多样的加密形式:密文校验、自定义算法、程序移植等等。而不带CPU加密锁相对简单,加密强度较低,成本低廉! 加密锁的克隆 不带CPU加密锁实际上是一个外接的存储单元,用户在使用了正确的方法后可以与内部存储交换数据,以达到加密的目的。这种加密锁,不论其软件加密强度高低,从硬件的角度来说属于低端产品,一般加密公司的低端产品皆属此类。如果破解者找到办法可以把加密锁的数据读出来(前提是这个硬件高手可以找到办法),那么这个加密狗也就被破掉了,制作出一个完全相同的加密锁,这种方法我们熟称为加密锁的“克隆”。加密锁客隆技术的产生使加密锁技术发展进入了一个新的时代,新类型的软件加密锁大多都有密码或硬ID号的保护,只要黑客买不到相同密码的加密锁,也就无法进行加密锁的“克隆”了。 加密锁的仿真、模拟 那么,加密锁的厂家是否可以安枕无忧了呢?不是的,解密者又找到了新的突破口。因为软件要同加密锁进行通讯,必须要通过通讯口来进行,黑客利用这一弱点编制出了加密锁仿真程序,它的工作原理是首先插上保护软件原有的软件锁运行一遍,而后台的程序会记录下所有的写入/读出的数据。然后取下加密锁,启动仿真程序,让仿真程序来模拟加密锁提供所有的数据。为此,“蓝芯金盾加密锁”采用了源程序级加密,此方法不是去判断某个值、某个字符串或数据是否正确,而是时时变化输入参数,在任何时刻没有两个相同的数据出现。 自定义算法加密锁 现在市场上还提供一种开发者可自定义算法的加密锁。开发者可以把自己的算法写入到加密锁,在软件调用这些算法来实现特有的计算工作。这种加密锁的实际原理是将一组数据(开发者的算法编译码)下载到加密锁的特定外部存储器,这种方法有它的局限性,因为外部存储器用专门的设备总是可以被读出来的,安全强度的高低仍然依仗在硬件读取方法的寻找上。“蓝芯金盾加密锁”可以为有特殊需要的用户编写专门的加密函数,更安全地将用户要求融入加密锁,用户使用加密锁不是去判断加密锁是否正确,而是由加密锁实现用户软件的特定功能。 实际上加密锁的好坏仅仅是一个方面,不论加密锁提供的功能有多丰富,加密性有多好,更主要的是使用者,因为软件毕竟是要被人用的。希望所有的加密锁使用者能够更好的使用他的加密锁来完成对自己软件的保护。 加密技术 → 在很少使用的代码调用加密锁。那么看似已破译的程序就会经常发生异常现象。 → 根据时间调用加密锁。上午调用的数据下午(或隔日)使用。破译者为了分析这种数据就要花一天或几天的时间。这就可以拖垮破译者。 → 加密锁校验函数不宜定义成一个单独函数,而宜定义成若干个小函数分散使用。 → 检查程序代码的校验和,以防非法修改。 → 以各种不同的随机访问掩护真实的加密锁访问。对随机询问的答复进行处理,但不真正使用它。 → 可在加密锁里的多个地址预先写入不同数据,校验锁时可以随机地对其的某个地址进行校验。(如可随机产生一个数,再根据该数来决定对锁里哪个地址的值进行校验。) → 在程序不同的地方对加密锁进行检测,即多点加密。这个方法可配合方法一使用。 → 在您程序的运行过程,您可以定时、不定时地对加密锁进行随机检测。 → 您从加密锁取得返回数据后,并不立即判定,而是在后来才去判定是否正确;在判定加密锁错误时,并不立即提示或退出,而是在以后提示或退出或程序照常运行但出现偏差或溢出等等错误。 → 可以将加密锁返回值作为数组的索引、常量、计算单元和校验码;可以将加密锁返回值作为指针来控制程序执行或作为在不同表跳转的索引;也可以使用加密锁返回值来加密或解密部分代码或数据。加密锁返回值使用后立即删除。 加密方式 内嵌式 这种加密方法要求具有源程序,在被加密程序访问加密锁。加密锁的驱动光盘提供VC\VB\VFP\Delph\PB\CB等各种言的编程接口及详细的示例供客户参考。如果您有什么特殊要求可与我们联系。 外壳式 外壳加密是一种直接对可执行文件(.exe\.com\.dll)加密的加密方法。这种方法不需要源程序,加密过程简单方便。 文件加密 在加密锁动态连接库提供了文件加密和解密函数函数隐去了 HASH和RSA密码算法的实现细节,安全性极高且使用方便。用户只需输入文件名和口令即可。 反破译---文件完整性检测 用程序的完整性检测码防止文件被非法篡改 定义1:运行检测码--程序运行时的完整性检测码。 定义2:发行检测码--程序发行时的完整性检测码。 检测原理 根据程序完整性检测程序是否被修改--在程序发行前计算程序的“发行检测码”,在程序发行后运行时自动计算程序的“运行检测码”。 如果 “运行检测码” 等于 “发行检测码” 则程序完整性检测正确,程序没有被修改。 如果 “运行检测码” 不等于“发行检测码” 则程序完整性检测错误,程序被修改。
JosunScript 脚本组件是一个采用ATL技术编写的高效稳定的脚本解析器。 能让你的CS模式程序(Vc、VB、Delphi、BC等)轻松解析VbScript,JavaScript脚本语言。 大大增强你的程序逻辑处理的灵活性和程序的交互能力,轻松实现从BS系统提供的页面接口获取数据信息。 最大程度实现程序功能的免编译(只要修改脚本文件即可),为你的用户提供“热插拔”式的升级。 尤其适合于各种流程化的程序设计(工作流函数的操作、呼叫心系统IVR流程化的设计等等)。 本控件使用简便,开发者可根据本文档提供的例子根据自己的实际需求在例子上稍作修改即可。 主要的功能有: 1.加载脚本文件 2.获取脚本函数列表 3.获取脚本的全局变量列表 4.按变量名称 设置、获取 脚本文件里的全局变量值 5.直接执行 文本、变量 设置的脚本代码 6.能获取文本脚本执行结束后脚本里面的变量返回值,返回给调用者,实现脚本技术与其他语言技术的交互. 7.按列表返回的函数过程名称执行相应的函数过程。自定义入口参数,并返回执行结果给调用者,实现脚本技术与其他语言技术的交互. 8.实现远程、本地 xml文件的解析,免去在程序内部编写复杂的xml操作类,尤其是像VB这样的程序, 可以大大节约开发时间(本压缩包内的VB的例子就是最典型最简单的解析xml的例子)。 9.可以利用xmlhttp实现asp、jsp等页面的数据的存取解析,轻松访问第三方的数据 10.利用强大的VBScript脚本技术可以实现数据库接口,轻松将程序的变量写入第三方的数据库 如果您正在被流程设计繁杂的逻辑判断、为第三方提供数据接口而烦恼,如果你想在您的产品嵌入 功能强大、高度灵活的脚本功能增强您的产品的竞争力,JosunScript控件可以助您一臂之力。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧