Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb avec une fonction API

7 réponses
Avatar
Brigitte Dzewowski
Bonjour à tous,
J'ai écrit une appli en VB6 qui connecte entr'autre des lecteurs réseaux sur
des ressources partégées sur un serveur.
Pour cela j'utilise l'API WnetAddconnection. Tout marchait très bien sous
des postes W98 !
Je dois transférer l'appli sous des postes XP Pro et là... quelle galère !
de façon aléatoire (du moins pour moi) la connection se fait ou pas!!!
Que faire???
Si quelqu'un pouvait m'aider...
Merci d'avance!

Philippe Dzewowski

PS: au fait, pour info : j'ai installé le service pack 6 pour VB6....

7 réponses

Avatar
Guy DETIENNE
Salut ;O)

Personnellement, j'utilise le Scripting à travers VB pour faire cela:

Exemple:

Dim Sufixe
Set WSHShell= WScript.CreateObject("WScript.Shell")

Sufixe = " /PERSISTENT:NO"

Drive_H ="MonServeurc$ ""Password"" /USER:administrator" & Sufixe
valReturn = WshShell.Run("net use " & "H" & ": " & Drive_H , 0, True)

Voilà !

Guy



"Brigitte Dzewowski" a écrit dans le message
de news:
Bonjour à tous,
J'ai écrit une appli en VB6 qui connecte entr'autre des lecteurs réseaux


sur
des ressources partégées sur un serveur.
Pour cela j'utilise l'API WnetAddconnection. Tout marchait très bien sous
des postes W98 !
Je dois transférer l'appli sous des postes XP Pro et là... quelle galère !
de façon aléatoire (du moins pour moi) la connection se fait ou pas!!!
Que faire???
Si quelqu'un pouvait m'aider...
Merci d'avance!

Philippe Dzewowski

PS: au fait, pour info : j'ai installé le service pack 6 pour VB6....




Avatar
ng
Salut,

Pourquoi ne pas plutot utiliser l'équivalent en VB :

Dim strSufixe As String, Drive_H As String
strSufixe = " /PERSISTENT:NO"
Drive_H = "MonServeurc$ ""Password"" /USER:administrator" & strSufixe
Call Shell("net use " & "H" & ": " & Drive_H, vbHide)
'ou
'Call Shell(Environ$("ComSpec") & " /c net use " & "H" & ": " & Drive_H,
vbHide)


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Guy DETIENNE a écrit :

Salut ;O)

Personnellement, j'utilise le Scripting à travers VB pour faire cela:

Exemple:

Dim Sufixe
Set WSHShell= WScript.CreateObject("WScript.Shell")

Sufixe = " /PERSISTENT:NO"

Drive_H ="MonServeurc$ ""Password"" /USER:administrator" & Sufixe
valReturn = WshShell.Run("net use " & "H" & ": " & Drive_H , 0, True)

Voilà !

Guy



"Brigitte Dzewowski" a écrit dans le
message de news:
Bonjour à tous,
J'ai écrit une appli en VB6 qui connecte entr'autre des lecteurs
réseaux sur des ressources partégées sur un serveur.
Pour cela j'utilise l'API WnetAddconnection. Tout marchait très bien
sous des postes W98 !
Je dois transférer l'appli sous des postes XP Pro et là... quelle
galère ! de façon aléatoire (du moins pour moi) la connection se
fait ou pas!!! Que faire???
Si quelqu'un pouvait m'aider...
Merci d'avance!

Philippe Dzewowski

PS: au fait, pour info : j'ai installé le service pack 6 pour VB6....




Avatar
Guy DETIENNE
En effet...


"ng" a écrit dans le message de
news:
Salut,

Pourquoi ne pas plutot utiliser l'équivalent en VB :

Dim strSufixe As String, Drive_H As String
strSufixe = " /PERSISTENT:NO"
Drive_H = "MonServeurc$ ""Password"" /USER:administrator" & strSufixe
Call Shell("net use " & "H" & ": " & Drive_H, vbHide)
'ou
'Call Shell(Environ$("ComSpec") & " /c net use " & "H" & ": " & Drive_H,
vbHide)


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Guy DETIENNE a écrit :

> Salut ;O)
>
> Personnellement, j'utilise le Scripting à travers VB pour faire cela:
>
> Exemple:
>
> Dim Sufixe
> Set WSHShell= WScript.CreateObject("WScript.Shell")
>
> Sufixe = " /PERSISTENT:NO"
>
> Drive_H ="MonServeurc$ ""Password"" /USER:administrator" & Sufixe
> valReturn = WshShell.Run("net use " & "H" & ": " & Drive_H , 0, True)
>
> Voilà !
>
> Guy
>
>
>
> "Brigitte Dzewowski" a écrit dans le
> message de news:
>> Bonjour à tous,
>> J'ai écrit une appli en VB6 qui connecte entr'autre des lecteurs
>> réseaux sur des ressources partégées sur un serveur.
>> Pour cela j'utilise l'API WnetAddconnection. Tout marchait très bien
>> sous des postes W98 !
>> Je dois transférer l'appli sous des postes XP Pro et là... quelle
>> galère ! de façon aléatoire (du moins pour moi) la connection se
>> fait ou pas!!! Que faire???
>> Si quelqu'un pouvait m'aider...
>> Merci d'avance!
>>
>> Philippe Dzewowski
>>
>> PS: au fait, pour info : j'ai installé le service pack 6 pour VB6....




