FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Bataille navale SM
Détecter les péripériques connectés Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Détecter les péripériques connectés Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Détecter les péripériques connectés Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Détecter les péripériques connectés Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Détecter les péripériques connectés Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Détecter les péripériques connectés Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Détecter les péripériques connectés Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Détecter les péripériques connectés Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Détecter les péripériques connectés Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Détecter les péripériques connectés Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
Détecter les péripériques connectés Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
Détecter les péripériques connectés Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Détecter les péripériques connectés Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Détecter les péripériques connectés Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Détecter les péripériques connectés Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

 Détecter les péripériques connectés

Aller en bas 
4 participants
AuteurMessage
Invité
Invité




Détecter les péripériques connectés Empty
MessageSujet: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 0:15

Bonjour,

Voici un programme court qui permet de détecter les périphériques connectés sur l'ordinateur.

P.S: Assez souvent il y a une erreur que je ne comprend pas très bien...
'Exception Processing Message ... Parameters ...'

Code:

dim i

alpha 2
top 2,5
left 2,10
caption 2,"Disques :"

list 1
left 1,5
top 1,25
width 1,100
height 1,150
width 0,118
height 0,217
caption 0,""
item_add 1,"Recherche..."
wait 500
for i=65 to 90
  if dir_exists(chr$(i)+":\")=1 then item_add 1,chr$(i)+":\"
  if i=65 then item_delete 1,1
next i


Dernière édition par Nicolas le Mar 9 Aoû 2011 - 1:01, édité 1 fois
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 0:22

Bravo Nicolas ça marche bien très utile
Merci j'adopte
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 10:44

Oui mais c'est toujours pareil, je me suis cassé les dents plusieurs fois là-dessus, avec cette erreur sur certaines lettres c'est inutilisable dans un programme.

(@minifly, ça ne fait pas d'erreur chez toi ???)

On peut voir sur quelles lettres ça coince
Code:
dim i
alpha 2: top 2,5: left 2,50: caption 2,"Disques :"
list 1: left 1,50: top 1,25: width 1,80: height 1,150
width 0,160: height 0,420: caption 0,""
item_add 1,"Recherche..."
for i=65 to 90
  print " "+chr$(i)
  if dir_exists(chr$(i)+":\")=1 then item_add 1,chr$(i)+":\"
  if i=65 then item_delete 1,1
next i
end
mais je ne sais pas pourquoi (l'erreur n'est pas très explicite).
Et finalement, même si j'aimerais bien le faire en Panoramic pur, j'appelle un script vbs pour avoir la liste des volumes présents (savoir si tel ou tel périphérique ou clé usb, ou disque externe etc. est branché).

Il y a ça, par exemple:
Code:
' Liste des volumes montés et actifs avec leur nom
dim fm$, vo$, a$, c$, nv, i
dim v$(20)

fm$ = "Z:\temp"

EXECUTE_WAIT "Command.com /c fsutil fsinfo drives >" + fm$: ' liste de tous les volumes
File_Open_Read 1, fm$
File_ReadLN 1, vo$: File_ReadLn 1, vo$
File_Close 1
nv = 0
FOR i = 12 TO LEN(vo$) STEP 4
    c$ = MID$(vo$, i, 2)
    EXECUTE_WAIT "Command.com /c fsutil fsinfo volumeinfo " + c$ + " >" + fm$
    File_Open_Read 1, fm$
    FILE_READLN 1, a$
    IF LEFT$(a$, 6) <> "Erreur": ' (si volume non actif)
        nv = nv + 1: v$(nv) = c$ + " " + MID$(a$, 17, LEN(a$)-17+1)
    END_IF
    FILE_CLOSE 1
NEXT i
FOR i = 1 TO nv: PRINT v$(i): NEXT i: ' juste pour voir le résultat
END
ça donne bien la liste des volumes montés, mais avec pour chaque lettre examinée apparition brève d'une fenêtre Dos désagréable.

Sinon, Klaus a fait une dll qui donne cette liste, il suffit de faire une petite recherche dans le forum.
Mais c'est une dll, donc externe à panoramic.

Les discussions, c'était là:
https://panoramic.1fr1.net/t570-liste-des-volumes-montes-et-actifs?highlight=volumes+mont%E9s
et surtout là:
https://panoramic.1fr1.net/t1211-volumes-montes?highlight=volumes+mont%E9s
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2690
Date d'inscription : 13/09/2009

Détecter les péripériques connectés Empty
MessageSujet: +++   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 12:28

Chez moi, l'erreur se produit seulement pour le B.
En faisant comme ceci, cela marche sans erreur :
Code:
for i=67 to 90
  if dir_exists(chr$(i)+":\")=1 then item_add 1,chr$(i)+":\"
next i
La raison de l'erreur sur le B est probablement que
le B est réservé à un 2° lecteur de disquette,
et si il n'y en a pas d'installé sur le système,
alors ça plante.
Enfin, c'est une hypothèse qui me paraît donner une bonne explication.
scratch alien jocolor
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 14:40

Tiens, un revenant, salut jjn4 !
Je suis actuellement sous XP (j'étais sous Vista, mais je suis revenu un matériel en arrière, because crash définitif).
Bizarre cette erreur, que je ne m'explique pas, (même en ignorant A et B qui sont réservés)
Détecter les péripériques connectés Img

Edit
vu que l'affichage dans le List est un peu décalé dans le temps, j'ai mélangé les lettres, alors j'ai fait ceci pour repérer les lettres qui posent un problème:
Code:
dim i
alpha 2: top 2,5: left 2,10: caption 2,"Disques :"

list 1: left 1,5: top 1,25: width 1,100: height 1,150
for i=67 to 90
  message chr$(i)
  if dir_exists(chr$(i)+":\")=1 then item_add 1,chr$(i)+":\"
next i
et chez moi ça donne une erreur sur F, H, I, K, sur lesquelles rien n'est monté
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2690
Date d'inscription : 13/09/2009

Détecter les péripériques connectés Empty
MessageSujet: +++   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 15:56

Il n'y a pas cela chez moi, où seul le B pose problème.
@JL35 : est-ce que F, H, I et K ne seraient pas des endroits réservés
à des lecteurs de CD ou DVD qui ne seraient pas installés ?
Je dis ça parce que je sais que tu as une mémoire Z qui est tout à fait inhabituelle,
alors pourquoi pas d'autres choses inhabituelles aussi ?

Ah oui, salut !!!
Mais je ne suis pas un revenant !
C'est que souvent, le site perd mon identité,
et il me voit alors comme un simple visiteur inconnu...
Et je ne me réidentifie que lorsque j'ai quelque chose à dire.
Bon, d'accord, c'est vrai que ces temps-ci, je n'ai pas grand chose à dire !
Il y a des périodes, comme ça... !
Laughing Laughing alien Laughing Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 16:23

Non je n'ai pas de message d'erreur mais:
In ne reconnait pas le port Usb ou il y a une souris Usb de branché
Mon 2 port il le reconnait j'ai une clé usb de branché
il ne reconnait pas le lecteur de DVD rien dedans.

Je suis sous Win 7
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 16:33

Content de te revoir en tout cas !
Ben non, je n'ai rien de particulier, à part mon lecteur Z (partie de mémoire réservée en drive, qui sert de volume de manoeuvre) qui n'a rien de mystérieux, ça se faisait couramment en qbasic, et c'est un truc microsoft (Ramdisk), et je ne vois pas du tout à quoi correspondent les lettres défaillantes.

Ce serait intéressant de savoir si d'autres on aussi ces erreurs ? ou si je suis l'ovni de service...

En fait ce qui est intéressant ce ne sont pas les lettres en soi (je ne vois pas bien à quoi ça peut servir seul), mais les noms des volumes qui sont montés dessus, pour savoir à quoi ça correspond.
J'ai un script vbs qui fait ça (et sans erreur !), mais malheureusement ça fait apparaître momentanément une fenêtre noire disgracieuse dont je ne sais pas me débarrasser.
Sinon, pour ceux que ça intéresse, on peut lancer le script comme ceci):
Code:
DIM fscr$, fvol$, a$
fscr$ = "Z:\Vol.vbs": ' --------- A AJUSTER ---------
fvol$ = "Z:\Volumes.txt": ' --------- A AJUSTER ---------
DATA "' ----------------------------------------------------------"
DATA "' Script donnant les caractéristiques des disques de l'ordinateur"
DATA "' ----------------------------------------------------------"
DATA "typeD=Array("+CHR$(34)+"Inconnu"+CHR$(34)+","+CHR$(34)+"Amovible"+CHR$(34)+","+CHR$(34)+"Fixe"+CHR$(34)+","+CHR$(34)+"Réseau"+CHR$(34)+","+CHR$(34)+"CD-ROM"+CHR$(34)+","+CHR$(34)+"RAM Disk"+CHR$(34)+")"
DATA "Dim net, shell, computer, fso, WMISet,oWinnt"
DATA "Set net  = Wscript.CreateObject("+CHR$(34)+"WScript.Network"+CHR$(34)+")"
DATA "Set shell = WScript.CreateObject("+CHR$(34)+"WScript.Shell"+CHR$(34)+")"
DATA "Set fso  = WScript.CreateObject("+CHR$(34)+"Scripting.FileSystemObject"+CHR$(34)+")"
DATA ""
DATA "computer=net.ComputerName"
DATA "InfosDisques Computer "
DATA "wscript.quit"
DATA ""
DATA "Sub InfosDisques(computer)"
DATA "set WMISet = GetObject("+CHR$(34)+"winmgmts:{impersonationLevel=impersonate}!//"+CHR$(34)+" & Computer).ExecQuery _"
DATA "   ("+CHR$(34)+"SELECT * FROM Win32_LogicalDisk"+CHR$(34)+")"
DATA "Message="+CHR$(34)+""+CHR$(34)+""
DATA "Mega=1048576"
DATA "For each Disk in WMISet"
DATA "  Capa=Disk.Size"
DATA "  Desc=TypeD(Disk.DriveType-1)"
DATA "  If Capa<>"+CHR$(34)+""+CHR$(34)+" Then"
DATA "    Name=Disk.VolumeName"
DATA "    Serial=Disk.VolumeSerialNumber"
DATA "    TT=int(cdbl(Capa)/mega)"
DATA "    TL=int(cdbl(Disk.FreeSpace)/mega)"
DATA "    Syst=Disk.FileSystem"
DATA "    If TT>0 Then"
DATA "      pc=int(TL*100/TT)"
DATA "    Else"
DATA "      pc="+CHR$(34)+""+CHR$(34)+""
DATA "    End If"
DATA "  Else"
DATA "    Name="+CHR$(34)+""+CHR$(34)+""
DATA "    Serial="+CHR$(34)+""+CHR$(34)+""
DATA "    TT="+CHR$(34)+""+CHR$(34)+""
DATA "    TL="+CHR$(34)+""+CHR$(34)+""
DATA "    Syst="+CHR$(34)+"non prêt"+CHR$(34)+""
DATA "    pc="+CHR$(34)+""+CHR$(34)+""
DATA "  End If"
DATA "  Message=Message & Disk.Name & "+CHR$(34)+" "+CHR$(34)+" & FormatStrL(name,11)"
DATA "  Message=Message & VBCRLF "
DATA "Next"
DATA "wscript.echo Message"
DATA "End Sub"
DATA ""
DATA "Function FormatStrL(ch,lmax)"
DATA "l=len(ch)"
DATA "If l<lmax Then "
DATA "  For k = l+1 To lmax"
DATA "    ch=ch & "+CHR$(34)+" "+CHR$(34)+""
DATA "  Next"
DATA "End If"
DATA "FormatStrL=ch"
DATA "End Function"
DATA "f"
FILE_OPEN_WRITE 1, fscr$
READ a$
WHILE a$ <> "f": FILE_WRITELN 1, a$: READ a$: END_WHILE
FILE_CLOSE 1
EXECUTE_WAIT "Cmd.exe /c " + fscr$ + " >" + fvol$
LIST 1: WIDTH 1, 200: HEIGHT 1, 300
FILE_LOAD 1, fvol$
END
on peut supprimer ces deux fichiers après usage...

Comme on le voit, avec ce script on peut obtenir en plus du nom du volume son numéro de série, sa capacité totale, le volume occupé, le pourcentage occupé, et le système de formatage du disque.

Edit 21h50 rectifié, il manquait le Cmd.exe /c dans l'Execute_Wait...

@minifly
pour toi tout semble normal.
C'est normal qu'il ne reconnaisse pas la souris, ni l'imprimante, comme volumes, ni le lecteur de dvd s'il ne contient pas de disque.


Dernière édition par JL35 le Lun 8 Aoû 2011 - 21:50, édité 3 fois
Revenir en haut Aller en bas
Invité
Invité




Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 16:39

Comme jjn4 si je commence par le lecteur C:\ je n'ai plus d'erreur. Et je n'ai pas de deuxième lecteur de disquettes.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 16:43

Alors il n'y a que moi ? c'est peut-être XP ?
Dans l'explorateur Windows, mes F, H, I, K sont bien donnés comme 'Disques amovibles' , plus exactement 'Périphériques utilisant des supports amovibles', sans rien monté dessus.

Finalement, je crois bien que ça correspond à mon lecteur de cartes mémoires intégré, une lettre par type de lecteur: compact flash, SD card, etc
parceque j'ai une comptact-flash montée sur G: et là il ne fait pas d'erreur, seulement s'il n'y a rien de monté dessus.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2690
Date d'inscription : 13/09/2009

Détecter les péripériques connectés Empty
MessageSujet: +++   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 20:12

Oui, quelque chose comme ça.
En tout cas, ce n'est pas dû à XP, je suis sur XP aussi.
geek alien
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyLun 8 Aoû 2011 - 20:24

Je vais passer prochainement à Seven, mon pc de secours a des faiblesses, on verra bien.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyMar 9 Aoû 2011 - 10:14

Cool JL35, en plus c'est vrai que plutôt que de passer par des DLL quand on ne trouve pas dans panoramic, le fait de passer par un VBS est bien pratique et reste totallement paramètrable et "ouvert" pour quand l'on donne nos sources.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyMar 9 Aoû 2011 - 15:14

C'est vrai que c'est plus souple, gros avantage tout est compris dans le module, et on peut modifier à sa guise.

L'inconvénient, même si ce n'est pas bloquant, ce n'est pas complètement transparent comme une dll, avec l'apparition fugitive de cette satanée fenêtre noire d'exécution du cmd.exe. Et sans le cmd ça ne marche pas, dommage. Alors qu'on peut exécuter un script .vbs directement depuis la ligne de commande de Windows.
Revenir en haut Aller en bas
Invité
Invité




Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyMar 9 Aoû 2011 - 18:22

Ah! JL35

J'ai fais un essai, et pour ne pas tout recopier le code, j'ai repris depuis le disque le script, et simplement remplacé cmd.exe, par:
Code:
EXECUTE_WAIT "wscript.exe " + "C:\temp\vol.vbs"
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyMar 9 Aoû 2011 - 18:33

pas le temps de regarder, je dois partir, mais tu m'intéresses !!!
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyMer 10 Aoû 2011 - 0:21

Je viens d'essayer en vitesse, pas mal cosmos le coup du wscript.exe pour exécuter le script, plus de fenêtre noire à l'écran, c'est quand même plus esthétique.
Mais il affiche le résultat à l'écran et non plus dans le fichier, donc pas exploitable par programme.
Il faut que je farfouille dans mes archives pour trouver comment faire écrire le résultat par le script dans le fichier de sortie, il me semble avoir ça quelque part (je suis un peu néophyte dans le vbs).

A suivre...
Revenir en haut Aller en bas
Invité
Invité




Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés EmptyMer 10 Aoû 2011 - 4:55

A dire vrai, avant que tu ne parles de script vbs, je ne savais pas que cela existait.
un des liens:
http://tahe.developpez.com/web/vbscript/?page=page_2

Bonne chance
Revenir en haut Aller en bas
Contenu sponsorisé





Détecter les péripériques connectés Empty
MessageSujet: Re: Détecter les péripériques connectés   Détecter les péripériques connectés Empty

Revenir en haut Aller en bas
 
Détecter les péripériques connectés
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment détecter la version de Windows ?
» Pour détecter la position du curseur
» Detecter la couleur d'un pixel sur l'écran
»  Détecter le type du PC Portable ou Fixe

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: