二级VB辅导:用VB实现“一点即填”

文章作者 100test 发表时间 2007:09:06 11:59:29
来源 100Test.Com百考试题网


  在申请 Email 信箱、主页空间时我们经常要填写表 单,比如要填姓名、住址、身份证号、E-mail 地址、个人 简介等等??每次都重复的填写,好烦哪!
面对这种情况,大家可能首先想到的是上网上找一款 填表软件。但现有的软件不是用剪贴板传递就是采用拖放技 术,而且使用时必须运行填表软件,使用起来并不是很方便。 因此我们决定自己编写一个软件,将它集成到IE的右键菜单 里,使用时只要在要输入的输入项上单击鼠标右键,然后选 择相应的项即会自动输入,从而实现“一点即填”。
本程序首先要在IE的右键菜单上添加项目,这可通过 操作注册表来实现,然后利用一个JavaScript程序判断所选 的是不是可输入框,如果是,将我们事先保存的数据填上。 下面介绍具体的实现过程。

一、设计界面
进入 VB,选择“标准 EXE”新建一工程,选择“工 程”菜单下的“部件”,在弹出的对话框中选择“Microsoft Windows Common Controls 6.0”,然后按照下表在窗体 上添加控件,设置完成的界面如图 1 所示:
控件类型 Name 属性
标签 label1 Caption:名称 标签 label2 Caption:内容 文本框 txtname
文本框 txtcont
命令按钮 command1 Caption:添加 命令按钮 command2 Caption:删除 列表框 listview1 为它加入两个列,列标题分别为“名称”和“内容”,并
且把 View 属性修改成 3-lvwReport,把 GridLines 改成 True。

二、程序源代码
首先在工程中添加一个标准模块并输入如下代码,这 些代码用于注册表操作:
’声明必要的API函数及常量
Declare Function RegSaveKey Lib "advapi32.dll" Alias
"RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, ByVal lpSecurityAttributes As Long) As Long
Declare Function RegSetValue Lib "advapi32.dll" Alias
"RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey
As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias
"RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As
String, phkResult As Long) As Long
Declare Function RegDeleteKey Lib "advapi32.dll" Alias
"RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As
String) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias
"RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName
As String) As Long
Declare Function RegOpenKey Lib "advapi32.dll" Alias
"RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As
String, phkResult As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias
"RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias
"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Const HKEY_CLASSES_ROOT = &.H80000000
Public Const HKEY_CURRENT_USER = &.H80000001
Public Const HKEY_LOCAL_MACHINE = &.H80000002
Public Const HKEY_USERS = &.H80000003
Public Const ERROR_NO_MORE_ITEMS = 259&.
Public Const HKEY_CURRENT_CONFIG = &.H80000005
Enum ValueType
REG_NONE = 0
REG_SZ = 1
REG_EXPAND_SZ = 2
REG_BINARY = 3
REG_DWORD = 4
REG_DWORD_BIG_ENDIAN = 5
REG_MULTI_SZ = 7
End Enum
Global Const KEY_ALL_ACCESS = &.H3F Dim lngtype As Long
Dim rtn As Long, lBuffer As Long, sbuffer As String
Dim lBufferSize As Long
’新建主键的过程


相关文章


二级VB辅导:用VB实现“一点即填”
VB动态调用自己的ActiveXDLL
使用.NETFramework从VB6中访问事件日志
VB求数据表记录总数的最佳方法
二级VB辅导:启动OLE拖动操作
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