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
» un nouveau editeur panobasic
par pascal10000 Hier à 21:52

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» Compilateur FBPano
par jean_debord Hier à 8:49

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

  Détecter le type du PC Portable ou Fixe

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5501
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 - 5: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 : 10062
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 - 9: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 : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re:  Détecter le type du PC Portable ou Fixe   Ven 12 Juin 2015 - 9: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 : 4988
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 - 9: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 : 5501
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 - 15: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
Voir le sujet précédent Voir le sujet suivant 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 32 bits :: Les inutilitaires-
Sauter vers: