Ver Mensaje Individual
  #1
Antiguo 26 de abril de 2015, 13:55
Kuk
Administrador
Última Actividad 21.09.2026 18:24
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Arrow Obtener la version de SO Windows
3 Inactivo Inactivo

Código COBOL:
  1.  IDENTIFICATION DIVISION.                                                                    
  2.  PROGRAM-ID.    WINVERS.                                                                    
  3.  AUTHOR.        KUK.                                                                  
  4.  ENVIRONMENT DIVISION.                                                                      
  5.  CONFIGURATION SECTION.                                                                      
  6.  SPECIAL-NAMES.                                                                              
  7.      DECIMAL-POINT IS COMMA.                                                                
  8.                                                                                              
  9.  DATA DIVISION.                                                                              
  10.                                                                                              
  11.  WORKING-STORAGE SECTION.                                                                    
  12.                                                                                              
  13.  01  OSVERSIONINFO TYPEDEF.                                                                  
  14. * The size of this data structure, in bytes. Set this member to sizeof(OSVERSIONINFO).      
  15.      05  dwOSVersionInfoSize PIC S9(9) COMP-5.                                              
  16. * The major version number of the operating system. For more information, see Remarks.      
  17.      05  dwMajorVersion      PIC S9(9) COMP-5.                                              
  18. * The minor version number of the operating system. For more information, see Remarks.      
  19.      05  dwMinorVersion      PIC S9(9) COMP-5.                                              
  20. * The build number of the operating system.                                                  
  21.      05  dwBuildNumber       PIC S9(9) COMP-5.                                              
  22. * The operating system platform. This member can be the following value:*                    
  23. * - VER_PLATFORM_WIN32_NT = 2                                                                
  24. *   The operating system is Windows 7, Windows Server 2008, Windows Vista,                  
  25. *   Windows Server 2003, Windows XP, or Windows 2000.                                        
  26.      05  dwPlatformId        PIC S9(9) COMP-5.                                              
  27. * A null-terminated string, such as "Service Pack 3", that indicates the latest Service Pack
  28. * installed on the system. If no Service Pack has been installed, the string is empty.      
  29.      05  szCSDVersion        PIC X(128).                                                    
  30.                                                                                              
  31.  01  WS-OSINFO TYPE OSVERSIONINFO.                                                          
  32.  01  STATUS-CODE   PIC S9(4) COMP-5.                                                        
  33.                                                                                              
  34.  LINKAGE SECTION.                                                                            
  35.  01  LNK-WV-DATA.                                                                            
  36.      05  LNK-WV-OUTPUT.                                                                      
  37.          10  LNK-WV-RC          PIC 9(2).                                                    
  38.          10  LNK-WV-VERS        PIC X(100).                                                  
  39.          10  LNK-WV-SP          PIC X(50).                                                  
  40.                                                                                              
  41.  PROCEDURE DIVISION USING LNK-WV-DATA.                                                      
  42.                                                                                              
  43.      INITIALIZE LNK-WV-DATA REPLACING                                                        
  44.          NUMERIC      DATA BY ZEROS                                                          
  45.          ALPHANUMERIC DATA BY SPACES                                                        
  46.                                                                                              
  47.      MOVE 148 TO dwOSVersionInfoSize OF WS-OSINFO                                            
  48.                                                                                              
  49.      CALL "GetVersionExA" WITH STDCALL USING BY REFERENCE WS-OSINFO RETURNING STATUS-CODE    
  50.                                                                                              
  51.      IF  STATUS-CODE = ZEROS                                                                
  52.          MOVE 99 TO LNK-WV-RC                                                                
  53.                                                                                              
  54.          MOVE SPACES TO LNK-WV-VERS                                                          
  55.                                                                                              
  56.          GOBACK                                                                              
  57.      END-IF                                                                                  
  58.                                                                                              
  59.      MOVE ZEROS TO LNK-WV-RC                                                                
  60.                                                                                              
  61.      EVALUATE TRUE ALSO TRUE                                                                
  62.                                                                                              
  63.          WHEN dwMajorVersion = 6                                                            
  64.          ALSO dwMinorVersion = 3                                                            
  65.              MOVE "Windows 8.1"         TO LNK-WV-VERS                                      
  66.                                                                                              
  67.          WHEN dwMajorVersion = 6                                                            
  68.          ALSO dwMinorVersion = 2                                                            
  69.              MOVE "Windows 8"           TO LNK-WV-VERS                                      
  70.                                                                                              
  71.          WHEN dwMajorVersion = 6                                                            
  72.          ALSO dwMinorVersion = 1                                                            
  73.              MOVE "Windows 7"           TO LNK-WV-VERS                                      
  74.                                                                                              
  75.          WHEN dwMajorVersion = 6                                                            
  76.          ALSO dwMinorVersion = 0                                                            
  77.              MOVE "Windows Vista"       TO LNK-WV-VERS                                      
  78.                                                                                              
  79.          WHEN dwMajorVersion = 5                                                            
  80.          ALSO dwMinorVersion = 2                                                            
  81.              MOVE "Windows Server 2003" TO LNK-WV-VERS                                      
  82.                                                                                              
  83.          WHEN dwMajorVersion = 5                                                            
  84.          ALSO dwMinorVersion = 1                                                            
  85.              MOVE "Windows XP"          TO LNK-WV-VERS                                      
  86.                                                                                              
  87.          WHEN dwMajorVersion = 5                                                            
  88.          ALSO dwMinorVersion = 0                                                            
  89.              MOVE "Windows 2000"        TO LNK-WV-VERS                                      
  90.                                                                                              
  91.          WHEN OTHER                                                                          
  92.              MOVE "Windows UNKNOWN"     TO LNK-WV-VERS                                      
  93.                                                                                              
  94.      END-EVALUATE                                                                            
  95.                                                                                              
  96.      INSPECT szCSDVersion REPLACING ALL X"00" BY SPACES                                      
  97.                                                                                              
  98.      MOVE szCSDVersion TO LNK-WV-SP                                                          
  99.                                                                                              
  100.      GOBACK                                                                                  
  101.      .                                                                                      



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita