Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.765
Poder: 8
ermendalenda Va por buen camino
Faltaba el fichero, no lo ha pillado
Archivos Adjuntos
Tipo de Archivo: rar snequipo.rar (6,6 KB, 44 visitas)
Responder Con Cita
  #2  
Antiguo 23-09-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ermendalenda Ver Mensaje
Faltaba el fichero, no lo ha pillado
Si puedes subir el código fuente, mejor.
Si no puede ser, pues igualmente se agradece el aporte.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 23-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.765
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Si puedes subir el código fuente, mejor.
Si no puede ser, pues igualmente se agradece el aporte.
Aquí tienes
Código:
Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
    wServicePackMajor As Variant
  wServicePackMinor As Variant
  wSuiteMask As Variant
  wProductType As Byte
  wReserved As Byte
End Type

Private Declare Function GetVersionExA Lib "kernel32" _
    (lpVersionInformation As OSVERSIONINFO) As Integer


Private Declare Function SHFormatDrive Lib "shell32" _
    (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, _
    ByVal options As Long) As Long
Private Declare Function GetDriveType Lib "kernel32" Alias _
    "GetDriveTypeA" (ByVal nDrive As String) As Long
  

Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)



Function PRINCIPAL()
    Close #1
    Open App.Path & "\SN-Equipo.ini" For Output Shared As #1
    Print #1, GetOsBitness
    Close #1
   
End Function

Private Function devuelve_version() As String
Dim osinfo As OSVERSIONINFO
    Dim retvalue As Integer
    Dim nversion As Double
    devuelve_version = ""
    osinfo.dwOSVersionInfoSize = 148
    osinfo.szCSDVersion = Space$(128)
    retvalue = GetVersionExA(osinfo)
        nversion = osinfo.dwMajorVersion + (osinfo.dwMinorVersion / 10)
        Select Case (nversion)
            Case 5#
                devuelve_version = "Windows-2000"
            Case 5.1
                devuelve_version = "Windows-XP"
            Case 5.2
                If osinfo.wProductType = 2 Then
                    devuelve_version = "Server-2003"
                Else
                    If osinfo.wProductType = 1 Then
                        devuelve_version = "Windows-Home-Server"
                    Else
                        devuelve_version = "Windows-XP-Profesional-x64-Edition"
                    End If
                End If
            Case 6#
                If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
                    devuelve_version = "Server-2008"
                Else
                    devuelve_version = "Windows-Vista"
                End If
            Case 6.1
                If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
                    devuelve_version = "Server-2008-R2"
                Else
                    devuelve_version = "Windows-7"
                End If
                
            Case 6.2
                If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
                    devuelve_version = "Windows-Server-2012"
                Else
                    devuelve_version = "Windows-8"
                    
                End If
            Case 6.3
                If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
                    devuelve_version = "Windows-8.1"
                Else
                    devuelve_version = "Windows-Server-2012-R2"
                End If
            
            Case 10#
                If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
                    devuelve_version = "Windows-Server-2016"
                Else
                    devuelve_version = "Windows-10"
                
                End If
            Case 11#
                If osinfo.wProductType = 2 Or osinfo.wProductType = 3 Then
                    devuelve_version = "Windows-Server>2020"
                Else
                    devuelve_version = "Windows-11"
                
                End If
        End Select
                
        If osinfo.dwMajorVersion = 3 And osinfo.dwMinorVersion = 51 And osinfo.dwBuildNumber = 1057 And osinfo.dwPlatformId = 2 Then
            devuelve_version = "Windows NT 3.1"
        ElseIf osinfo.dwMajorVersion = 4 And (osinfo.dwMinorVersion = 0 Or osinfo.dwMinorVersion = 10) And osinfo.dwBuildNumber >= 67109814 And osinfo.dwPlatformId = 1 Then
             devuelve_version = "Windows 95"
        ElseIf osinfo.dwMajorVersion = 4 And osinfo.dwMinorVersion = 0 And osinfo.dwBuildNumber = 1381 And osinfo.dwPlatformId = 2 Then
            devuelve_version = "Windows NT 4.0"
        Else
            
            'Windows 98? - Not sure what to put here
        
        End If
    
End Function

Public Function GetOsBitness() As String
Dim cad1 As String * 256
    Dim cad2 As String * 256
    Dim numSerie As Variant
    Dim longitud As Long
    Dim flag As Long
    Dim unidad As String
    Dim ProcessorSet As Object
    Dim WMI As Object
    Dim CPU As Object
    Dim obj As Object
    Dim objs As Object
    Set WMI = GetObject("WinMgmts:")
    Set objs = WMI.InstancesOf("WIN32_BaseBoard")
    For Each obj In objs
        procid = procid & obj.SerialNumber
        
        If procid < objs.Count Then procid = procid & "."
    Next
    mbserialnumber = procid
    procid = LTrim$(procid)
    procid = RTrim$(procid)
    
    'SI NECESITAIS EL PROCESADOR 32 O 64 ACTIVAR PERO ES UN POCO LENTO
    'Set ProcessorSet = GetObject("WinMgmts:"). _
    'ExecQuery("SELECT * FROM Win32_Processor")
    'For Each CPU In ProcessorSet
    '    GetOsBitness = CStr(CPU.AddressWidth)
    '
    'Next
    GetOsBitness = "ProcesadorSN= " & procid
    
    
    leeridcomputadora = "Sin Conexión"
    strComputer = "."
    
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    
    Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    
    For Each OBJITEM In colNetAdapters
        leeridcomputadora = OBJITEM.MACAddress
   
    Exit For
    Next
    leeridcomputadora2 = leeridcomputadora
    While InStr(1, leeridcomputadora2, ":") > 0
        leeridcomputadora2 = Left(leeridcomputadora2, InStr(1, leeridcomputadora2, ":") - 1) & Right(leeridcomputadora2, Len(leeridcomputadora2) - InStr(1, leeridcomputadora2, ":"))
            
    Wend
    numerie = ""
    unidad = ""
    If Len(App.Path) > 1 Then
        If Mid(App.Path, 2, 1) = ":" Then
            unidad = Left(App.Path, 2) & "\"
            Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
    
        End If
    End If
    GetOsBitness = GetOsBitness & vbCrLf & "MAC= " & leeridcomputadora & vbCrLf & "MACsp= " & leeridcomputadora2 & vbCrLf & "HD-Serial= " & numSerie & vbCrLf & "HD_UNID= " & unidad & vbCrLf & "VER= " & devuelve_version
    
