Salut!
essaie ceci;
Code : Tout sélectionner
RunAs ("admin", "serveur", "motdepasse", 1, @ComSpec, @TempDir)
Dans la fenêtre DOS, tape NET USE, tu devrais voir les mêmes lecteurs réseau que l'application voit une fois démarrée avec le compte utilisé.
Si tu n'as pas les lecteurs voulu, il faudrait essayer de changer le 1 par 0... je crois pas que les autres options puissent être utiles.
0 - Interactive logon with no profile.
1 - Interactive logon with profile.
2 - Network credentials only.
4 - Inherit the calling processes environment instead of the user's.
Si ça a pas fonctionné et que tu as essayé sans succès le 3 et 4, je te suggère d'y aller avec ceci;
Code : Tout sélectionner
#cs
un peu tordu, mais bon... c'est ce que j'utilise faute de mieux
donc...
***si l'utilisateur est admin sur son poste et a accès au m:, on saute par dessus tout ça et lance le programme
***si l'utilisateur est pas admin, on copie cette app sur son c: et on le relance en tant qu'admin
***Une fois relancé en tant qu'admin, on saute la première partie, on fait ensuite un map du lecteur réseau voulu et lance le programme en ayant le m:.
***Lorsqu'on ferme le programme, tout revient comme avant
#ce
#NoTrayIcon
If Not IsAdmin() Then
FileCopy(@AutoItExe, "c:\Tempapp\",8)
RunAsWait ("admin", "serveur", "motdepasse", 1, "d:\Tempapp\" & @ScriptName, @TempDir) DirRemove("d:\Tempapp\",1)
Exit
EndIf
;~ Ensuite on vérifie si on voit la source, sinon, on refait une connection
If Not FileExists("m:\data") Then
Runwait("net use m: \\serveur\ ")
;~ ou si ça fonctionne pas: Runwait("net use m: \\serveur\ /USER:admin motdepasse")
Sleep (3000)
;~ Si on voit pas la source maintenant, ça mérite de l'aide
If Not FileExists("m:\data") Then
MsgBox(16,"Problème!","L'assignation du répertoire m:\data n'a pas fonctionné... Contactez support")
Exit
Endif
EndIf
;~ Maintenant qu'on est admin et qu'on a le m: allons y pour le grand coup...
FileChangeDir ("C:\Program Files\SITTELLE\WinBirds 4.0")
RunWait ("winbirds.exe")
Exit