在VBA中,在调用控件前写入shell +注册控件语句。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了晋源免费建站欢迎大家使用!
如果我理解正确的话,有下列方法
方法一:在VBA模块中加入Shell("regsvr32.exe /s " strSystemFolder "Winsock.ocx") 自己改一下变量。本人较早前用过的方法。
方法二:将所有注册组件写进.bat批处理文件中,并加入开机自动运行,或用shell去运行.bat
方法三:微软官方support
最后一段简单翻译一下:RegComCtl32和UnRegComCtl32是用户自定义名称;例中组件是默认在windows/system路径下,如果不在该路径下,请自己添加;DllRegisterServer注意字母大小写。
写两个函数,一个检测是否有重复用户,第二个插入
检测属用户是否存在
private function checkUser(byval uname as string) as boolean
dim sql as string = "select * from [user] where username=" uname
dim cmd as sqlcommand = new sqlcommand(sql,conn)
dim read as sqldatareader = cmd.excutereader
dim result as boolean = read.hasrows
cmd=nothing
return result
end function
新增用户
private sub adduser(byval uname as string,byval password as string)
if checkUser(uname)
messagebox.show("用户已存在")
exit sub
end if
try
dim sql as string = "insert into [user](username,password) values(@uname,@upass)"
dim cmd as sqlcommand = new sqlcommand(sql,conn)
cmd.parameters.add("@uname",sqldbtype.varchar).value=uname
cmd.parameters.add("@upass",sqldbtype.varchar).value=password
cmd.ExecuteNonQuery
cmd=nothing
messagebox.show("用户添加成功!")
catch ex As Exception
messagebox.show("用户添加失败!" + ex.message)
end try
end sub
思路是:
读取电脑硬件的信息,用随机数加工这些信息后在注册表中做个记录,用这个记录生成注册码送回给你,你按特定的方法生成序列号,你的小程序收到序列号后还原成数据,数据比较注册表中的记录,如果正确就加入第二部分注册的信息完成注册.你的程序每次打开时,先比对硬件信息-第一注册信息-第二注册信息,看这三者是否统一,不统一的就是使用期软件.
也可以省了第一注册信息,直接发硬件信息给你生成序列号,其他的相同.