leibin0121 发表于 2011-9-7 20:50:24

【已解决】如何实现一个热键按一次执行一个操作,再按一次执行另一个操作?

本帖最后由 leibin0121 于 2011-9-8 09:24 编辑

HotKeySet("{F1}","usb_zd")
dim $dword
While 1
        Sleep(250)
WEnd

Func usb_zd()
;RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies","WriteProtect","REG_DWORD",1)
$dword = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies","WriteProtect")

   If $dword=1 Then
   MsgBox (64,"提示", "只读模式")
Else
MsgBox (64,"提示", "可写模式")

       
EndIf
EndFunc想实现一个热键按一下U盘只读,再按一下可写。好晕啊,不知道怎么写,求大侠开窍!
{:face (319):}


答案:5楼

netegg 发表于 2011-9-7 20:55:51

本帖最后由 netegg 于 2011-9-7 23:03 编辑

做两个自定义函数,第一个函数用来计算次数,第二个根据次数运行,只是给个方法,具体方法自己想想吧

gzh888666 发表于 2011-9-7 21:00:06

2楼高手,思路很值得借鉴!

kevinch 发表于 2011-9-7 21:42:02

公共逻辑变量,初始化后通过热键程序执行及更改

afan 发表于 2011-9-7 21:49:13

HotKeySet("{F1}", "usb_zd")
Dim $dword = False

While 1
        Sleep(250)
WEnd

Func usb_zd()
        If Not $dword Then
                $dword = True
                Return MsgBox(64, "提示", "只读模式")
        EndIf
        $dword = False
        MsgBox(64, "提示", "可写模式")
EndFunc   ;==>usb_zd

cxlater 发表于 2011-9-7 21:52:35


$count = 1
HotKeySet("{F1}", "usb_zd")
Dim $dword
While 1
        Sleep(250)
WEnd

Func usb_zd()
        If Mod($count ,2) Then
                MsgBox(0,"" ,"A")
        Else
                MsgBox(0,"" ,"B")
        EndIf
        $count += 1
EndFunc

xrzmjz 发表于 2011-9-8 03:57:58

二楼正解..

leibin0121 发表于 2011-9-8 09:22:46

回复 5# afan


    感谢afan的热心帮助。
页: [1]
查看完整版本: 【已解决】如何实现一个热键按一次执行一个操作,再按一次执行另一个操作?