Para executar um script AHK após detectar EHDD externo USB

Para executar um script AHK após detectar EHDD externo USB

Estou tentando fazer um script em AHK (Auto Hot Key) para detectar se há algum HDD externo conectado e então executar o próximo comando no script. Suponha que abaixo esteja o script.

A
B
C
D
E

Quero que A a C seja um script para verificar se uma unidade externa está conectada. Se sim, o comando irá para a linha D ou então irá para a linha E. Já verifiquei alguns scripts, mas não tive sorte. tentei o script nestelinkcomo referência, mas não tenho certeza de como modificar com base nas minhas necessidades.

Responder1

Se você conhece a etiqueta do(s) seu(s) HDD(s) externo(s), você pode usar isto:

; get a list of all the hard drives. Hard drives are considered as FIXED by AHK
DriveGet, drives, list, FIXED
Loop, Parse, drives  ; loop through each drive letter
{
  DriveGet, DriveLabel, Label, %A_LoopField%:  ; get the drive label

  ; IF DriveLabel not contains External HDD1 label,External HDD2 label
  IF (DriveLabel != "External HDD label")  ; If you want to use only one External HDD
    Continue

  ExternalDriveLetter := A_LoopField  ; get the drive letter of the last found

   ;    or 
  ; get the drive letter of the first found
   ; ExternalDriveLetter = %A_LoopField%
     ; Break

}
IfExist, %ExternalDriveLetter%:
    Run %ExternalDriveLetter%:  ; go to line D
else
    MsgBox, No External HDD is connected        ; go to line E

Responder2

Loop
{
    WinWaitActive, DiskInDrive   ; put the title in here for the dialog box to wait for indefinitely -- will need to exit from tray

    ; put code here to execute any time the window is active
    ; after code is done, program will loop and wait again

}

Se a caixa de diálogo não ficar ativa por padrão, você também poderá usar WinWait e WinActivate antes da instrução WinWaitActive acima.

informação relacionada