www.6042.com
关爱女性,关爱健康
www.6042.com
首页 | 护肤 | 香水 | 美体 | 彩妆 | 精油 | 美发 | 女装 | 婚纱 | 健康 | 家居 | 爱情 | 食品 | SPA | 性欲 | 女性
当前位置:首页 > 女性生活/性感女人 > 正文
将应用程序放到Windows启动中
文章来源: 文章作者: 发布时间:2006-06-20 字体: [ ]

     使用Windows 95的编程人员都知道,Windows 95在启动时,能自动将一些应用程序加载并运行,利用VB5.0可以非常方便地实现这一功能。
  
     一、 编程思路
  
     我们知道,在Windows 95系统中有一个注册表编辑器程序Regedit.exe,它是用于更改系统注册表设置的工具。系统注册表中包含了关于系统配置及运行的重要信息。打开注册表编辑器,在左侧栏内双击“HKEY—LOCAL—MACHINE”,双击其下的“SOFTWARE”,双击其下的“Microsoft”,双击其下的“Windows”, 双击其下的“CurrentVersion”,双击其下的“Run”,这时在右侧窗口内会看到一些键名及其键值,其内容随机器的不同配置而有所不同。例如,在我的系统中有这样一项键名:名称为SysExplr,数据是“d:\progarm files\SthVCD\SysExplr.EXE”,这是系统控制“解霸五自动探测器”自动运行的有关信息。
  
     因此,只需分别以键名和键值的形式,将您的应用程序的标题和完整路径添加到Regedit.exe的以下目录中:HKEY—LOCAL—MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  
     在Windows下次启动时就会自动运行增加的程序项。
  
     要想在编程中实现上述思路,需要了解如何利用VB5.0实现对系统注册表中“键”的创建、打开、关闭、删除等操作。VB5.0本身没有提供这方面的功能。通过调用Windows的有关API函数,即可实现对系统注册表的各项操作。
  
     二、具体步骤
  
     1.在VB5.0编程环境中,新建工程Project1,在Form1中添加命令按钮Command1。
  
     2.在Project1中添加Moudle1。在Moudle1中定义下列常量和函数声明:
  
     Const REG—SZ = 1
  
     Global Const HKEY—LOCAL—MACHINE = &H80000002
  
     Declare Function OSRegOpenKey Lib ″advapi32″Alias ″RegOpenKeyA″ (ByVal hkey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long
  
     注:该函数用于打开系统注册表中已存在的键。函数的返回值: 如键打开成功返回0,否则返回非0,phkResult被设置为该键的句柄。
  
     Declare Function OSRegSetValueEx Lib ″advapi32″ Alias ″RegSetValueExA″ (ByVal hkey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, ByVal fdwType As Long, lpbData As Any, ByVal cbData As Long) As Long
  
     注:该函数用于向系统注册表中指定的键添加键名和键值。函数的返回值:添加键名、键值成功返回0,否则返回非0。
  
     Declare Function OSRegCloseKey Lib ″advapi32″ Alias ″RegCloseKey″ (ByVal hkey As Long) As Long
  
     注:该函数用于关闭系统注册表中打开的键。函数的返回值:如键关闭成功返回0,否则返回非0。
  
     3.在Moudle1中编写下列函数:
  
     Function RegOpenKey(ByVal hkey As Long, ByVal lpszSubKey As String, phkResult As Long) As Boolean
  
     Dim lResult As Long
  
     On Error GoTo 0  ‘ 关闭错误陷阱
  
     lResult = OSRegOpenKey(hkey, lpszSubKey, phkResult)
  
     If lResult = 0 Then RegOpenKey = True
  
     Else RegOpenKey = False
  
     End Function
  
     Function RegSetStringValue(ByVal hkey As Long, ByVal strValueName As String, ByVal strData As String, Optional ByVal fLog) As Boolean
  
     Dim lResult As Long
  
      On Error GoTo 0
  
     lResult = OSRegSetValueEx(hkey, strValueName, 0&, REG—SZ, ByVal strData, LenB(StrConv(strData, vbFromUnicode) + 1)
  
     注:StrConv是VB提供的函数,返回按指定类型转换的 Variant (String)。vbUnicode 是VB系统常数。在上面程序中,StrConv(strData,vbFromUnicode)的作用是:根据系统的缺省码页将字符串转换成Unicode。Unicode是国际标准化组织(ISO)字符标准,它使用16位(2字节编码方案),允许65536个不同的字符空间,Unicode包括标点符号、数学符号、修饰符号等的表示。
  
   If lResult = 0 Then RegSetStringValue = True
  
   Else RegSetStringValue = False
  
   End Function
  
     4.双击Command1,在Click事件中编写下列代码:
  
     Private Sub Command1—Click()
  
      Dim hkey As Long
  
      Dim MyReturn As Long
  
      MyReturn = RegOpenKey(HKEY—LOCAL—MACHINE,″SOFTWARE\Microsoft\Windows\ CurrentVersion\Run″, hkey)
  
      If hkey = 0 Then
  
     MsgBox ″您要求打开的主键尚未创建,或者您的输入有误,请仔细核对后再次运行本程序!″
  
   Exit Sub
  
      End If
  
      MyReturn = RegSetStringValue(hkey, ″MyAcess″, ″d:\program files\office97\office\mymsaccess.exe″, False)
  
     注:如果 fLog 丢失或为 True,则该动作将记录在日志文件,并且,如果用户选择删除已安装的应用程序,该值将被应用程序删除。
  
     If MyReturn Then MsgBox “您的程序已成功添加到Windows 95的启动中,再次启动Windows时系统将自动运行您的程序!", vbExclamation, “特别提示"
  
     Else MsgBox “您的这段代码中存在某种错误,请认真检查!", vbExclamation, “特别提示"
  
     OSRegCloseKey(hkey)
  
     End Sub
  
     以上程序在简体中文Windows95、VB5.0环境中调试通过。
  

↑返回顶部 打印本页 关闭窗口↓
用户名: 新注册) 密码: 匿名评论 [所有评论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
§最新评论:
推荐女性文章
热点女性文章
·温泉沐浴小常识
·风雨沧桑话按摩
·生命的节日
·女子保养按摩手法
·日常化妆美丽秘籍
·持久无瑕的超级美妆(图)
·单眼皮美女秦海璐的美丽经
·水分+营养 金南珠美颜秘法
最新女性文章
·情人节开派对自爆假鼻 萧
·阿娇游街遭到女粉丝轻薄
·麦当娜获奖不感谢里奇 老
·含情脉脉游北京 张静初周
·新书爆自闭 章子怡怨“成
·张国立邓婕公司被告欠费
·伊莎贝拉柏林首映 老婆老
·丁香味仍在飘散 唐磊又悄
Power by www.6042.com 女性健康网