找回密码
 加入
搜索
查看: 2621|回复: 13

[网络通信] 清除ssl状态【已解决】

[复制链接]
发表于 2020-8-4 10:15:56 | 显示全部楼层 |阅读模式
本帖最后由 redapple2008 于 2020-8-4 13:56 编辑

这个怎么改成AU3代码:
var document = webBrowser1.Document;
document.ExecCommand("ClearAuthenticationCache", false, null);
javascript代码(仅限IE):
< script type = 'text / javascript' >
document .execCommand( " ClearAuthenticationCache" );
< / script>

发表于 2020-8-4 11:26:06 | 显示全部楼层
$oIE.document.execCommand("ClearAuthenticationCache")
试试看
 楼主| 发表于 2020-8-4 11:33:21 | 显示全部楼层
zghwelcome 发表于 2020-8-4 11:26
$oIE.document.execCommand("ClearAuthenticationCache")
试试看

$oIE: undeclared global variable.
这个怎么定议?
 楼主| 发表于 2020-8-4 11:37:19 | 显示全部楼层
C++代码类似这样:
typedef BOOL (CALLBACK *pDelSSL)(LPSTR pszTargetName,DWORD dwFlags);
typedef BOOL (CALLBACK *pDelSSL2)(DWORD inp,DWORD dwFlags);

void CTestDlg::OnOK() 
{

pDelSSL DelSSL;
HINSTANCE hdll = NULL;
hdll = LoadLibrary("Schannel.dll");
if (hdll != NULL)
{
if((DelSSL = (pDelSSL)GetProcAddress(hdll, _T("SslEmptyCacheA"))) == NULL)
{
//MessageBox("加载函数失败");
}
}
BOOL A = DelSSL(NULL,0);

FreeLibrary(hdll);


HINSTANCE h_wininetDLL = LoadLibrary("wininet.dll");
pDelSSL2 DelSSL2 = (pDelSSL2) GetProcAddress(h_wininetDLL,"IncrementUrlCacheHeaderData");
DWORD buf = 0;
A = DelSSL2(14,&buf);

FreeLibrary(h_wininetDLL);

}
发表于 2020-8-4 11:37:26 | 显示全部楼层
redapple2008 发表于 2020-8-4 11:33
$oIE: undeclared global variable.
这个怎么定议?

你不是操作IE吗?
 楼主| 发表于 2020-8-4 11:41:15 | 显示全部楼层
zghwelcome 发表于 2020-8-4 11:37
你不是操作IE吗?

主要是想操作这个按钮

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2020-8-4 11:51:53 | 显示全部楼层

Local $oIE = ObjCreate("InternetExplorer.Application")
$oIE.Navigate("about:blank")
While $oIE.Busy
        Sleep(20)
WEnd
$oIE.document.execCommand("ClearAuthenticationCache")
$oIE.Visible = 0
Sleep(500)
$oIE = 0
Exit


不知道是否有效果
发表于 2020-8-4 12:27:26 | 显示全部楼层
这样调用DLL不知道是否能行
游客,如果您要查看本帖隐藏内容请回复


 楼主| 发表于 2020-8-4 12:42:24 | 显示全部楼层
zghwelcome 发表于 2020-8-4 12:27
这样调用DLL不知道是否能行
**** 本内容被作者隐藏 ****

十分感谢,我试试了。
 楼主| 发表于 2020-8-4 13:55:53 | 显示全部楼层
最终手动操作:代码如下:
 Run(@ComSpec & ' /c rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl ', "", @SW_HIDE)
        WinWait( "Internet" )
        If Not WinActivate ( "Internet","" ) Then WinActivate ( "Internet","" )
        WinWaitActive ( "Internet","" )
        $WinPosArray = WinGetPos ( "Internet" )
    $TNewCheckListBoxArray = ControlGetPos ( "Internet", "", "[CLASS:SysTabControl32; INSTANCE:1]" )
        $Width = $WinPosArray[0] + $TNewCheckListBoxArray[0]
        $Height =  $WinPosArray[1] + $TNewCheckListBoxArray[1]
    MouseClick ( "left", $Width + 180, $Height + 40 )
    Sleep(1000)
        $TNewCheckListBoxArray = ControlGetPos ( "Internet", "", "[CLASS:Button; INSTANCE:2]" )
        $Width = $WinPosArray[0] + $TNewCheckListBoxArray[0]
        $Height =  $WinPosArray[1] + $TNewCheckListBoxArray[1]
    MouseClick ( "left", $Width + 95, $Height + 40 )
        Sleep(200)
        Send("{ENTER}")
    $TNewCheckListBoxArray = ControlGetPos ( "Internet", "", "[CLASS:Button; INSTANCE:7]" )
        $Width = $WinPosArray[0] + $TNewCheckListBoxArray[0]
        $Height =  $WinPosArray[1] + $TNewCheckListBoxArray[1]
    MouseClick ( "left", $Width + 20, $Height + 40 )
发表于 2020-8-4 14:37:22 | 显示全部楼层
redapple2008 发表于 2020-8-4 13:55
最终手动操作:代码如下:

不知道你这个模拟操作的是啥,反正XP不是这些控件
有些代码不需要这样繁琐的,比如进入页面这样一行就行了
Run('rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,3')
不知道你要点击什么,如果自用无所谓,共享的话控件序号都不一样,需要枚举。
发表于 2020-8-4 14:42:53 | 显示全部楼层
redapple2008 发表于 2020-8-4 13:55
最终手动操作:代码如下:

另外 zghwelcome 提供的两段代码能不能用你也应该反馈一下。
 楼主| 发表于 2020-8-4 14:59:18 | 显示全部楼层
afan 发表于 2020-8-4 14:42
另外 zghwelcome 提供的两段代码能不能用你也应该反馈一下。

zghwelcome 提供的两段代码也没测试,主要是没办法看到结果。
 楼主| 发表于 2020-8-4 15:19:38 | 显示全部楼层
afan 发表于 2020-8-4 14:37
不知道你这个模拟操作的是啥,反正XP不是这些控件
有些代码不需要这样繁琐的,比如进入页面这样一行就行 ...

你这一句省了我好多条代码,厉害啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 10:43 , Processed in 0.073463 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表