FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» quel est ce comportement de Panoramic_editor
par JL35 Aujourd'hui à 16:38

» bug BORDER_HIDE : bloque la commande full_space
par silverman Aujourd'hui à 1:19

» Découpe dans une image
par JL35 Hier à 22:00

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Hier à 18:57

» Pour faire plaisir à jjn4.
par Pedro Alvarez Hier à 8:13

» Pour faire plaisir à Marc37.
par Marc Jeu 22 Fév 2018 - 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Jeu 22 Fév 2018 - 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

  Détecter le type du PC Portable ou Fixe

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet:  Détecter le type du PC Portable ou Fixe   Ven 12 Juin 2015 - 4:28

Voici une SUB CheckTypePC()  utilisant un script VBS pour détecter le type du PC sur lequel on travaille : PC portable ou PC fixe.
Ça peut être utile pour l’installation des certaines applications sur des portables.
Sinon, ça sera un inutilitaire de plus (bon pour la poubelle!)  king

Code:

rem ============================================================================
rem          Détecter le type du PC Portable ou Fixe
rem                    Par Papydall
rem ============================================================================
CheckTypePC()
if TypePC$ = "Notebook"
   message "Ordinateur Portable"
else
   if TypePC$ = "Desktop" then message "Ordinateur Fixe"
end_if
end

rem ============================================================================
' Retourne dans la variable globale TypePC$, le résultat :
' "Notebook" pour un ordinateur portable
' "Desktop"  pour un ordinateur fixe
SUB CheckTypePC()
    dim_local f$,retour$
    if variable("TypePC$") = 0 then DIM TypePC$
    if dir_exists("c:\temp") = 0 then dir_make "c:\temp"
    f$ = "c:\temp\CheckTypePC.vbs" : ' Fichier temporaire contenant le script
    retour$ = "c:\temp\retour.txt" : ' Fichier temporaire contenant le résultat de la fonction
' Enregistrer le script dans le fichier temporaire f$
    FILE_OPEN_WRITE 9999, f$
    file_writeln 9999, "DIM fso,MyFile"  : ' debut du script
    file_writeln 9999, "Set fso = CreateObject("+chr$(34)+"Scripting.FileSystemObject"+chr$(34)+")"
    file_writeln 9999, "set MyFile = fso.CreateTextFile("+chr$(34)+retour$+chr$(34)+", True)"
' la fonction de détection du type de l'ordinateur
    file_writeln 9999, "Function CheckTypePC ()"
    file_writeln 9999, "    On Error Resume Next"
    file_writeln 9999, "    Dim objWMIService,colItems,objItem"
    file_writeln 9999, "    Set objWMIService = GetObject("+CHR$(34)+"winmgmts:\\.\root\cimv2"+CHR$(34)+")"
    file_writeln 9999, "    Set colItems = objWMIService.ExecQuery("+CHR$(34)+"Select DeviceID from Win32_PCMCIAController"+CHR$(34)+",,48)"
    file_writeln 9999, "    For Each objItem in colItems"
    file_writeln 9999, "        If Not (objItem.DeviceID = "+CHR$(34)+""+CHR$(34)+") Then"
    file_writeln 9999, "           CheckTypePC = "+CHR$(34)+"Notebook"+CHR$(34)+""
    file_writeln 9999, "           Exit For"
    file_writeln 9999, "        End If "
    file_writeln 9999, "    Next"
    file_writeln 9999, "    Set colItems = objWMIService.ExecQuery("+CHR$(34)+"Select DeviceID from Win32_PortableBattery"+CHR$(34)+",,48)"
    file_writeln 9999, "    For Each objItem in colItems"
    file_writeln 9999, "        If Not (objItem.DeviceID = "+CHR$(34)+""+CHR$(34)+") Then"
    file_writeln 9999, "           CheckTypePC = "+CHR$(34)+"Notebook"+CHR$(34)+""
    file_writeln 9999, "           Exit For"
    file_writeln 9999, "        End If "
    file_writeln 9999, "    Next"
    file_writeln 9999, "    Set colItems = objWMIService.ExecQuery("+CHR$(34)+"Select DeviceID from Win32_Battery"+CHR$(34)+",,48)"
    file_writeln 9999, "    For Each objItem in colItems"
    file_writeln 9999, "        If Not (objItem.DeviceID = "+CHR$(34)+""+CHR$(34)+") Then"
    file_writeln 9999, "           CheckTypePC = "+CHR$(34)+"Notebook"+CHR$(34)+""
    file_writeln 9999, "           Exit For"
    file_writeln 9999, "        End If "
    file_writeln 9999, "    Next"
    file_writeln 9999, "    If CheckTypePC = "+CHR$(34)+chr$(34)+" Then CheckTypePC = "+CHR$(34)+"Desktop" +chr$(34)
    file_writeln 9999, "    Set objWMIService = Nothing"
    file_writeln 9999, "End Function"
' Enregistrer le retour de la fonction
    file_writeln 9999, "MyFile.WriteLine(CheckTypePC)"
    file_writeln 9999, "MyFile.Close" : ' Fin du script
    
    FILE_CLOSE 9999
    EXECUTE_WAIT f$ : ' Exécution du script
    FILE_DELETE f$  : ' supprimer le fichier du script
    file_open_read 9999,retour$ : ' ouvrir le fichier contenant la sortie du script
    file_readln 9999,TypePC$    : ' Récuperer la valeur de la fonction
    file_close 9999 : file_delete retour$ : ' Supprimer le fichier temporaire
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10577
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re:  Détecter le type du PC Portable ou Fixe   Ven 12 Juin 2015 - 8:17

Intéressant, Papydall !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5895
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re:  Détecter le type du PC Portable ou Fixe   Ven 12 Juin 2015 - 8:24

Encore un outil bien pratique, je vais partir, pas le temsp de tester, mais j'ai regardé le code et ça a l'air très bien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5180
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re:  Détecter le type du PC Portable ou Fixe   Ven 12 Juin 2015 - 8:42

Effectivement, c'est utile pour un programme d'installation.
Cela ne va pas servir tous les jours, mais c'est à conserver.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re:  Détecter le type du PC Portable ou Fixe   Ven 12 Juin 2015 - 14:43

Merci à Klaus, Jicehel, Jean Claude  et à tous ceux qui ont pris la peine de jeter un œil sur le code.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re:  Détecter le type du PC Portable ou Fixe   

Revenir en haut Aller en bas
 
 Détecter le type du PC Portable ou Fixe
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
»  Détecter le type du PC Portable ou Fixe
» cafe renverser sur clavier ordi portable
» Mon PC portable perd de la mémoire
» ordinateur portable qui se bloque
» Transfert Cariboost V2 --> Dreamweaver?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: