一、如何取得文件大小
vb6 提供了一个新的物件模型,叫做 fso (file system object) 物件模型,运用它,我们可以很方便的处理磁盘、资料夹和文件的一些动作。
fso 物件模型含有好几个物件,其中有一个 file 物件是用来求得文件的相关资讯,在目前这个主题,我们就可以使用 file 物件!它有一个属性是 size,对文件来说就是指文件的大小 (单位为位元组)。 (注一)
虽然使用 file 物件的 size 属性就可以求得文件的大小,但是它有以下二个缺点:
1、只能用于 vb6 以后的版本。
2、它不是 vb6 内定的功能,必须另外引用 scrrun.dll (microsoft scripting runtime) 才可以!
以下的二个方法就可以使用在所有的 vb 版本中 (含 vb6),而且是 vb 内定的功能:
1、filelen 函数:返回一个 long,代表一个文件的长度,单位是位元组。
语法:filelen(pathname) ' pathname 是全路径之文件名称
适用:取得一个尚未开启的文件的长度大小 (注二)
2、lof 函数:返回一个 long ,单位为位元组,用来代表由 open 陈述式所开启的文件之大小。
语法:lof(filenumber) ' filenumber 是一个文件代码
适用:取得一个已开启的文件的长度大小
注一:file 物件的 size 属性除了可以求得一个文件的大小,也可以用来取得整个目录的所有文件大小!
注二:使用 filelen 函数时,如果所指定的文件正在开启中,则所返回的值是这个文件在开启前的大小。
二、如何移除或更改桌面背景的底色图案 (wallpaper)
systemparametersinfo 这个 api 可以设定许多 windows 系统的功能参数,而其中一个参数就是桌面底图!通常一般的使用者会透过控制面板中的【显示器】来设定桌面底图。
在底下的范例中,我们使用 spi_setdeskwallpaper 这个参数及图片文件名称来设定新的桌面底图,同时使用 spif_sendwininichange 来通知各个视窗这个改变。
'在表单的声明区中加入以下声明及常数:
private declare function systemparametersinfo lib "user32" alias "systemparametersinfoa" (byval uaction as long, byval uparam as long, byval lpvparam as string, byval fuwinini as long) as long
const spi_setdeskwallpaper = 20
const spif_updateinifile = &h1
const spif_sendwininichange = &h2
private sub command1_click()
dim x as long
x = systemparametersinfo(spi_setdeskwallpaper, 0&, "(none)", spif_updateinifile or spif_sendwininichange)
msgbox "桌面底图 (wallpaper) 已经被移除"
end sub
private sub command2_click()
dim filename as string
dim x as long
filename = "c:\windows\test.bmp"
x = systemparametersinfo(spi_setdeskwallpaper, 0&, filename, spif_updateinifile or spif_sendwininichange)
msgbox "桌面底图 (wallpaper) 已经被更改"
end sub
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器