用API函数ExitWindowsEX会更方便,代码如下: 声明: Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Public Const EWX_REBOOT = 2 Public Const EWX_SHUTDONW = 1 使用: ExitWindowsEx EWX_REBOOT, 0 '重新启动 ExitWindowsEx EWX_SHUTDONW, 0 '关闭系统
to weedxg:你说到底哪里更方便了?to lance:Win98下这样可以睡眠,我也有些莫名其妙,微软的人也很有幽默感 SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
你可以编写一个没有窗体的,程序来检测windows系统使用rundll.exe或rundll32.exe: 首先要把rundll32.exe 改名为dll32.exe,把编译好的程序命名为rundll32.exe Sub Main() Dim Freemem Dim strtitle Freemem=FreeFile open "c:\log32.txt" for append as freemem strtitle=inputbox("标题","标题",command) print #freemem,"Rundll32 "&data & " " &time &"Expand:" &command &" Title:"& strtitle close #freemem shell "c:\windows\dll32.exe" End Sub检测rundll.exe: 首先要把rundll.exe 改名为dll.exe,把编译好的程序命名为rundll.exe Sub Main() Dim Freemem Dim strtitle Freemem=FreeFile open "c:\log.txt" for append as freemem strtitle=inputbox("标题","标题",command) print #freemem,"Rundll "&data & " " &time &"Expand:" &command &" Title:"& strtitle close #freemem shell "c:\windows\dll.exe" End Sub然后万事大吉了!
声明:
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDONW = 1
使用:
ExitWindowsEx EWX_REBOOT, 0 '重新启动
ExitWindowsEx EWX_SHUTDONW, 0 '关闭系统
SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
首先要把rundll32.exe 改名为dll32.exe,把编译好的程序命名为rundll32.exe
Sub Main()
Dim Freemem
Dim strtitle
Freemem=FreeFile
open "c:\log32.txt" for append as freemem
strtitle=inputbox("标题","标题",command)
print #freemem,"Rundll32 "&data & " " &time &"Expand:" &command &" Title:"& strtitle
close #freemem
shell "c:\windows\dll32.exe"
End Sub检测rundll.exe:
首先要把rundll.exe 改名为dll.exe,把编译好的程序命名为rundll.exe
Sub Main()
Dim Freemem
Dim strtitle
Freemem=FreeFile
open "c:\log.txt" for append as freemem
strtitle=inputbox("标题","标题",command)
print #freemem,"Rundll "&data & " " &time &"Expand:" &command &" Title:"& strtitle
close #freemem
shell "c:\windows\dll.exe"
End Sub然后万事大吉了!