Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2003
alabora alabora is offline
Registrado
 
Registrado: ago 2003
Posts: 3
Poder: 0
alabora Va por buen camino
Question Identificación del grupo de trabajo

Estoy desarrollando una aplicacioncita que necesita acceder, tanto para lectura como para excritura al nombre del grupo de trabajo al que se encuentra conectado mi ordenador. El problema es que los datos de configuración de la conexión los encuentro sin problemas en el registro, pero lo que no localizo es el dichoso nombre de grupo. ¿Sabéis en dónde se guarda ese dato?.


Gracias a todos.

Un saludo
Responder Con Cita
  #2  
Antiguo 16-08-2003
alabora alabora is offline
Registrado
 
Registrado: ago 2003
Posts: 3
Poder: 0
alabora Va por buen camino
Problema resuelto
Responder Con Cita
  #3  
Antiguo 17-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Podrias poner la solucion por si alguien mas se encuentra con tu problema?

Gracias
Responder Con Cita
  #4  
Antiguo 17-08-2003
alabora alabora is offline
Registrado
 
Registrado: ago 2003
Posts: 3
Poder: 0
alabora Va por buen camino
Post

Sí cadetill, tienes razón. Parece que estaba en las nubes. Bueno, vamos a corregir el asunto.
Para leer la información referente al nombre del equipo y grupo de trabajo al que está conectado, utilizo la instrucción “NetWkstaGetInfo”, incluida en “NetApi32.dll”. Viene documentada en las ayudas de Microsoft incluidas en Delphi. Como podrás comprobar, dependiendo de la estructura de datos que utilices, obtendrás más o menos información. En mi caso, con WKSTA_INFO_100, voy servido, porque me suministra los dos valores que necesito.
Así, me creé una estructura tal que
TWksta_Info_100 = record
Wki100_Plattform_Id: DWord;
Wki100_ComputerName: PWideChar;
Wki100_LanGroup: PWideChar;
Wki100_Ver_Major: DWord;
Wki100_Ver_Minor: DWord;
end;
y un tipo puntero
PWksta_Info_100 = ^TWksta_Info_100;
El procedure sería
procedure TPPrincipal.LeeDatosEquipo;
var
Buffer: PWksta_Info_100;
Res: DWord;
begin
Memo1.Lines.Clear;
Res:= NetWkstaGetInfo('', 100, @Buffer);
Memo1.Lines.Add(IntToStr(Buffer^.Wki100_Plattform_Id));
Memo1.Lines.Add(Buffer^.Wki100_ComputerName);
Memo1.Lines.Add(Buffer^.Wki100_LanGroup);
Memo1.Lines.Add(IntToStr(Buffer^.Wki100_Ver_Major) + '.' + IntToStr(Buffer^.Wki100_Ver_Minor));
NetApiBufferFree(Buffer);
end;
De esta manera, muestro los valores en un campo memo. Una vez resuelto el problema, me encuentro con que necesito poder modificar el famoso grupo de trabajo, así que, ni corto ni perezoso, hago una llamadita a NetWkstaSetInfo, pero resulta que no va ni de coña. Así que recurro a la inestimable ayuda de Microsoft, pero en su página web http://msdn.microsoft.com/support/. Busco referencias a la instrucción, y me encuentro con que, según ellos, “NetWkstaSetInfo” está un poco pasada, y que, bajo Windows NT (en mi caso XP Profesional), mejor que utilice SetComputerName, y NetJoinDomain (también incluida en la misma dll)
Quedaría así
Res:= NetJoinDomain('', 'CASA', '', '', '', 0);
Donde CASA es el nombre que quiero asignarle al grupo de trabajo. Esta instrucción tarda un par de segundos en ejecutarse, y una vez finalizada puede comprobarse el resultado en la configuración de Windows, no siendo necesario reiniciar el equipo.

Bueno, creo que no me dejo nada.

Un saludo
Responder Con Cita
  #5  
Antiguo 17-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pues muchas gracias alabora por el ejemplo y, sobre todo por la explicación
Responder Con Cita
  #6  
Antiguo 17-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Para los interesados en el tema, en mi web he puesto una demo de lo comentado aqui por el compañero alabora actualizando la unit DatosPC

En la demo he utilizado la estructura WKSTA_INFO_102 ya que es la que da mas información de las tres candidatas y asi hacer lo mas amplio posible el ejemplo de uso

Mirar los requerimientos en la Unit o en la ayuda de Delphi (o msdn)

PD: La pagina todabia no esta actualizada, pero sí la descarga

Que lo disfruteis
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 03:39:36.


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