用VB设置开机自动启动应用程序
工具/原料
开机自动启动程序的编辑实际上是调用API函数来修改或增加注册表中的值,这样在系统启动时就会自动执行。
下面是这个开机自动启动程序的设计界面和运行界面。开机自动启动设计界面
开机自动启动运行界面
步骤/方法
1、OptionExplicitConstREG_SZAsL艺皱麾酪ong=1ConstHKEY_LOCAL_MACHINE租涫疼迟=&H80000002'创建注册表项PrivateDeclareFunctionRegCreateKeyLib"advapi32.dll"Alias_"RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,_phkResultAsLong)AsLong'设置注册表项中的值PrivateDeclareFunctionRegSetValueExLib"advapi32.dll"Alias_"RegSetValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,_ByValReservedAsLong,ByValdwTypeAsLong,lpDataAsAny,_ByValcbDataAsLong)AsLong'打开注册表中的项PrivateDeclareFunctionRegOpenKeyExLib"advapi32.dll"Alias_"RegOpenKeyExA"(ByValhKeyAsLong,ByVallpSubKeyAsString,_ByValulOptionsAsLong,ByValsamDesiredAsLong,phkResultAsLong)AsLong'获取子项PrivateDeclareFunctionRegQueryValueExLib"advapi32.dll"Alias_"RegQueryValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,_ByVallpReservedAsLong,lpTypeAsLong,lpDataAsAny,lpcbDataAsLong)AsLongConstREG_DWORD=4
2、PrivateSubForm_Load()'为text1设置默认路径程序Text1.Text="C:\ProgramFiles\****\****.exe"'请修改自动启动程序的路径。EndSub
3、PrivateSubCommand1_Click()'豹肉钕舞设置开机启动DimhKeyAsLongDimmy髫潋啜缅exeAsStringDimmyintAsIntegermyint=Len(Text1.Text)-InStrRev(Text1.Text,"\")'取得应用程序文件名字符串的字节数,含扩展名myexe=Right(Text1.Text,myint)'取得应用程序文件名字符串,含扩展名IfText1.Text<>""ThenRegCreateKeyHKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Run",hKey'"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"是注册表中的路径RegSetValueExhKey,myexe,0,REG_SZ,ByValText1.Text,255'myexe是上面注册表路径中添加的项,Text1.Text是该项的数据。EndIfMsgBox"设置完成,请您重新启动计算机!"&vbCrLf&vbCrLf&"你设置的程序将开机自动执行!",64,"提示信息"EndSub
4、PrivateSubCommand2_Click()'查找自动启动的程序DHK1.DialogTitle="选择程序"'注意打开对话框的名称是DHK1DHK1.Filter="应用程序(*.exe)|*.exe"DHK1.ShowOpenIfLen(DHK1.FileName)ThenText1.Text=DHK1.FileNameEndIfEndSub
5、PrivateSubCommand3_Click()EndEndSub