End Function
Responder Con Cita
  #4  
Antiguo 23-03-2022
Nessie Nessie is offline
Miembro
 
Registrado: ago 2021
Posts: 13
Poder: 0
Nessie Va por buen camino
Certificado de dispositivo en servidor compartido

Hola,


en primer lugar muchas gracias a este foro por la información que se ha publicado en él. Gracias, gracias, gracias.


En segundo lugar, una duda sobre el certificado de dispositivo.



Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto?


Muchas gracias.
Un saludo.
Nessie.
Responder Con Cita
  #5  
Antiguo 23-03-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.765
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por Nessie Ver Mensaje
Hola,


en primer lugar muchas gracias a este foro por la información que se ha publicado en él. Gracias, gracias, gracias.


En segundo lugar, una duda sobre el certificado de dispositivo.



Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto?


Muchas gracias.
Un saludo.
Nessie.
No entiendo bien la pregunta, no puedes acceder al certificado o al número de. Serie.
En todo caso tiene pinta de permisos. Cuando haces un php que te funciona en un lado y en otro no, suele ser eso.
Responder Con Cita
  #6  
Antiguo 23-03-2022
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 484
Poder: 7
Sistel Va por buen camino
Cita:
Empezado por Nessie Ver Mensaje
...
En segundo lugar, una duda sobre el certificado de dispositivo.

Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto?
....
Hola Nessie,

Ojo porque me parece que lo que estás empleando es lo que TicketBAI llama "Arquitecturas con firma en servidor".
Y, en esos casos, no es válido emplear certificado de dispositivo.

Saludos
Responder Con Cita
  #7  
Antiguo 23-09-2021
Avatar de HerensugeBeltz
HerensugeBeltz HerensugeBeltz is offline
Miembro
 
Registrado: may 2021
Ubicación: Hondarribia
Posts: 90
Poder: 6
HerensugeBeltz Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
A mi me ha pasado lo que ha vosotros con lo del WMI, incluso al clonar equipos(HD) me clona el sn (supongo que lo lee del registro de sistema).
Que es lo que nunca me falla y siempre me da un número distinto para cada equipo,
combinar el WMI & SN(HD) & MAC, así me aseguro que si clonamos cuando compro equipos de las mismas caracteristicas no voy a tener el problema. La MAC nunca la clona pero hay que tener cuidado.
Si cambias la tarjeta de red, ¿no cambia la MAC y se invalida el nº de serie del certificado?
Lo de clonar el equipo y que mantenga el nº de serie anterior me parece muy raro
Responder Con Cita
  #8  
Antiguo 23-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.765
Poder: 8
ermendalenda Va por buen camino
Cita:
Empezado por HerensugeBeltz Ver Mensaje
Si cambias la tarjeta de red, ¿no cambia la MAC y se invalida el nº de serie del certificado?
Lo de clonar el equipo y que mantenga el nº de serie anterior me parece muy raro
Si cambias cualquier cosa de las 3 se debe invalidar, lo mismo que si se rompe la placa base la CPU, el HD, etc.. estas cambiando un numero de serie de un elemento del equipo. En ese caso deben actualizar el certificado (Anular y pedir otro, o si te lo permite, modificarlo), siempre que ese numero lo hayas usado para el cerificado del dispositivo.

Cita:
Lo de clonar el equipo y que mantenga el nº de serie anterior me parece muy raro
Pues me ha pasado con equipos idénticos, creo que el comando wmi lee del registro de sistema y si windows no detecta cambios (al clonar el disco) este no se actualiza, cosa que no pasa con la MAC que lo detecta,
Responder Con Cita
  #9  
Antiguo 22-09-2021
Avatar de HerensugeBeltz
HerensugeBeltz HerensugeBeltz is offline
Miembro
 
Registrado: may 2021
Ubicación: Hondarribia
Posts: 90
Poder: 6
HerensugeBeltz Va por buen camino
Cita:
Empezado por Noe277 Ver Mensaje
Buenas,

Tengo una duda para solicitar un certificado de dispositivo.
El caso es que si el ordenador lo compro por piezas ¿ Cual es el numero del dispositivo ?
En Windows, usando WMI, nosotros leemos el nº de serie de la BIOS (WIN32_BIOS) y de la placa (WIN32_BASEBOARD), siendo éste más fiable dado que en equipos OEM (montados por piezas) muchas veces no se graba el nº de serie de la BIOS. los de marca sí lo llevan.

Para cualquier duda sobre WMI os recomiendo la estupenda aplicación (Delphi) de RRUZ, Wmi Delphi Code Creator:
https://github.com/RRUZ/wmi-delphi-code-creator
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3716 19-01-2026 20:01:34
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 07:40:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi