elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como saber en que O.S. se ejecuta mi aplicacion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como saber en que O.S. se ejecuta mi aplicacion  (Leído 5,508 veces)
Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Como saber en que O.S. se ejecuta mi aplicacion
« en: 19 Agosto 2005, 02:47 am »

Es simplemente eso, queria saber si alguien me podria brindar un codigo para saber sobre que sistema operativo se esta ejecutando mi aplicacion.


Chau, Muchas gracias. salu2!!!


En línea

sr. oscuro

Pseudoroot


Desconectado Desconectado

Mensajes: 839



Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #1 en: 19 Agosto 2005, 02:50 am »

Supongo que lo quieres para visual basic, lo tengo pero en C++.  se ocupa una estructura algo como OSVERINFO


En línea

Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #2 en: 19 Agosto 2005, 03:01 am »

Mira la función GetVersionEx

Saludos.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #3 en: 19 Agosto 2005, 03:59 am »

Hola, bueno encontre un codigo y lo modifique porque no me funcionaba, me quedo asi:


Código:
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long



Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type


Private Function winversion() As String
'declaramos la variable osvi de tipo osversioninfo
Dim osvi As OSVERSIONINFO
'asignamos valor al parametro dwOSVersionInfoSize
'de acuerdo a la longitud de nuestra variable osvi de tipo
'osversioninfo
osvi.dwOSVersionInfoSize = Len(osvi)
'le pasamos el parametro a la API
GetVersionEx osvi
'comparamos y le damos valor a winversion
If osvi.dwPlatformId = 1 Then
 If osvi.dwMinorVersion = 0 Then winversion = "Windows 95"
 If osvi.dwMinorVersion = 10 Then winversion = "Wiondows 98"
ElseIf osvi.dwPlatformId = 2 Then
 If osvi.dwMinorVersion = 0 Then
 winversion = "Windows 2000"
 Else
 winversion = "Windows xp"
 End If
End If
End Function



Private Sub Command1_Click()
Label1.Caption = "La version es " & winversion
End Sub



Lo que les quiero pedir ahora es que me digan si tiene algun error poprque yo solo tengo Windows XP, ami me funciona pero no se si detectara bien los otros windows asi que porfavor si lo pueden probar y me dicen si anda.


@ Anhur  sos muy amable pero la verdad no se utilisar bien las API, mejor dicho no se utilizarlas, y la ayuda del MSDN  me parece chino basico.  Estaria bueno que agas un mini tuto para aprender a usar la ayuda de MSDN ocea para poder entender, claro oviamente4 si queres.




Esta es la info que me brindo Anhur si me la pueden explicar asi para la proxima.

GetVersionEx

The GetVersionEx function obtains extended information about the version of the operating system that is currently running.

To obtain information for the operating system on a remote computer, use the NetWkstaGetInfo function, the Win32_OperatingSystem WMI class, or the OperatingSystem property of the IADsComputer interface.

To compare the current system version to a required version, use the VerifyVersionInfo function instead of using GetVersionEx to perform the comparison yourself.

BOOL GetVersionEx(
  LPOSVERSIONINFO lpVersionInfo
);

Parameters

lpVersionInfo
    [in, out] Pointer to an OSVERSIONINFO or OSVERSIONINFOEX structure that receives the operating system version information.

    Before calling the GetVersionEx function, set the dwOSVersionInfoSize member of this structure as appropriate.

Return Values

If the function succeeds, the return value is a nonzero value.

If the function fails, the return value is zero. To get extended error information, call GetLastError. The function fails if you specify an invalid value for the dwOSVersionInfoSize member of the OSVERSIONINFO or OSVERSIONINFOEX structure.
Remarks

Identifying the current operating system is usually not the best way to determine whether a particular operating system feature is present. This is because the operating system may have had new features added in a redistributable DLL. Rather than using GetVersionEx to determine the operating system platform or version number, test for the presence of the feature itself. For more information, see Operating System Version.

