Cybertat
Messages postés25Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 8 septembre 2007
-
5 sept. 2007 à 20:37
Cybertat
Messages postés25Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 8 septembre 2007
-
8 sept. 2007 à 12:28
Bonjour à tous,
Je cherche à savoir s'il est possible d'utiliser Winsock avec VBScript et si oui, comment ?
En fait, j'avais vu un article qui explicait comment faire pour un client IRC (http://www.vbfrance.com/codes/WINSOCK-AVEC-VBSCRIPT-CLIENT-IRC_17061.aspx) mais hélas lorsque je le test, le script m'affiche une erreur pour la ligne "Set tcpClient = CreateObject("MSWinsock.Winsock")" tout simplement parce qu'il ne semble pas connaitre "MSWinsock.Winsock"...
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 6 sept. 2007 à 13:57
Bonjour,
En effet, tu dois surement avoir une erreur 429, ceci veut dire que la librairie
Winsock n'est pas présente ou est mal installée sur ton disque dur.
Sinon, le code suivant (en FBSL, proche du VBS) fonctionnerait :)
#Option Strict
#AppType CONSOLE
// -----------------------------
// Test
// -----------------------------
Dim w As New WinSock
Print "HostName : ", w.GetHostName()
Print "LocalIP : ", w.GetIP()
Delete w
Pause
// -----------------------------
// Class WINSOCK
// -----------------------------
Class WinSock
Private:
tcpClient
Method Initialize()
Set tcpClient = CreateObject("MSWinsock.Winsock")
End Method
Method Terminate()
If tcpClient Then ReleaseObject(tcpClient)
End Method
Public:
Method GetHostName()
If tcpClient Then Return GetValue( "%s", tcpClient, "LocalHostName" )
End Method
Method GetIP()
If tcpClient Then Return GetValue( "%s", tcpClient, "LocalIP" )
End Method
End Class
Cybertat
Messages postés25Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 8 septembre 2007 6 sept. 2007 à 19:12
Bonjour à tous,
Je développe dans le cadre de mon travail et je n'ai la possibilité d'utiliser que VBS. Mon script devant tourné sur des serveurs, je ne peut rien installé qui ne soit vital. Donc le fbls ne pourra me sortir d'affaire.
Sinon pour jean-marc, le lien que tu as indiqué est celui dont je me suis inspiré pour faire mon code. C'est le même que j'ai cité dans mon message de base...
Mais si effectivement la librairie winsock n'est pas présente ou mal installé, n'existe t-il pas une manipulation pour la redéclarer proprement ?
Cybertat
Messages postés25Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 8 septembre 2007 8 sept. 2007 à 12:28
Ah, ah, presque ! Je viens de redéclarer l'objet winsock dans ma base de registre comme tu me l'as dis et la commande est bien passé mais maintenant j'ai un autre message d'erreur. Il me dit que "La classe n'a pas de licence d'utilisation" (erreur 80040112). J'ai essayé de trouver sur google le pourquoi du comment de ce message mais je n'ai rien trouvé de concret.
Est-ce que quelqu'un saurais le pourquoi du comment et surtout, comment y rémédier ?
Sinon, juste pour ma culture personnel, winsock est un composant de base de windows non ? Comment se fait-il qu'il ne soit pas déclaré par défaut ? (J'ai vérifié sur plusieurs postes et OS.) Est-ce pour des raisons de sécurité ? Si oui, cela ne consitue t-il pas une faille de reforcer sa déclaration ? La réponse à ces questions n'est bien évidément pas obligé, c'est juste si quelqu'un sait !