Hola roy voy a crear una base de datos del mismo programa para igualar registros insertando la sesión de windows(Ejemplo mi usuario se llama daniela pero yo puedo entrar a otra computadora con mi mismo usuario y quiero que me diga el nombre delusuario a eso me refiero), la ip, nombre de la maquina del usuario de acuerdo a la computadora no se se este registrando, como puedo conseguir el código para que me almacene esos puntos
Por favor,, muchas gracias,, ya te califique ok.. Buen día chao,,
1 respuesta
Respuesta de roberboy 68
1
1
roberboy 68, No hay que trabajar para ganar dinero, trabajemos para aprender,...
Dany: Este es el código de una aplicación pequeña que hace lo que necesitas, sólo debes agregar dos botones a tu form (uno para salir y el otro para ver los datos que me pides) unit U_DatosAPI; Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Winsock; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function ObtenerIP():String; type pu_long = ^u_long; var varTWSAData : TWSAData; varPHostEnt : PHostEnt; varTInAddr : TInAddr; namebuf : Array[0..255] of char; begin If WSAStartup($101,varTWSAData) <> 0 Then Result := 'No. IP Address' Else Begin gethostname(namebuf,sizeof(namebuf)); varPHostEnt := gethostbyname(namebuf); varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^); Result := Dirección IP: '+inet_ntoa(varTInAddr); End; WSACleanup; end; function ObtenerNombrePC : string; var buffer: array[0..255] of char; size: dword; begin size := 256; if GetComputerName(buffer, size) then Result := buffer else Result := '' end; function ObtenerUsuarioWindows : string; Var UserName : string; UserNameLen : Dword; begin UserNameLen := 255; SetLength(userName, UserNameLen) ; If GetUserName(PChar(UserName), UserNameLen) Then Result := Copy(UserName,1,UserNameLen - 1) Else Result := 'Desconocido'; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(ObtenerNombrePC+' '+ObtenerUsuarioWindows+' '+ObtenerIP); end; end. Seguro te servirá, saludos y no olvides calificar está respuesta, nos vemos a la próxima.
En esta linea me marca dos errores: result := Direccion IP: 'inet_ntoa(varTInAddr); identificador no declarado "Direcci" Unterminated string. Me puedes ayudar por favor
Te hace falta un apostrofe antes de la letra DE de la palabra Dirección, ya que esto es una cadena.
Muchísimas gracias tu ayuda me ha servido muchísimo,, que estés muy bien espero seguir contando contigo para mis dudas,,, gracias... enserio..