我正在使用
建立与VPN的连接RasSetEntryProperties
创建新的电话簿条目RasSetCredentials
向该电话簿条目添加凭据RasGetEntryDialParams
获取RasDial的参数,RasDial
最终建立新连接。 经过一番麻烦后,它现在就像一个魅力。唯一的缺点是,每次我连接到VPN时都会出现讨厌的网络位置向导(至少在Windows 7上),如上所述。如何以编程方式防止这种情况发生?
答案 0 :(得分:0)
我有一个非最佳解决方案。窗口仍会弹出一瞬间,但几乎会立即关闭。使用以下AutoIt脚本:
WinWaitActive("Network Location Wizard")
WinClose ("Network Location Wizard")
AutoIt脚本可以很容易地编译成可执行文件,然后可以在C / C ++代码之后添加以下行:
system("start Your_Autoit_script.exe");
这将在您的代码之后立即启动脚本,然后脚本将等待网络位置向导弹出(WinWaitActive),然后它将关闭它。
使用此方法有两个副作用:
您的用户无需安装AutoIt,生成的可执行文件是独立的。
编辑:另见this solution。
答案 1 :(得分:0)
如果从会话0调用这些功能(即以系统用户身份运行的Windows服务),则无法获得弹出窗口。这是因为会话0隔离。
如果您有足够的权限将代码作为服务运行,那么这将解决您的问题,如果不是,我不认为API中有任何内容可以帮助您。