找回密码
 加入
搜索
查看: 6431|回复: 13

[AU3基础] 【已解决】唤醒不需要输入密码的批处理,怎样换成AU3执行代码?

 火.. [复制链接]
发表于 2014-1-8 21:08:05 | 显示全部楼层 |阅读模式
本帖最后由 fybhwsx 于 2014-1-8 23:15 编辑
@echo off 

for /f "tokens=3" %%i in ('powercfg /q^|findstr /r "电源方案"') do (set guid1=%%i) 

powercfg -setdcvalueindex %guid1% fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0 

powercfg -setacvalueindex %guid1% fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0 
虽然不能换成au3的直接执行代码,但把代码存为  .bat 文件后,用
ShellExecute("唤醒时不需要密码.bat","", @ScriptDir, "open", @SW_HIDE)
可以成功运行。

顺便再贴几个其它电源设置项,给有需要的朋友。如果使用禁用休眠,就不需要使用从不休眠了。
Run(@ComSpec & " /c " & 'powercfg -h off', "", @SW_HIDE);禁用休眠
Sleep(500)
;Run(@ComSpec & " /c " & 'POWERCFG /CHANGE hibernate-timeout-ac 0', "", @SW_HIDE);从不休眠
;Sleep(500)
;Run(@ComSpec & " /c " & 'POWERCFG /CHANGE hibernate-timeout-dc 0', "", @SW_HIDE);从不休眠
;Sleep(500)
Run(@ComSpec & " /c " & 'POWERCFG /CHANGE disk-timeout-ac 0', "", @SW_HIDE);从不关闭硬盘
Sleep(500)
Run(@ComSpec & " /c " & 'POWERCFG /CHANGE disk-timeout-dc 0', "", @SW_HIDE);从不关闭硬盘
发表于 2014-1-8 21:12:08 | 显示全部楼层
存为bat文件,Run() 执行…
 楼主| 发表于 2014-1-8 21:18:50 | 显示全部楼层
存为bat文件,Run() 执行…
afan 发表于 2014-1-8 21:12



    老大,不能au3直接执行吗?
 楼主| 发表于 2014-1-8 21:20:46 | 显示全部楼层
批处理要以管理运行才管用的。
发表于 2014-1-8 21:21:18 | 显示全部楼层
RunWait(@ComSpec & ' /c ' & '@echo off ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=3" %i in (' & "'" & _
'powercfg /q^|findstr /r "电源方案"' & "'" & _
') do (set guid1=%i) ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'powercfg -setdcvalueindex %guid1% fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0 ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'powercfg -setacvalueindex %guid1% fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0 ', '', @SW_HIDE)
 楼主| 发表于 2014-1-8 21:42:43 | 显示全部楼层
yinbinly 发表于 2014-1-8 21:21



    谢谢,不过好像不管用?
发表于 2014-1-8 22:01:15 | 显示全部楼层
回复 3# fybhwsx


    这样?
Local $Str = '@echo off &for /f "tokens=3" %%i in (' & "'powercfg /q^|findstr /r " & '"电源方案"' & "') do (set guid1=%%i) &powercfg -setdcvalueindex %guid1% fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0 &powercfg -setacvalueindex %guid1% fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0"
Run(@ComSpec & ' /c ' & $Str, '', 0)
 楼主| 发表于 2014-1-8 22:09:49 | 显示全部楼层
回复  fybhwsx


    这样?
afan 发表于 2014-1-8 22:01



    谢谢,还是不行。看来现在只能手动右键——以管理员身份运行bat了。
发表于 2014-1-8 22:41:11 | 显示全部楼层
呵呵!大家都很给力啊!
发表于 2014-1-9 09:37:25 | 显示全部楼层
调用bat文件,与你转换成AU3代码的要求是不相符的。
先要把cmd脚本转成单行命令,然后再用run语句执行。注意要用“/V:ON/c ”参数和“setlocal enabledelayedexpansion”延缓环境变量扩展,%×%要换成!×!。
请参阅:调用cmd(dos)命令详解
 楼主| 发表于 2014-1-9 11:08:52 | 显示全部楼层
调用bat文件,与你转换成AU3代码的要求是不相符的。
先要把cmd脚本转成单行命令,然后再用run语句执行。注 ...
vuivui 发表于 2014-1-9 09:37



    谢谢,学习中。。如果您能给出实现的代码,那就更好了。。
 楼主| 发表于 2014-1-10 09:10:30 | 显示全部楼层
本帖最后由 fybhwsx 于 2014-1-10 09:16 编辑

这回彻底解决了,不是au3的问题,是电源命令问题!
;电源设置

Run(@ComSpec & " /c " & 'powercfg -h off', "", @SW_HIDE);禁用休眠
Sleep(50)
;Run(@ComSpec & " /c " & 'POWERCFG /CHANGE hibernate-timeout-ac 0', "", @SW_HIDE);从不休眠
;Sleep(50)
;Run(@ComSpec & " /c " & 'POWERCFG /CHANGE hibernate-timeout-dc 0', "", @SW_HIDE);从不休眠
;Sleep(50)

Run(@ComSpec & " /c " & 'POWERCFG -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0', "", @SW_HIDE);唤醒时不需要密码
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e fea3413e-7e05-4911-9a71-700331f1c294 0e796bdb-100d-47d6-a2d5-f7d2daa51f51 0', "", @SW_HIDE);唤醒时不需要密码
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d 1', "", @SW_HIDE);启用唤醒定时器
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d 1', "", @SW_HIDE);启用唤醒定时器
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 0012ee47-9041-4b5d-9b77-535fba8b1442 6738e2c4-e8a5-4a42-b16a-e040e769756e 0', "", @SW_HIDE);从不关闭硬盘
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 0012ee47-9041-4b5d-9b77-535fba8b1442 6738e2c4-e8a5-4a42-b16a-e040e769756e 0', "", @SW_HIDE);从不关闭硬盘
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 3', "", @SW_HIDE);合上盖子关机
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 3', "", @SW_HIDE);合上盖子关机
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 7516b95f-f776-4464-8c53-06167f40cc99 aded5e82-b909-4619-9949-f5d71dac0bcb 0', "", @SW_HIDE);显示器亮度(0)
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 7516b95f-f776-4464-8c53-06167f40cc99 aded5e82-b909-4619-9949-f5d71dac0bcb 0', "", @SW_HIDE);显示器亮度(0)
Sleep(50)
Run(@ComSpec & " /c " & 'POWERCFG -setactive 381b4222-f694-41f0-9685-ff5bb260df2e', "", @SW_HIDE);激活电源方案
 楼主| 发表于 2014-1-10 09:16:06 | 显示全部楼层
这是为无人值守设计的电源方案。用计划任务定时唤醒睡眠状态的笔记本,进行自动交易用的。希望能帮助到需要的朋友。。
发表于 2014-1-13 13:51:43 | 显示全部楼层
谢谢,已经使用。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-23 05:20 , Processed in 0.083839 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表