以编程方式添加和更改Windows网络设置

时间:2009-10-26 20:06:33

标签: networking vpn

我想构建一个程序,在用户计算机上设置一个新的VPN网络,然后连接到该网络。

用户将使用Windows(Vista或7)。

我想知道如何以编程方式设置新的VPN网络,然后让用户通过点击按钮连接/断开连接。

要设置的网络需要连接到我已经设置为接收PPTP连接的linux服务器,所以这一切都已完成。

对此事的任何帮助都会很棒,因为我有谷歌并且没有发现真正有用的东西:/

2 个答案:

答案 0 :(得分:0)

我认为netsh command(a / k / a“NetShell”)在这里是合适的,因为它可以控制您正在寻找的网络功能。

按原样,它是一个可以交互使用的命令行工具,因此您可以尝试通过shell命令创建/启动/控制连接 - 或者更好的是,您可以programatically hook into the public functions。< / p>

(但是,我会注意到,我没有尝试对netsh进行任何编程控制,所以你自己在那里!)

答案 1 :(得分:0)

我没有看到netsh支持创建VPN连接。

我发现的一种技术是直接创建电话簿条目。在Windows 7上,可以在%appdata%\ Microsoft \ Network \ Connections \ pbk \ rasphone.pbk中找到电话簿。在另一台机器上创建条目,然后使用该条目以编程方式编辑目标机器上的.pbk文件(它只是一个文本文件)。

请注意,这不会保存任何凭据,因此如果要求用户输入凭据,则仍会有必要的身份验证步骤。

另一种技术是使用the API,但我还没有尝试过这种方法。