Para executar um script AHK depois de detectar o EHDD externo USB

0

Estou tentando criar um script em AHK (Auto Hot Key) para detectar se há algum disco rígido externo conectado e, em seguida, executar o próximo comando no script. Suponha abaixo o script.

A
B
C
D
E

Eu quero que A para C seja 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. Eu já verifiquei alguns scripts mas não tive sorte. tentei o script neste link como referência, mas não sei como modificar com base na minha exigência.

    
por Dragonborn 16.09.2015 / 10:33

2 respostas

0

Se você conhece o rótulo de 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
    
por 17.09.2015 / 16:37
0
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 se tornar ativa por padrão, você também pode usar WinWait e WinActivate antes da declaração WinWaitActive acima.

    
por 22.09.2015 / 06:54