To verify whether the current operating system is Windows XP Media Center Edition, Windows XP Tablet PC Edition, or Windows Server 2003 "R2", use the GetSystemMetrics function with SM_TABLETPC, SM_MEDIACENTER, or SM_SERVERR2, respectively.
Example Code [C++]

When using the GetVersionEx function to determine whether your application is running on a particular version of the operating system, check for version numbers that are greater than or equal to the desired version numbers. This ensures that the test succeeds for later versions of the operating system. For example, if your application requires Windows XP, use the following test.

osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx (&osvi);
bIsWindowsXPorLater =
   ( (osvi.dwMajorVersion > 5) ||
   ( (osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion >= 1) );

Example Code

For an example that identifies the current operating system, see Getting the System Version.
Requirements
Client    Requires Windows "Longhorn", Windows XP, Windows 2000 Professional, Windows NT Workstation 3.5 and later, Windows Me, Windows 98, or Windows 95.
Server    Requires Windows Server "Longhorn", Windows Server 2003, Windows 2000 Server, or Windows NT Server 3.5 and later.
Header    

Declared in Winbase.h; include Windows.h.
Library    

Link to Kernel32.lib.
DLL    Requires Kernel32.dll.
Unicode    

Implemented as GetVersionExW (Unicode) and GetVersionExA (ANSI). Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode.




Chau salu2!!!     y muchas gracias.
En línea

sr. oscuro

Xpeed


Desconectado Desconectado

Mensajes: 472


Res Publica Non Dominetur


Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #4 en: 19 Agosto 2005, 04:30 am »

Lo puedes hacer con el control sysinfo (microsoft system info control 6.0) (propiedad .OSPataform) , pero , creo que seria mejor con la API como plantea anhur siempre.... asi que pues es solo una idea..



un saludo.
« Última modificación: 19 Agosto 2005, 04:31 am por Xpeed » En línea

Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #5 en: 19 Agosto 2005, 16:44 pm »

El codigo ahora lo tengo pero como yo lo modifique queria que lo probaran haber si anda bien esta arriva porfavor pruevenlo.

Chau salu2!!!
En línea

sr. oscuro

el_chente23

Desconectado Desconectado

Mensajes: 142



Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #6 en: 20 Agosto 2005, 01:09 am »

Yo tengo win 2000 y si funciono.

Saludos
En línea

Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #7 en: 20 Agosto 2005, 01:13 am »

Muchas gracias chente23  :D :) :) un S.O. menos, ahora solo me falta win 98,  windows 95 no lo usa nadie ya.

Mil Gracias. Salu2!!!
En línea

sr. oscuro

Pseudoroot


Desconectado Desconectado

Mensajes: 839



Ver Perfil
Re: Como saber en que O.S. se ejecuta mi aplicacion
« Respuesta #8 en: 20 Agosto 2005, 01:16 am »

Me creerias que aun existen algunos windows 95 por ahi?, pero, si funciona en windows 98 funcionará para windows 95 y viciversa..
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como saber el archivo BaseDeDatos.mdb pertenece a mi aplicacion?
.NET (C#, VB.NET, ASP)
TheGhost(Z) 6 5,738 Último mensaje 20 Marzo 2011, 23:16 pm
por Xephiro
Como se ejecuta virus desde usb
Análisis y Diseño de Malware
franfis 3 4,166 Último mensaje 8 Julio 2012, 04:23 am
por nts94
Aplicación de vb6 se ejecuta sin 'problemas'? « 1 2 »
Programación Visual Basic
.:Weeds:. 10 6,071 Último mensaje 8 Julio 2013, 08:56 am
por engel lex
No se ejecuta el modo gráfico de una aplicación con SDL/GL
Programación C/C++
SrCooper 4 2,669 Último mensaje 4 Septiembre 2013, 23:11 pm
por SrCooper
Aplicacion no se ejecuta
Windows
angel_rdzm 7 4,357 Último mensaje 6 Junio 2015, 16:31 pm
por angel_rdzm
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines