SysProxy.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. /** @brief 设置系统代理 (IE代理)
  3. *
  4. * @param lpszProxyServer 代理服务器地址, 为NULL表示不设置
  5. * @param lpszPacUrl pac地址,为NULL表示不设置
  6. * @param lpszByPass 设置By pass( 跳过代理服务器的列表 ), 为NULL的时候不设置
  7. * @param bLocalAddrNotUseProxy 对应于IE代理设置中的: 对于本地地址不使用代理服务器
  8. *
  9. * @note 如果指定了lpszByPass, bLocalAddrNotUseProxy将被忽略
  10. */
  11. BOOL SetSystemProxy(
  12. LPCTSTR lpszProxyServer,
  13. LPCTSTR lpszPacUrl,
  14. LPCTSTR lpszByPass = NULL,
  15. BOOL bLocalAddrNotUseProxy = FALSE);
  16. /** @brief 禁用系统代理
  17. */
  18. BOOL DisableSystemProxy();
  19. /** @brief 获取IE的代理设置,( 系统代理)
  20. *
  21. * @param bUseAutoDetect[out] 自动检测设置属性
  22. * @param bUseAutoConfigUrl[out] Buffer使用自动配置脚本属性
  23. * @param lpAutoConfigUrl[out] 自动配置脚本URL地址
  24. * @param nAutoConfigUrlLe[out] 自动配置脚本URL Buffer长度
  25. * @param bUseProxyServer[out] 使用代理服务器地址
  26. * @param lpProxyServer[out] 代理服务器地址
  27. * @param nProxyServerLen[out] 代理服务器地址BUFFER 长度
  28. * @param lpByPass[out] By pass字符串
  29. * @param nByPassLen[out] By pass字符串BUFFER长度
  30. * @return
  31. * TRUE 成功, 返回值在以上参数中
  32. * FALSE 失败.
  33. *
  34. * https://msdn.microsoft.com/en-us/library/aa385145.aspx
  35. */
  36. BOOL GetSystemProxyInfo(
  37. BOOL &bUseAutoDetect, // 自动检测设置属性
  38. BOOL &bUseAutoConfigUrl, // 使用自动配置脚本属性
  39. LPTSTR lpAutoConfigUrl, // 自动配置脚本URL地址
  40. int nAutoConfigUrlLen, // 自动配置脚本URL Buffer长度
  41. BOOL &bUseProxyServer, // 使用代理服务器地址
  42. LPTSTR lpProxyServer, // 代理服务器地址
  43. int nProxyServerLen, // 代理服务器地址BUFFER 长度
  44. LPTSTR lpByPass, // By pass字符串
  45. int nByPassLen // By pass字符串BUFFER长度
  46. );
  47. /** @brief 是否设置了系统代理
  48. */
  49. BOOL IsSetSystemProxy();