c++ - 使用 RasDial 建立 VPN 连接后,是否要防止网络定位向导弹出?

标签 c++ c winapi windows-7 vpn

我正在使用

建立到我的 VPN 的连接
  • RasSetEntryProperties 创建一个新的电话簿条目,
  • RasSetCredentials 将凭据添加到该电话簿条目,
  • RasGetEntryDialParams获取RasDial的参数,
  • RasDial 最终建立新的连接。

经过一些小麻烦之后,现在一切正常了。唯一的缺点是每次我像上面描述的那样连接到我的 VPN 时,讨厌的网络位置向导都会弹出(至少在 Windows 7 上)。如何以编程方式防止这种情况发生?

最佳答案

我有一个非最优解。该窗口仍会弹出一瞬间,但几乎会立即关闭。使用以下 AutoIt脚本:

WinWaitActive("Network Location Wizard")
WinClose ("Network Location Wizard")

AutoIt 脚本可以轻松编译成可执行文件,然后您可以在 C/C++ 代码后添加以下行:

system("start Your_Autoit_script.exe");

这会在您的代码之后立即启动脚本,然后脚本会等待网络位置向导弹出 (WinWaitActive),然后关闭它。

使用这种方法有两个副作用:

  1. 该窗口仍会显示很短的时间。
  2. 托盘图标会出现很短的时间。

您的用户不需要安装 AutoIt,生成的可执行文件是独立的。

编辑:另见 this solution .

关于c++ - 使用 RasDial 建立 VPN 连接后,是否要防止网络定位向导弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10801468/

相关文章:

C++ 和 OpenCV : clustering white pixels algorithm

c - 用 C 编写的程序通常包含汇编代码,这是真的吗?

c - 使用按位运算符提取位

c# - 从 CreateFile 产生的句柄构造一个 FileStream 给出一个空流

c++ - 帮助 WinAPI 工具栏

c++ - 具有作用域/代码块的互斥锁/锁

c++ - 在带有 XCode 4.1 的 Mac OS X Lion 上找不到 OpenAL 的 AL/al.h

c++ - Ghostscript api 请求 "press <return> to continue"

c - 使用 C 返回数组

c++ - code::blocks 出现奇怪的编译器错误