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
» Planétarium virtuel.
par Pedro Alvarez Sam 21 Juil 2018 - 16:57

» Roues dentées
par jean_debord Sam 21 Juil 2018 - 10:40

» Attention arnaque !
par mindstorm Jeu 19 Juil 2018 - 19:18

» Qui fait quoi ?
par silverman Mer 18 Juil 2018 - 15:21

» ITEM_SELECT N,L pour synedit
par silverman Mer 18 Juil 2018 - 15:20

» Boussole
par jean_debord Mer 18 Juil 2018 - 11:06

» Roue à n faces
par Marc Dim 15 Juil 2018 - 22:16

» Exemple d'une nouvelle version d'un GRID
par Jean Claude Ven 13 Juil 2018 - 10:32

» Une simple question
par Oscaribout Sam 7 Juil 2018 - 23:20

» BUG sur l'objet TAB
par Jack Sam 7 Juil 2018 - 21:12

» Monopoly moderne
par jjn4 Sam 7 Juil 2018 - 15:06

» Récapitulatif ludothèque panoramic jjn4
par jjn4 Ven 6 Juil 2018 - 17:41

» Lignes ondulées
par JL35 Ven 6 Juil 2018 - 17:39

» bug off_activate 0 : sans d'effet
par silverman Ven 6 Juil 2018 - 13:02

» Position des objets d'un conteneur dans FBPano et Panoramic
par Navigateur Ven 6 Juil 2018 - 12:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

  Détecter le type du PC Portable ou Fixe

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5980
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 : 11088
Age : 69
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 : 5928
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 : 5527
Age : 64
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 : 5980
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: