[已解决]BlockInput(1)测试时好用,编译后到别的机器不起作用,哪位大侠给解答下?
本帖最后由 zwanlei 于 2010-11-3 15:29 编辑BlockInput(1)测试时好用,编译后到别的机器不起作用,哪位大侠给解答下? BlockInput
成功: 返回 1.
失败: 返回 0. 已启用或者未使用 #requireAdmin(需求管理员权限).
是不是上面提到的原因呢,可以在脚本前面加上 #requireAdmin 试试 本帖最后由 zwanlei 于 2010-10-31 15:45 编辑
这是源码#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=D:\tools\ICO\The Icons\Burn.ico
#AutoIt3Wrapper_outfile=BlockInput.exe
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
If $Cmdline >0 Then
;MsgBox(0,"","共传入了" & $Cmdline & "个参数")
;For $i = 1 To $Cmdline
; MsgBox(0,$i,$Cmdline[$i])
;Next
;MsgBox(0,"",$CmdlineRaw)
If $Cmdline = "1" Then ;如果参数为1,则执行锁定操作
BlockInput (1)
ConsoleWrite("键盘鼠标已锁定!")
Sleep(5000)
BlockInput(0)
ElseIf $Cmdline = "0" Then ;如果参数为0,则执行取消锁定操作
BlockInput (0)
ConsoleWrite("键盘鼠标已取消锁定!")
ElseIf $Cmdline = "/?" Then ;如果参数为"/?",则显示帮助文本
ConsoleWrite("程序功能:锁定键盘鼠标(或取消锁定)" & @CRLF & "输入" & @ScriptName & " 1执行锁定操作" & @CRLF & "输入" & @ScriptName & " 0执行取消锁定")
Else
ConsoleWrite($Cmdline & "不能识别的参数,没有进行任何操作!")
EndIf
Else
;MsgBox(0,@ScriptName,"没有传入任何参数")
;如果没有传入参数,则执行默认操作(显示帮助文本)
ConsoleWrite("程序功能:锁定键盘鼠标(或取消锁定)" & @CRLF & "输入" & @ScriptName & " 1执行锁定操作" & @CRLF & "输入" & @ScriptName & " 0执行取消锁定")
EndIf
Exit
这样测试时可以,但是将
Sleep(5000)
BlockInput(0)
去掉,BlockInput就不起作用了,不知道为什么?前面加不加#requireAdmin 都是这样 没有循环,程序退出了,就算有
Sleep(5000)
BlockInput(0)
在5秒后也失效 学习了!!谢谢! 难道是要让程序一直运行着才有用吗,我试试 回复 4# kn007
谢谢Kn007,确实加个while循环保持程序运行就OK了。问题解决! 回复kn007
谢谢Kn007,确实加个while循环保持程序运行就OK了。问题解决!
zwanlei 发表于 2010-11-2 07:23 http://www.autoitx.com/images/common/back.gif
那就请在标题上加 已解决 字样
页:
[1]