请问这个程序什么地方有问题啊

来源:百度知道 编辑:UC知道 时间:2024/09/20 11:55:27
dim qq, awaymode
set qq=WScript.CreateObject("WScript.Shell")
set awaymode=WScript.CreateObject("WScript.Shell")
qq.Run "D:\qq\qq.exe"
WScript.Sleep 1000
awaymode.Run ("cmd.exe /c rundll32 powrprof.dll,SetSuspendState"),0

上面这个是运行qq 过一秒以后直接进入离开模式
我的系统是vista
"rundll32 powrprof.dll,SetSuspendState" 这个命令在xp里面是睡眠的命令 我的vista开了离开模式以后便是进入离开模式
我如果只写进入离开模式的程序 如下:
dim awaymode
set awaymode=WScript.CreateObject("WScript.Shell")
awaymode.Run ("cmd.exe /c rundll32 powrprof.dll,SetSuspendState"),0
就可以很顺利的进入离开模式
但是我如果加入了运行qq的以后
进入离开模式马上屏幕就亮了 就回来了
不知道怎么回事 希望高手解答啊

应该不是程序的问题
Windows Media Player也存在这样的问题,在播放列表里播放下一曲时屏幕也会被激活的

你Shell一个关闭显示器的程序,运程程序显示器被激活后再关闭显示器
以下是关闭显示器的 VB6.0的代码
'添加一个Timer控件

Option Explicit
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_SYSCOMMAND = &H112&
Const SC_MONITORPOWER = &HF170&

Private Sub Form_Load()
Timer1.Interval = 2000 '程序运行2秒钟后关闭显示器
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
SendMessage GetForegroundWindow, WM_SYSCOMMAND, SC_MONITORPOWER, 2
Unload Me
End Sub

。你QQ已经加载 当然会从离开弹回来。结束QQ进程再启动离开