au3脚本怎么使用devcon.exe
不知道问的合理否?我想写一个脚本来控制设备管理器里面的一个设备的开关动作.
运用devcon.exe的命令disable和enable可以实现开关一个硬件设备的功能,
如果想用au3脚本编写一个控件界面来操作设备的开关,该怎么去写呢??怎么使用上dencon.exe??
不知道表达的清楚没??希望朋友能够帮提供点思路,谢谢!!!:face (36):
[ 本帖最后由 starl 于 2009-4-20 13:57 编辑 ] 先学爬再学走,不要一来就想着做个什么程序出来。。。。
控件界面用koda画就可以了,很多函数可以看帮助~~ 谢谢zjimmy的教导:face (35):
请教下帮助文档里面写了使用dos命令可以使用runwait(@comspec & "/c"&"command")这个函数,这个函数里面的“/c”这个参数是指盘符路径还是什么?devcon.exe的命令disable和enable应该也属于dos命令吧!怎么我使用却报告错误无法执行外部程序。可能是我还没理解这个函数使用dos命令的用法,希望达人帮忙解疑。。。谢谢 /c 是 cmd.exe /c 的参数 可以执行完后面的命令以后关闭
还有你上面runwait(@comspec & "/c"&"command") 这个 /c 前后都有空格 " /c " 原帖由 seominho 于 2009-4-13 14:39 发表 http://www.autoitx.com/images/common/back.gif
/c 是 cmd.exe /c 的参数 可以执行完后面的命令以后关闭
还有你上面runwait(@comspec & "/c"&"command") 这个 /c 前后都有空格 " /c "
谢谢!!!
runwait(@comspec & " /c \devcon.exe "&"disable",@systemdir,@SW_HIDE)
devcon.exe(disable\enable)这两个命令是ms提供直接操作硬件的开关,我上面这样使用执行总是报错不能执行外部程序。。。对于这个函数的使用dos命令不太清楚,帮助文档好像也没什么信息,期待达人帮忙传道授业解惑,谢谢!! 我这里执行上面语句没有错。。。。。。不过不知道命令是否执行
看看是不是有别的什么错误
或者 你可以试试 ShellExecute 或 ShellExecuteWait #include <GUIConstants.au3>
Dim $string = "enable"
GUICreate("音量控制",180,60)
$button = GUICtrlCreateButton("enable",20,10,60,30)
FileInstall("E:\自动脚本\脚本程序\devcon.exe",@SystemDir)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $button
$string = GUICtrlRead($button)
If $string = "enable" Then
GUICtrlSetData($button,"disable")
RunWait(@ComSpec & ' /c '& '\windows\systen32\devcon.exe'&'disable'&'USB_CLASS\01',@SystemDir,@SW_HIDE)
ElseIf $string = "disable" Then
GUICtrlSetData($button,"enable")
RunWait(@ComSpec & ' /c '& '\windows\systen32\devcon.exe'&'enable'&'USB_CLASS\01',@SystemDir,@SW_HIDE)
EndIf
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
就是做一个简单的控件来控制这个USB设备的开关动作,('USB_CLASS\01')这个是这个硬件的ID。可是这个脚本可以运行,却不能编译成.exe文件,很奇怪? 运行了好像没有发生实际的操作。。。可能是runwait这个函数用的有点问题吧。。。希望达人有空帮忙测试下,谢谢。。 。。。都快沉了!!!:face (36):
大虾们有空帮忙诊断下啊!!!! 哎 学艺不精!!!研究了半天果然是runwait函数的参数定义错误。。。
虽然现在搞定了,不过还是有疑惑啊!!帮助文档里面这样定义RunWait(@comspec & " \c " & "命令","",@SW_HIDE)
下面是我使用的情况,能通过使用DOS命令正常开关设别管理器里面的硬件设备!
RunWait(@comspec & " \cdevcon disable " & " USB\CLASS_01","",@SW_HIDE)
RunWait(@comspec & " \cdevcon enable " & " USB\CLASS_01","",@SW_HIDE)
可是参数的设置跟文档的不一样,devcon disable是命令 USB\CLASS_01是一个设备的ID
不过还是谢谢大家的指点帮忙!!! 原帖由 starl 于 2009-4-15 17:34 发表 http://www.autoitx.com/images/common/back.gif
哎 学艺不精!!!研究了半天果然是runwait函数的参数定义错误。。。
虽然现在搞定了,不过还是有疑惑啊!!帮助文档里面这样定义RunWait(@comspec & " \c " & "命令","",@SW_HIDE)
下面是我使用的情况,能通过使用 ...
帮助文档完全没有问题
RunWait(@comspec & " \c " & "devcon disableUSB\CLASS_01","",@SW_HIDE)
RunWait(@comspec & " \c " & "devcon enableUSB\CLASS_01","",@SW_HIDE)
zjimmy你好,谢谢你的回复!
RunWait(@comspec & " \c " & "devcon disableUSB\CLASS_01","",@SW_HIDE)
RunWait(@comspec & " \c " & "devcon enableUSB\CLASS_01","",@SW_HIDE)
哎 怪自己学艺不精啊!!!测试了下文档是对的,呵呵!!
想想也是啊,这个运算符& 本来就是连接的作用,都是字符串的连接!
谢谢大家的帮忙,可以结贴了,O(∩_∩)O~ 呵呵,半天没看明白,不过多看还是可以的噻、、
页:
[1]