; la combinaison de touches MAJ + CLIC sur une image lance son affichage avec FastStone Image Viewer #include Dim $dll, $fHit, $iBegin Dim $FichierSelection, $CheminImage, $CheminProgrammeImage, $Parametre, $View $Parametre = "" $FichierSelection = "" $CheminImage = "" $CheminProgrammeImage = "" $View = "" $dll = DllOpen("user32.dll") $fHit = False While 1 If _IsPressed("10", $dll) Then ; 10 = Maj key $iBegin = TimerInit() Do If _IsPressed("01", $dll) Then ; 01 = clic gauche souris $fHit = True ExitLoop EndIf Until TimerDiff($iBegin) > 1000 ElseIf _IsPressed("5C", $dll) Then ; 5C = touche Win de droite => Quitter On_exit() EndIf If $fHit Then $fHit = False $CheminImage = Affiche_nom_fichier($FichierSelection) $Parametre = '"' & $CheminImage & '"' $CheminProgrammeImage = "C:\Program Files\FastStone Image Viewer\FSViewer.exe" $View = ShellExecute($CheminProgrammeImage, $Parametre) EndIf WEnd Func On_Exit() DllClose($dll) Send("{ESC}") ; pour échapper au menu démarrer dû à la touche WIN utilisée en quittant... Exit EndFunc ;==>On_Exit Func Affiche_nom_fichier($FichierSelection) ;------------------------------------------ Dim $InfosFichier, $iIndex, $sSelectedFolder, $sSelectedFullPath $InfosFichier = "" $iIndex = ControlListView("[Class:CabinetWClass]", "", "SysListView321", "GetSelected") If $iIndex = "" Then Exit MsgBox(48, "Error", "There is no selected items." & @LF & @LF & "OK ==> EXIT") $sSelectedFolder = ControlListView("[Class:CabinetWClass]", "", "SysListView321", "GetText", $iIndex) $sSelectedFullPath = StringReplace(ControlGetText("[Class:CabinetWClass]", "", "Edit1") & "\" & $sSelectedFolder, "\\", "\") $InfosFichier = StringFormat("Selected Index = %i\nFolder Name = %s\nFull Path = %s", $iIndex, $sSelectedFolder, $sSelectedFullPath) $FichierSelection = $sSelectedFullPath Return $FichierSelection EndFunc ;==>Affiche_nom_fichier