In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

GetHostName-> no me acaba de funcionar

Foro público de Xailer en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

GetHostName-> no me acaba de funcionar

Mensaje por jose.luis »

Hola,
A ver si alguien me puede echar una mano.
Esta función:
MsgInfo(GetHostName())
#pragma BEGINDUMP
#include <windows.h>
#include "hbapi.h"
#include "winsock2.h"
HB_FUNC( GETHOSTNAME )
{
char buff[200];
int n;
n = gethostname(buff,sizeof(buff));
if ( n == 0) hb_retc(buff);
}
#pragma ENDDUMP
Me devuelve siempre NIL.... Técnicamente debería de devolver el nombre
netbios del equipo actual.
¿Os funciona a vosotros?
Saludos y gracias,
José Luis Capel
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

GetHostName-> no me acaba de funcionar

Mensaje por jfgimenez »

José Luis,
seguramente tendrás que llamar a WSAStartup() antes de llamar a
gethostname()
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

GetHostName-> no me acaba de funcionar

Mensaje por jose.luis »

José,
#pragma BEGINDUMP
#include <windows.h>
#include "hbapi.h"
#include "winsock2.h"
HRESULT WINAPI CreateLink(LPSTR lpszLink, LPSTR lpszPathObj, LPSTR lpszIco,
int nIco);
HB_FUNC( GETHOSTNAME )
{
char buff[200];
int n;
int m;
WORD Version;
WSADATA wsaData;
int err;
Version = MAKEWORD( 2 , 2 );
err = WSAStartup( Version , &wsaData );
if ( err != 0 ) {
hb_retc("");
}
n = gethostname(buff,sizeof(buff));
if( n == SOCKET_ERROR)
{
m = WSAGetLastError();
if ( m == WSAEFAULT ) hb_retc("WSADEFAULT");
if ( m == WSANOTINITIALISED ) hb_retc("WSANOTINITIALISED");
if ( m == WSAENETDOWN ) hb_retc("WSAENETDOWN");
} else hb_retc(buff);
WSACleanup( );
}
#pragma ENDDUMP
NO obstante, creo que he reinventado la rueda.
Lo mismo obtengo con NetNAme()
Saludos,
José Luis Capel
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

GetHostName-> no me acaba de funcionar

Mensaje por zeasoftware »

Hace meses alguien puso esto, y me ha funcionado. espero sea lo que buscas
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
#include "winsock2.h"
XA_FUNC( NETGETUSER )
{
char cUser[256] = "";
DWORD nSize = 256;
WNetGetUser( NULL, cUser, &nSize );
hb_retc( cUser );
}
#pragma ENDDUMP
Saludos
--
Ramon Zea
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoftware/
--
Responder