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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 17:49

» Cartes de voeux, menus, etc.
par JL35 Aujourd'hui à 17:48

» Mah-Jong européen new-look
par jjn4 Aujourd'hui à 15:48

» a l'aide klaus
par Minibug Aujourd'hui à 11:42

» KGF_dll - nouvelles versions
par Minibug Aujourd'hui à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Aujourd'hui à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» API Windows
par Klaus Jeu 7 Déc 2017 - 21:03

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
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 : 5613
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 : 10244
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 : 5863
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 : 5086
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 : 5613
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 :: Les inutilitaires-
Sauter vers: