
本文介绍如何编程设置扫雷程序为开机自运行程序。
模块文件registry.bas
模块文件registry.bas
| 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 RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long Enum RootKey HKEY_CLASSES_ROOT = &H80000000 HKEY_CURRENT_USER = &H80000001 HKEY_LOCAL_MACHINE = &H80000002 HKEY_USERS = &H80000003 HKEY_PERFORMANCE_DATA = &H80000004 HKEY_CURRENT_CONFIG = &H80000005 HKEY_DYN_DATA = &H80000006 End Enum Enum ErrorCode ERROR_SUCCESS = 0& ERROR_MORE_DATA = 234& End Enum 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 Function SetDefaultValue(ByVal hKey As Long, ByVal Subkey As String, ByVal Value As String) As Boolean Dim ret As Long, lenS As Long, S As String ret = RegSetValue(hKey, Subkey, REG_SZ, Value, LenB(StrConv(Value, vbFromUnicode)) + 1) SetDefaultValue = (ret = 0) End Function Function GetDefaultValue(ByVal hKey As Long, ByVal Subkey As String, Value As String) As Boolean Dim ret As Long, lenS As Long, S As String '读取default value的字符串长度 ret = RegQueryValue(hKey, Subkey, "", lenS) If ret <> 0 And ret <> ERROR_MORE_DATA Then GetDefaultValue = False Exit Function End If S = String(lenS, Chr(0)) '再根据上一个RegQueryValue返回的lenS值来配置字符串。 ret = RegQueryValue(hKey, Subkey, S, lenS) If ret <> 0 Then GetDefaultValue = False Exit Function End If Value = Left(S, lenS - 1) GetDefaultValue = True End Function 然后在form中放置两个命令按钮command1和command2. 'command1_click要做的事就是设置扫雷程序为开机自启动程序。若操作成功,显示success对话框。 Private Sub Command1_Click() Dim ret As Boolean Dim disp As String ret = SetDefaultValue(HKEY_LOCAL_MACHINE, "SoftwareMicrosoftWindowsCurrentVersionRun", "c:windowswinmine.exe") If ret Then disp = "Sucess!" Else disp = "Fail" End If MsgBox disp, , "结果" End Sub 'command2_click要做的事情就是读入HKEY_CLASSES_ROOT.txt这个SubKey的Default Value。 Private Sub Command2_Click() Dim S As String, ret As Boolean Dim hKey As Long Dim tmpstr As String Dim disp As String tmpstr = "The defaultvalue of HKEY_CLASSES_ROOT.txt is: " ret = RegOpenKey(HKEY_CLASSES_ROOT, ".txt", hKey) ret = GetDefaultValue(hKey, "", S) If ret Then If S <> "" Then disp = tmpstr & S Else disp = tmpstr & "NoDefaultValue" End If End If MsgBox disp, , "结果" End Sub |
推荐阅讯
- VBScript 遍历表单元素 简化数据操作代码
- VBScript教程第五课 VBScript常数
- Visual Basic6.0网络编程的五大散手
- 在Access数据库中实现密码管理
- Visual Basic数据库开发疑难问题解
- 使用Data控件访问数据库
- VBScript教程 第四课 VBScript变量
- 基于VB的流媒体解码与播放技术
- 让Visual Basic应用程序支持鼠标滚轮
- VB中创建可以输出函数的DLL
阅读排行
- 1.通过实例学VB—创建简单的个人通讯录
- 2.如何编写高质量的VB代码
- 3.在VB的ListView控件中动态加载记录
- 4.用VB备份和恢复SQL Server数据库的方法
- 5.利用VB学做“黑客”程序
- 6.掌握VB中的ADO数据对象编程
- 7.将程序加入启动组
- 8.VB程序中用ADO对象动态创建数据库和表
- 9.VB与Excel2000实现复杂报表打印
- 10.六天学会Visual Basic数据库编程
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
