各位高手,我想用API函数(getvolumeinformation)做个系统校验的VB程序,但这个程序我为什么没写对呢?按照VB的语法规则,应该是正确的阿?请大家帮忙查看下.下面是这个程序的程序体:
Private Sub cmdoc_Click()
Dim serialnum_lng As Long
Dim rs As Long
Dim label_str As String
Dim type_str As String
Dim flag As Boolean
label_str = String$(255, Chr$(0))
type_str = String$(255, Chr$(0))
rs = GetVolumeInformation("a:\", label_str, Len(label_str), serialnum_lng, 0, 0, type_str, Len(type_str))flag = fun_floppydrive("a:")
If flag = False And serialnum_lng <> "-1534748359" Then
Form1.syszt.Caption = "用户卡没有插入,请插入用户卡!"
Else
flag = True
Form1.syszt.Caption = "身份识别通过,可以进入!"
End IfEnd Sub
我要做的意思是:开头用布尔变量做个检测软驱中是否有盘的功能,然后如果有盘,则进行读盘,并用API函数getvolumeinformation做个检测磁盘序列号的功能.然后在程序中用IF...THEN语句写进去一个磁盘的序列号,并用getvolumeinformation函数检测到的磁盘序列号根IF..THEN语句中写入的序列号字符串进行对比.如果一样则可以进入.不一样则提示不能进入.但我这个程序,我觉得写的是正确的阿?怎么它不进行序列号判断呢? 程序中:if flag=false and serialnum_lng <> "-1534748359" 这个地方是对磁盘的序列号进行检测判断.但在这里程序并不对序列号进行判断,磁盘格式化后,序列号变了.但仍然可以通过.这是怎么回事呢?请大家给我指导一下.多谢!