博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C++] 获取IE代理server的账号password
阅读量:4946 次
发布时间:2019-06-11

本文共 1132 字,大约阅读时间需要 3 分钟。

非常多程序须要使用‘浏览器设置’的代理server,IE设置的代理server有可能是须要账号password的。如何编程获取浏览器设置的代理server的账号password呢?

InternetQueryOption(NULL, INTERNET_OPTION_PASSWORD, buf, &len)
这种方法被证明不能达到我们的目标。INTERNET_OPTION_PASSWORD仅仅能用于获取特定连接的password,也就是说仅仅有当你对某个连接设置了password之后,你依据连接的句柄才干获取这个连接的password。这不是我们想要的功能。

那么如何才干够获取IE里面的代理server的账号password呢?关键在于控制面板->用户->凭证管理器,IE的代理server账号password都在这里管理。

既然windows自己有界面能够管理IE代理server的账号password,那么系统里就一定有相应的API能够实现这个功能。

BOOL cred(TCHAR* ip, CString& usr, CString& pwd){	usr.Empty();	DWORD dwCount = 0;	PCREDENTIAL * pCredArray = NULL ;	if( CredEnumerate( NULL, 0, &dwCount, &pCredArray ) )	{		for( DWORD dwIndex = 0; dwIndex < dwCount; dwIndex++)		{			PCREDENTIAL pCredential = pCredArray[dwIndex];			CString target = pCredential->TargetName;			if (target == ip)			{				usr = pCredential->UserName;#ifdef _UNICODE				pwd = (LPCWSTR)pCredential->CredentialBlob;#else				pwd = CW2A((LPCWSTR)pCredential->CredentialBlob);#endif				break;			}		}		CredFree( pCredArray );	}	return (usr.GetLength() > 0);}
上述代码能够获取特定IP的代理server的账号password。也就是获取IE浏览器设置的代理server的账号password。

转载于:https://www.cnblogs.com/mengfanrong/p/4508502.html

你可能感兴趣的文章
java中的基本算法
查看>>
appium安装
查看>>
List指定字段赋特定值(非循环) asp.net
查看>>
linux中批量改名
查看>>
2个浏览器窗口间通信
查看>>
docker (centOS 7) 使用笔记3 - 修改docker默认的虚拟网址
查看>>
136. Single Number (Bit)
查看>>
win10环境下mysql5.7压缩包解压安装过程
查看>>
hud 2586 How far away ?
查看>>
JNI NewString
查看>>
QTP日期控件
查看>>
Linux:Ubuntu 14.04 Server 离线安装Jjava8(及在线安装)
查看>>
KMP算法介绍总结
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
代理模式
查看>>
MySQL数据类型
查看>>
处理date类型对象的方式
查看>>
创建数据库的注意事项
查看>>
开源DataGridView扩展(2) 自定义的Button列
查看>>
Codeforces Round #100 E. New Year Garland (第二类斯特林数+dp)
查看>>