VB/VB.Net
文章平均质量分 70
frontgoggle
这个作者很懒,什么都没留下…
展开
-
枚举所有未被使用的 SharedDlls
首先,查找这些文件是否可用的原理在于注册表。注册表中的 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/SharedDlls 键是用来储存系统中所有 SharedDlls 的使用情况的,其中每一项的值代表着这个 SharedDll 被多少个应用程序所引用,如果某项的值为0,那么就说明这个 SharedDll 已经变成无用的了原创 2006-10-02 23:06:00 · 2204 阅读 · 0 评论 -
由游戏所想到的对注册表键的删除
虚拟光驱可以方便我们将用 ROM 介质才能玩的游戏从硬盘启动,但是有些游戏,特别是日本的有些游戏为了以防盗版添加了检测虚拟光驱的程序,这样的程序可以通过检测两项注册表键值来实现,即检测 HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/Scsi 和 HKEY_LOCAL_MACHINE/SYSTEM/MountedDevices 两项键值。这两项键值包含了逻辑分区的一些原创 2006-07-29 12:29:00 · 1202 阅读 · 3 评论 -
程序,1.8进制的转换
对于1.8进制的转化我编写了一个名为 Jmouse 1.8 Convert DLL 的扩展来帮助实现,利用这个 DLL 我们可以轻松的实现1.8进制数和二进制、八进制、十进制和十六进制数之间的相互转化,但需要说明的是,由于负数无法转换为二进制、八进制和十六进制,所以1.8进制下负数只能转换为十进制数。可以从这里下载 Jmouse 1.8 Convert DLL v1.0.0.2*具体的说明请参看压原创 2006-08-05 16:52:00 · 831 阅读 · 0 评论 -
紧急停用 Jmouse 1.8 Convert DLL v1.0.0.1
Jmouse 1.8 Convert DLL v1.0.0.1 中出现了严重的运算缺位错误,现在紧急停用,并更新新的文件至 1.0.0.2 版本,下载地址相同。原创 2006-08-05 21:44:00 · 532 阅读 · 0 评论 -
对 Len() 函数所得结果不准确的处理
在文字处理程序的编写中,常会遇到类似于字数统计的问题,我们在 VB/VB.NET 中使用 Len() 函数来进行字符统计,但是我们可以发现一个问题,即当我们在一个允许多行输入的文本框中输入换行符后,Len() 函数所统计出的字符数要大于文本框中的字符数,这本身并不是个错误,只不过当我们输入换行符后,在 VB 中会显示为两个字符,即 Chr(13) 和 Chr(10),这样就使得 Len() 函数所原创 2006-08-13 18:31:00 · 1967 阅读 · 0 评论 -
对自然对数 e 的计算
VB中并没常数e,我们需要通过运算得到它,数学中其运算方法为:e=1+1/1!+1/2!+1/3!+...+1/(n-1)!+1/n!用程序实现起来可以分为计算阶乘和计算e值两部分,其分别对应的过程如下:计算阶乘Private Function JC(ByVal Number As Integer) As DoubleJC = 1If Number = 0 Then JC = 0Else原创 2006-08-25 22:24:00 · 5878 阅读 · 1 评论 -
VS2005 注意事项
在 Vista 中使用 VS2005 SP1 时出现一个问题,在使用 VB 和 VC++ 编写同一功能时 VB 有些功能不能正常运行,起初以为是代码问题,前后检查好多遍后发现是系统问题,运行某些需访问特殊权限(如访问系统文件)的软件时,需要右键并选择 以管理员身份运行 才可以,VC++ 暂没有遇到过这样的问题。原创 2007-03-05 21:06:00 · 478 阅读 · 0 评论 -
VS2005 注意事项(2)
在 .Net Framework 2.0 中如果跨线程调用控件会出现错误( InvalidOperationException 从不是创建控件 control name 的线程访问它。)如 test() 函数可能是跨线程的向 Form1 的 listBox1 中加入项:......//假设 test() 运行于一不安全线程下void test(){ ...... Form1 f原创 2007-03-16 01:00:00 · 762 阅读 · 0 评论 -
OrElse, AndAlso
一句话就是:OrElse 和 AndAlso 的功能就是 C/C++/C# 里的 "||" 和 "&&",是相对于 VB 中 Or 和 And 关键字的改进,Or 和 And 在改进后更像是 C/C++/C# 里的 "|" 和 "&"。原先,VB 中 Or 和 And 既是逻辑运算符,又是二进制运算符,即它可以实现二进制数的加减,也可以在 If 语句里起到连接条件的作用,但缺点是:Or 和 And原创 2007-05-11 19:12:00 · 874 阅读 · 0 评论 -
HOWTO:取得剩余空间最大的逻辑磁盘驱动器
当我们的软件需要在磁盘上建立一个或多个历史存储文档或文件夹时,我们当然希望充分利用系统的逻辑磁盘资源,即把这些临时文档存储到剩余空间最大的本地驱动器中(最典范的有 Office 的安装程序),通过 GetDiskFreeSpace(),GetLogicalDriveStrings() 和 GetDriveType() WinAPI函数我们编写出下面的函数可以帮助检测并返回剩余空间最大的逻辑磁盘驱动原创 2006-11-16 19:32:00 · 849 阅读 · 0 评论 -
Tips:简便的运用参数替换来减小资源文件
在编译程序时资源文件的大小会对应用程序的大小产生直接影响,合理的将资源文件简便化是一种编程规范。假如,我们有一个过程会产生两种或以上的结果,我们在资源文件中就会编写出两条资源,假如:"您得到的是 结果1" 和 "您得到的是 结果2",如果使用参数替换法,两条资源文件可以压缩成一条,即 "您得到的是 %1",之后我们在程序中进行对 "%1" 的替换,替换成相应结果既可。但是,在 VB 中只有 Rep原创 2006-11-17 21:01:00 · 709 阅读 · 2 评论 -
小玩具
昨天说的小玩具今天来发布了:Jmouse LCD Toy - 点击这里下载运行后可以检测你的 LCD (液晶显示器) 是否有坏点。操作:ESC 键退出,任意键继续。(*) Jmouse PCInfo Monitor 构架延迟或取消(**)以下是该小玩具的源代码,公布此代码后,该玩具不会再更新。Option ExplicitDim dwStep As IntegerPrivate Sub原创 2006-11-13 23:10:00 · 944 阅读 · 0 评论 -
如何通过编程得到所有窗体的标题及类名称
如果我们想通过编程来检测某个窗口是否存在,我们通常会使用 Windows API 函数中的 FindWindow(),而且,通常我们又不知道要获得窗口的类名称,所以我们经常性的忽略第一个参数,而是只使用窗口标题来检测窗口,这里就出现了一个问题:若该窗口没有标题或有变化标题(如IE)则我们就需要使用类名称进行查询了。当然,我们可以通过 VS 中提供的 spy++ 这样的工具来获得桌面窗口的类名称,但原创 2006-10-06 20:42:00 · 1800 阅读 · 0 评论 -
如何将一个包含颜色信息的长整类型转化为 RGB 表示
当我们用 GetPixel() 这样的函数来获取像素点信息时会返回一个长整数类型的值,若需要获得其以 RGB 形式的表示则需要进行转化,其在 VB 中转化的方法如下: Public Function GetRValue(ByVal crColor As Long) As Integer On Error GoTo ErrHandle If crColor >= 0 Th原创 2006-10-06 21:01:00 · 859 阅读 · 0 评论 -
写给初学者:VB 中 ByRef 与 ByVal 参数传递方式的区别
简而言之,ByRef 和 ByVal 的区别在于参数源是否可以被函数修改,前者(默认方式)是可以被修改的,而后者是不能被修改的。例:Private Function Func(ByRef argv1 As String, ByVal argv2 As String) argv1 = "I love WYC!" argv2 = "I love WYC!"End FunctionF原创 2006-10-09 17:01:00 · 7319 阅读 · 0 评论 -
对RGB转换函数的合并
我在前面《 如何将一个包含颜色信息的长整类型转化为 RGB 表示》中提到的三个转换函数可以转换为一个更简便的函数:Public Function GetRGBValue(lpaValue() As Integer, ByVal crColor As Long) As Long On Error GoTo ErrHandle If原创 2006-10-09 16:35:00 · 690 阅读 · 0 评论 -
对文件作简单的加密
在加密方法中有一种最原始的替换法,即将某一字符串中的某一些字符用特定字符替换或相互交换位置,本文的例子用异或、替换的方法替换文件二进制码达到加密目的。Option ExplicitPublic Const GENKEY = &H18 //密钥Public Function CodeFile(ByVal lpSrcFile As String, _ByVal lpDesFile原创 2006-10-15 20:19:00 · 649 阅读 · 0 评论 -
试用 Jmouse PowerCalculator
我们已发布新的软件 Jmouse PowerCalculator, 该软件是一款带有数学函数图像绘制功能及部分公式计算和单位转换功能的计算器。您现在可以下载该软件并且我们希望您能将您遇到的问题反馈到这里, 谢谢! *若您使用的是 Microsoft(R) Windows(R) XP 及以上版本的操作系统, 您可以直接下载免安装版本。 若您在运行免安装版本运行时出现组件未注册错误, 则您可以下载安装原创 2006-06-05 15:10:00 · 467 阅读 · 0 评论 -
帮助 - Jmouse PowerCalculator
关于函数计算在“输入”文本框中输入数值并按“Enter”键进行计算。若输入非数值或非常数符号的表达式则会出现内容为“非法计算或含有不能识别的字符”的错误信息关于公式计算和单位换算提供的公式或单位计算中要求输入的变量只允许为数字或数学常数,如:e 或 2.71828182845905。若输入非数值或非常数符号的表达式则会出现内容为“非法计算或含有不能识别的字符”的错误信息关于函数的添加、删除原创 2006-06-05 14:22:00 · 705 阅读 · 0 评论 -
讲给初学者:浅析字典压缩方式
对于磁盘来说文件被以二进制的方式存储在介质中,所以,对于文件的压缩实际上就是对每一个二进制流的压缩。那么如何实现压缩呢?我们举一个例子,假如有一个二进制流:11111111 00000000 10101010 01010101,它所占有的存储空间为4字节(每一字节有八位二进制码),如果对其实施压缩,我们最直观的想法即为代替(这也是字典压缩的根本)即用一个较少位数的符号代替原来的符号已达到减少存储空原创 2006-11-04 02:07:00 · 2385 阅读 · 0 评论 -
HOWTO:向 TreeView 控件中添加 XML 节点
在 VS2005 中提供了很好的对 XML 的操作支持,下文将介绍如何使用 System.Xml 空间将数据绑定到 TreeView 控件。本文适用于以具有 Visual Basic/C#/C++ 开发经验且了解 XML 的人士。在向 TreeView 控件追加节点的时候可以使用 TreeNode 类,因为它直接表示一个节点,再添加时只需要将其与XML 文件的 XmlNode 类建立联系即可。本例原创 2007-05-11 19:22:00 · 965 阅读 · 0 评论