Avatar
Nicolas Diétrich
Salut,

Juste 2 petites remarques:

1/ WNetAddconnection est fournie uniquement pour la
compatibilité avec des applications 16 bits, maintenant
il vaut mieux utiliser WNetAddconnection2 ou
WNetAddconnection3

2/ Tant qu'à le faire en scripting, utilise l'objet
WScript.Network et sa fonction MapNetworkDrive
Issu de MSDN:

Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "E:", "ServerPublic"

-----Original Message-----
Salut,

Pourquoi ne pas plutot utiliser l'équivalent en VB :

Dim strSufixe As String, Drive_H As String
strSufixe = " /PERSISTENT:NO"
Drive_H


= "MonServeurc$ ""Password"" /USER:administrator" &
strSufixe
Call Shell("net use " & "H" & ": " & Drive_H, vbHide)
'ou
'Call Shell(Environ$("ComSpec") & " /c net use " & "H"


& ": " & Drive_H,
vbHide)


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Guy DETIENNE a écrit :

Salut ;O)

Personnellement, j'utilise le Scripting à travers VB




pour faire cela:

Exemple:

Dim Sufixe
Set WSHShell= WScript.CreateObject("WScript.Shell")

Sufixe = " /PERSISTENT:NO"

Drive_H




="MonServeurc$ ""Password"" /USER:administrator" &
Sufixe
valReturn = WshShell.Run("net use " & "H" & ": " &




Drive_H , 0, True)

Voilà !

Guy



"Brigitte Dzewowski" a




écrit dans le
message de news:
Bonjour à tous,
J'ai écrit une appli en VB6 qui connecte entr'autre






des lecteurs
réseaux sur des ressources partégées sur un serveur.
Pour cela j'utilise l'API WnetAddconnection. Tout






marchait très bien
sous des postes W98 !
Je dois transférer l'appli sous des postes XP Pro et






là... quelle
galère ! de façon aléatoire (du moins pour moi) la






connection se
fait ou pas!!! Que faire???
Si quelqu'un pouvait m'aider...
Merci d'avance!

Philippe Dzewowski

PS: au fait, pour info : j'ai installé le service






pack 6 pour VB6....


.



Avatar
Brigitte Dzewowski
Merci de vos réponses mais....
je n'utilisais pas de "net use ..." sous w98 car le process (je crois que
c'est comme celà que cela se dit) n'était pas "tué" (vilain mot mais désolé)
lorsque je quittais mon appli... en effet un simple Ctrl+Alt+Supp faisait
apparaître des "winoldap"... donc c'est pour cela que j'utilisais
WnetAddconnection....
j'ai recherché sur le net et j'ai effectivement lu que WNetAddconnection
était compatible avec des versions 16 bits (merci à Nicolas!). Je me suis
tourné vers WNetAddconnection2 mais apparement il faut fournir en variable
un Username et un password !!! ce que je ne faisais pas avant ! car comment
passer en paramètre un mot de passe de login??? ou alors je n'ai rien
compris quant à l'utilisation de WNetAddconnection2 ....

si vous pouviez encore m'aider....merci d'avance

quant aux scripts que vous proposez, je vais tester cela!

Merci encore
Philippe
Avatar
François Picalausa
Hello,

Effectivement, WNetAddconnection2 *permet* de spécifier un mot de passe.
Sa traduction serait:
[Private declare ... WNetAddConnection] _
Alias "WNetAddConnection2A" _
[ib ...] _
( _
lpNetResource As NETRESOURCE, _
lpPassword As String, _
lpUsername As String, _
dwFlags As Long _
) _
As Long

avec pour win 9x/ME obligatoirement:

Variable = WNetAddConnection (MaStructure, vbNullstring, vbNullstring,
flags)

Cette syntaxe est aussi valable si on ne tiens pas à spécifier de nom
d'utilisateur (utilisateur courrant, mot de passe courrant).
Sinon:
Variable = WNetAddConnection (MaStructure, "MyVeryStrongPassword",
"MyUserName", flags)

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Brigitte Dzewowski" a écrit dans le
message de news:%
Je me suis tourné vers WNetAddconnection2 mais apparement
il faut fournir en variable un Username et un password !!! ce que je
ne faisais pas avant ! car comment passer en paramètre un mot de
passe de login??? ou alors je n'ai rien compris quant à l'utilisation
de WNetAddconnection2 ....


Avatar
Brigitte Dzewowski
un grand merci il fallait effectivement mettre comme paramètre
"vbNullString" et non "Null" comme j'avais en fait essayer....
encore merci à François et aux autres...
Philippe