J'ai une connexion dans "Connexions réseau et accès à distance", je voudrais la lancer. Comment faire ? Merci.
J'ai une connexion dans "Connexions réseau et accès à distance", je voudrais la lancer. Comment faire ? Merci.
Comment faire ?
Utiliser la fonction recherche avancée du forum par exemple :
http://www.developpez.net/forums/viewtopic.php?t=276250
N'oubliez pas d'ajouter le tag résolu, à+
Merci Sub0 pour ton aide, j'ai bien cherché sur ce forum/site et même au delà , mais...![]()
Pour ce qui est du lien que tu m'as donné, ça ne marche pas avec "Rasdial.exe" . J'ai peut-être mal posé ma question.![]()
J'ai une connexion (je précise ADSL) qui est deja configurée : Button Démarrer > Paramètres > connexions réseau et accès à distance > Internet ADSL
Cette même connexion à un raccourcis sur le bureau, il suffit de double-cliquer sur celui-ci pour se connecter (user et password sont deja enregistrés). J'ignore d'ailleurs ce que le raccouris execute... un exe? j'en doute! une fonction? sinon j'aurais essayé un ShellExecute !
donc ce que je veux faire c'est me connecter automatiquement avec delphi.
Voila, merci![]()
As-tu aussi testé les solutions données ici ?
http://216.239.59.104/search?q=cache...=fr&lr=lang_fr
non pas testé ! j'avais mis "lancer AND connexion" mais la recherche n'a pas donné cette page. Je vais tester ça et je vous dirais.
Voila, ça marche avec ça mais il y a un petit problème, ça m'affiche une boite, avec un bouton "composer", "annuler"... il faut que j'appuie sur composer pour lancer la connexion, moi qui voulait qq chose d'automatique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 USES ShellApi...; ShellExecute(Handle,'open',PChar('C:\Documents and Settings\All Users\'+ 'Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk'),'','',1);peut-être faut passer un paramètre avec ShellExecute ?
En tout cas merci Sub0, je vais voir ce que je peux faire.
en fait, rasphone.pbk est un simple fichier ini !
Le lien que je viens de te donner était déjà dans le topic donné tout au début (lien ci-dessus), seulement tu n'as pas lu jusqu'au bout... Pareil : Le code que tu cherches se trouve dans ce topic qui est en cache sur Google, seulement tu ne l'as pas lu jusqu'au bout...Envoyé par sub0
Envoyé par Dans l'autre sujet, sub0
(Lien tout en bas à gauche de cette fenêtre)
Sub0je postais les reponses au fur et à mesure que je testais j'avais pas fini, j'ai bien dit que j'allais voir...
Comme tu as ajouté le tag résolu, je suppose que le programme fonctionne. Juste pour info, le tag [résolu] est ajouté automatiquement au titre du sujet lorsqu'on clique sur le lien tout en bas à gauche de cette page. Cela t'évite de devoir éditer manuellement le titre de ton sujet. De plus, si tu désires poser une nouvelle question dans ce sujet, tu peux enlèver le tag en recliquant au même endroit. C'est plus pratique, non ? à+
J'ai trouvé quelques liens intéressants sur le sujet :
http://www.microsoft.com/windows2000/fr/server/help/rasdial.htm
http://www.microsoft.com/windows2000/fr/server/help/netcfgincomingnode.htm
http://www.aideinfo.com/?page=art_ast&art=win28
Voir aussi ICWCONN1.EXE, INETWIZ.EXE, NETSETUP.EXE, NCPA.CPL...
Le chemin du dossier All Users doit-être normalement obtenu avec l'environnement windows :
http://castelain.developpez.com/arti...Environnement/
Finalement, voici le code amélioré. La fonction GetAllUsersPath retourne le bon chemin du dossier All Users :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 {----------------------------------------------------------------} { Autoconnect - Sub0 - 09/05/05 } {----------------------------------------------------------------} {$V+,B+,X+,T+,P+,H+,J+} Program Autoconnect; Uses Forms, Windows, SysUtils, Dialogs, Messages, WinInet, ShellApi; Var NewHandle, NewHandle2: Cardinal; Curstate: Boolean; Ticks, TimeOut: DWord; {----------------------------------------------------------------} Function TestConnect: Boolean; Var dwFlags: DWord; Begin dwFlags := INTERNET_CONNECTION_MODEM Or INTERNET_CONNECTION_LAN Or INTERNET_CONNECTION_PROXY; Result := InternetGetConnectedState(@dwFlags, 0); End; {----------------------------------------------------------------} Function GetAllUsersPath: String; Var pb: PChar; Begin Result := ''; GetMem(pb, MAX_PATH); If (GetEnvironmentVariable('ALLUSERSPROFILE', pb, MAX_PATH) = 0) Then Begin FreeMem(pb); Exit; End; Result := IncludeTrailingPathDelimiter(pb); FreeMem(pb); End; {----------------------------------------------------------------} Begin TimeOut := 20000; NewHandle := GetForeGroundWindow; Curstate := TestConnect; If (ShellExecute(Application.Handle, 'open', PChar(GetAllUsersPath + 'Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk'), '', '', SW_HIDE) <= 32) Then Begin ShowMessage('Erreur d'ouverture du fichier "rasphone.pbk" !'); Application.Terminate; End; Repeat Application.ProcessMessages; Until (GetForeGroundWindow <> NewHandle); NewHandle := GetForeGroundWindow; PostMessage(NewHandle, WM_KEYDOWN, VK_RETURN, VK_RETURN); Application.ProcessMessages; Sleep(500); PostMessage(NewHandle, WM_KEYUP, VK_RETURN, VK_RETURN); Repeat Application.ProcessMessages; Until (GetForeGroundWindow <> NewHandle); NewHandle2 := GetForeGroundWindow; ShowWindow(NewHandle2, SW_HIDE); Application.ProcessMessages; PostMessage(NewHandle2, WM_KEYDOWN, VK_RETURN, VK_RETURN); Application.ProcessMessages; Sleep(500); PostMessage(NewHandle2, WM_KEYUP, VK_RETURN, VK_RETURN); Application.ProcessMessages; Ticks := GetTickCount; Repeat Sleep(500); Until (TestConnect <> Curstate) Or (GetTickCount - Ticks > TimeOut); PostMessage(NewHandle, WM_QUIT, 0, 0); PostMessage(NewHandle2, WM_QUIT, 0, 0); End.Je suis persuadé qu'il existe une meilleure solution que d'utiliser ShellExecute et simuler l'appui de la touche entrée... Je t'avertirais si je trouve mieux, à+
Partager