Sziasztok!
Van egy kicsi, C-ben megírt programom, ami bizonyos időközönként automatikusan elvégez egy feladatot. Ennek a feladatnak az elvégzéséhez viszont csatlakozva kell lennie a számítógépnek egy VPN-hez. Mivel a program indításakor nem biztos, hogy él a VPN kapcsolat, szeretnék programozottan csatlakozni egy előre elmentett kapcsolathoz.
A program releváns része:
#include <windows.h>
#include <stdio.h>
typedef struct connect_dll {
HINSTANCE dll_handle;
FARPROC connect;
} ConnectDLL;
HRESULT vpn_connect(ConnectDLL handle) {
return (handle.connect)(
NULL,
0x00,
0x00,
NULL,
NULL,
NULL
);
}
ConnectDLL init(void) {
ConnectDLL result;
result.dll_handle = LoadLibrary(TEXT("Connect.dll"));
if (result.dll_handle == NULL) {
printf("ERROR: Cannot load Connect.dll");
exit(1);
}
result.connect = GetProcAddress(result.dll_handle, "GetVPNConnected");
if (result.connect == NULL) {
printf("ERROR: Cannot load GetVPNConnected");
exit(2);
}
return result;
}
int main () {
ConnectDLL handle = init();
HRESULT result = vpn_connect(handle);
// Itt csinal valamit a program, miutan csatlakozott
FreeLibrary(handle.dll_handle);
exit(0);
}
A problémám: ennél a megoldásnál feljön egy "Kívánja a meglévő kapcsolatok valamelyikét használni?" párbeszédablak, és manuálisan kell a "Tovább" gombra kattintani. Ezt szeretném elkerülni.
Szerk: Köszönöm Fejesjoconak a megoldást.
- 448 megtekintés
Hozzászólások
https://docs.microsoft.com/en-us/powershell/module/vpnclient/add-vpncon…
Esetleg rasdial/rasphone alkalmazások hívása?
- A hozzászóláshoz be kell jelentkezni
Ez jó ötletnek tűnik, megnézem majd.
Psszt, elárulom az IP-címemet: 192.168.0.14
- A hozzászóláshoz be kell jelentkezni
A vpn-t "on-demand" -ra állítani és ennyi?
Biztos én vagyok nagyon maradi de hogy hálózatot vagy vpn-t kapcsolgassak egy programmal aminek nem ez a feladata az sztem nem szép architektúra.
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Ahogy egy tanult kolléga mondaná: A nem szééép, de csúnya tipikus esete :-)
- A hozzászóláshoz be kell jelentkezni
Nem jókedvemben csinálom :(
Psszt, elárulom az IP-címemet: 192.168.0.14
- A hozzászóláshoz be kell jelentkezni
Az a jó ezekben a lehetetlen feladatokban, hogy könnyen le lehet zárni:
1. Makrózod a dialógust egérmozgatással, de csak 1 milliárd forintért vállalsz rá supportot
2. Azt mondod, hogy maga az operációs rendszer nem támogatja, elvállalod a linuxra migrálást 1 milliárd forintért
Ez így szerintem reális, és abszolút megbecsülendő "can-do attitude" :)
- A hozzászóláshoz be kell jelentkezni
Lekerdezed, hogy fut-e az Openvpn daemonkent.
Ha nem, akkor elinditod.
Nyit egy portot, ahol lehet vele kommunikalni. Ott lekerdezed, hogy van-e aktiv kiepitett kapcsolat.
Ha nincs, akkor megmondod neki, hogy melyik ovenvpn config file az aktualis, es connect.
En igy csinalnam. A Windowsos VPN nekem feher folt, lehet, hogy az jobb, nem tudom. :-)
- A hozzászóláshoz be kell jelentkezni
Egyenlőre megpróbálok a Windowsos VPN vonalon haladni, de köszi a tippet, ha így nem megy, kipróbálom az openvpn-t.
Psszt, elárulom az IP-címemet: 192.168.0.14
- A hozzászóláshoz be kell jelentkezni
egyelore
- A hozzászóláshoz be kell jelentkezni
Van két, egyenlőre levágott deszkám - könyvespolc helyett egyelőre jó lesz.
- A hozzászóláshoz be kell jelentkezni
Pedig általában én javítok ki másokat... Ezt most tényleg benéztem :(
Psszt, elárulom az IP-címemet: 192.168.0.14
- A hozzászóláshoz be kell jelentkezni
Ket parhuzamos es egy meroleges != egy meroleges es ket parhuzamossal, pont a meroleges alatti pont miatt. :-)
- A hozzászóláshoz be kell jelentkezni