zwanlei 发表于 2010-10-31 14:58:08

[已解决]BlockInput(1)测试时好用,编译后到别的机器不起作用,哪位大侠给解答下?

本帖最后由 zwanlei 于 2010-11-3 15:29 编辑

BlockInput(1)测试时好用,编译后到别的机器不起作用,哪位大侠给解答下?

yhxhappy 发表于 2010-10-31 15:06:19

BlockInput
成功: 返回 1.
失败: 返回 0. 已启用或者未使用 #requireAdmin(需求管理员权限).

是不是上面提到的原因呢,可以在脚本前面加上 #requireAdmin 试试

zwanlei 发表于 2010-10-31 15:42:52

本帖最后由 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   都是这样

kn007 发表于 2010-10-31 16:53:23

没有循环,程序退出了,就算有

         Sleep(5000)
                BlockInput(0)
在5秒后也失效

masterpcc 发表于 2010-10-31 19:33:28

学习了!!谢谢!

zwanlei 发表于 2010-11-1 11:37:13

难道是要让程序一直运行着才有用吗,我试试

zwanlei 发表于 2010-11-2 07:23:03

回复 4# kn007

谢谢Kn007,确实加个while循环保持程序运行就OK了。问题解决!

kn007 发表于 2010-11-2 12:49:14

回复kn007

谢谢Kn007,确实加个while循环保持程序运行就OK了。问题解决!
zwanlei 发表于 2010-11-2 07:23 http://www.autoitx.com/images/common/back.gif


    那就请在标题上加   已解决   字样
页: [1]
查看完整版本: [已解决]BlockInput(1)测试时好用,编译后到别的机器不起作用,哪位大侠给解答下?