Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1252 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Detection d'OS à l'exécution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Detection d'OS à l'exécution

n°1603207
_Reggae_
Posté le 23-08-2007 à 19:34:26  profilanswer
 

Bonsoir tout le monde,
 
J'aimerai savoir si c'est possible de faire -en langage C- une détection d'OS à l'exécution du programme pour savoir sur quel OS le programme s'exécute.
PS: Je ne parle pas des marques de préprocesseur identifiant l'OS à la compilation ( #ifdef (WIN32) ...etc).
 
Merci.
 

mood
Publicité
Posté le 23-08-2007 à 19:34:26  profilanswer
 

n°1603240
_Reggae_
Posté le 23-08-2007 à 20:36:33  profilanswer
 

Qu'est ce que vous voulez dir par:  executer 'ver' ?

n°1603247
Olivier51
Posté le 23-08-2007 à 20:47:37  profilanswer
 

Qu'est ce que tu veux faire exactement et en quel langage ?
 
Pourquoi au moment ou tu compiles ton programme, tu n'ajoutes pas ce type de code :
 

Code :
  1. typedef enum _MY_OS { OS_LINUX, OS_WINXP, OS_WINVISTA } T_MYOS;
  2. T_MYOS myOS;
  3. #if defined(LINUX)
  4. myOS = OS_LINUX;
  5. #elif defined(WINXP)
  6. myOS = OS_WINXP;
  7. ...
  8. #endif


Le code est faux, mais ca reste du pseudo C, il est juste question de l'astuce ...

n°1603330
Emmanuel D​elahaye
C is a sharp tool
Posté le 24-08-2007 à 00:46:25  profilanswer
 

_Reggae_ a écrit :

J'aimerai savoir si c'est possible de faire -en langage C- une détection d'OS à l'exécution du programme pour savoir sur quel OS le programme s'exécute.


Ca ne sert à rien. Refléchi un peu. Le code est compilé en fonction de l'OS. Le binaire n'est pas portable...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1603343
docmaboul
Posté le 24-08-2007 à 06:59:14  profilanswer
 

Emmanuel Delahaye a écrit :


Ca ne sert à rien. Refléchi un peu. Le code est compilé en fonction de l'OS. Le binaire n'est pas portable...


 
Pas sous windows où un même binaire peut aussi bien tourner sous 95 que 98, nt4, 2000, xp, vista en passant par millenium typiquement, un programme réalisant la mise à jour d'un autre programme et devant lister les process tournant et les dlls qu'ils utilisent afin de savoir si la mise à jour des fichiers peut se faire et où les méthodes pour faire ça diffèrent selon la version de windows.

n°1603375
Emmanuel D​elahaye
C is a sharp tool
Posté le 24-08-2007 à 09:39:42  profilanswer
 

docmaboul a écrit :

Pas sous windows où un même binaire peut aussi bien tourner sous 95 que 98, nt4, 2000, xp, vista en passant par millenium typiquement,<...>


Dans ce cas, la question initiale est mal formulée. En fait tu voudrais, pour un OS donné, savoir quelle est la version. Pour ça, chaque OS fourni une API qui donne la version exacte. Pour Windows, MSDN est ton ami :

 

http://msdn2.microsoft.com/en-us/library/ms724832.aspx

  

Message cité 1 fois
Message édité par Emmanuel Delahaye le 24-08-2007 à 11:47:30

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1603456
docmaboul
Posté le 24-08-2007 à 11:14:53  profilanswer
 

Emmanuel Delahaye a écrit :

Dans ce cas, ta question initiale est mal formulée.


 
Ce n'est pas ma question.
 
 

Citation :

En fait tu voudrais, pour un OS donné, savoir quelle est la version. Pour ça, chaque OS fourni une API qui donne la version exacte. Pour Windows, MSDN est ton ami.


 
Je ne serais pas trop d'accord pour dire que windows 95 est le même OS que windows vista (par exemple) mais c'est une autre question.
 
 

n°1603814
_Reggae_
Posté le 24-08-2007 à 21:19:58  profilanswer
 

Citation :

Dans ce cas, ta question initiale est mal formulée.


Non j'étais entrain de parler d'OS différant... j'avais pas fait attention au fait que c'est compiler selon l'OS ( que chaque OS à ça propre manière de sauvé le binaire... ).

Emmanuel Delahaye a écrit :


Ca ne sert à rien. Réfléchi un peu. Le code est compilé en fonction de l'OS. Le binaire n'est pas portable...


Ok.
Ma question étais donc d'aucun intérêt.  :jap:  
 

n°1604042
bjone
Insert booze to continue
Posté le 25-08-2007 à 23:34:41  profilanswer
 

docmaboul a écrit :


 
Je ne serais pas trop d'accord pour dire que windows 95 est le même OS que windows vista (par exemple) mais c'est une autre question.
 


 
Non mais, ils respectent tout deux l'API Win32.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Detection d'OS à l'exécution

 

Sujets relatifs
[JS]Problème d'execution de fction sur onchange() avec IE7execution très très lente
[C] droit d'executionDetection status imprimante
Détection d'une seule touche clavier (ou combinaison de 2 touches)Execution d'un programme
appel d'une fonction (execution) qui est definie par un char[]Attendre un évènement pour continuer l'exécution de mon programme
PB a la compilation. (debutant inside)Detection de la quantité de mémoire vive
Plus de sujets relatifs à : Detection d'OS à l'exécution


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR