找回密码
 加入
搜索
查看: 7007|回复: 27

[AU3基础] 关于清理IE缓存时对话窗口如果隐藏运行【已解决】

[复制链接]
发表于 2020-7-25 15:39:20 | 显示全部楼层 |阅读模式
本帖最后由 ttmv2019sx 于 2020-7-26 18:00 编辑

@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 255         这个命令是可以自动清理被打开的IE清理所有的临时文件的,但是运行这个命令后,会有正在删除与清理的窗口出现,可否有办法让这个对话窗口后台运行,或者是最小化运行,A版,可否帮我看看,能有办法处理的吗。
发表于 2020-7-25 15:53:34 | 显示全部楼层
Run('RunDll32 InetCpl.cpl,ClearMyTracksByProcess 255', '', 0)
 楼主| 发表于 2020-7-25 22:01:16 来自手机 | 显示全部楼层
afan 发表于 2020-7-25 15:53

a大,我用runwait 试过没有效果,还是会显示正在删除临时文件的,我用你的这个试试,两个命令一个等运行结束,一个直接下去,也存在区别吗。
 楼主| 发表于 2020-7-25 22:12:26 | 显示全部楼层

A大,我试过了,效果一样,没有隐藏的,我的是这样写的,RunWait(@ComSpec & ' /c ' & '@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 255', '', 0)      两种都试过了,全都没有效果,不知道还有没有其它的办法呢。
 楼主| 发表于 2020-7-25 22:16:09 | 显示全部楼层

如果是用WinSetState 这个命令去隐藏的话,都来不及隐藏的,这个窗口我用你制作 的信息抓捕工具,找到的信息是可以的,但是没有办法来的及隐藏最小化上面的这个清理IE缓存的命令所跳出来的窗口的,这个命令去隐藏其它的老早就存在的窗体是可以的,主要上上面的IE清理缓存的窗口是即时生成,处理完成只要4秒左右时间,立马就关了的,现在是找不到有什么适合的方法来隐藏这个窗口了。
发表于 2020-7-25 22:21:02 | 显示全部楼层
ttmv2019sx 发表于 2020-7-25 22:12
A大,我试过了,效果一样,没有隐藏的,我的是这样写的,RunWait(@ComSpec & ' /c ' & '@Rundll32 InetCp ...

我XP正常,没测试其它系统
发表于 2020-7-25 22:37:46 | 显示全部楼层
比较无奈的方法
Local $Title = '删除浏览历史记录'
WinWait($Title)
While WinExists($Title)
        WinSetState($Title, '', @SW_HIDE)
WEnd
 楼主| 发表于 2020-7-26 06:14:05 | 显示全部楼层
afan 发表于 2020-7-25 22:21
我XP正常,没测试其它系统

我是WIN10下测试的,不过我找到了一个C写的程序,不知道A大,看看有机会写成AU3的吗
 楼主| 发表于 2020-7-26 06:15:22 | 显示全部楼层
afan 发表于 2020-7-25 22:21
我XP正常,没测试其它系统

RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255");
void RunCmd(string cmd)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
// 关闭Shell的使用
p.StartInfo.UseShellExecute = false;
// 重定向标准输入
p.StartInfo.RedirectStandardInput = true;
// 重定向标准输出
p.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(cmd);
p.StandardInput.WriteLine("exit");
}




这个可以用AU3定的吗,都不太懂这个,不知道A版,看看是不是可以转成AU3的。

 楼主| 发表于 2020-7-26 06:16:31 | 显示全部楼层
haijie1223 发表于 2020-7-25 22:37
比较无奈的方法
Local $Title = '删除浏览历史记录'
WinWait($Title)

RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255");
void RunCmd(string cmd)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
// 关闭Shell的使用
p.StartInfo.UseShellExecute = false;
// 重定向标准输入
p.StartInfo.RedirectStandardInput = true;
// 重定向标准输出
p.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(cmd);
p.StandardInput.WriteLine("exit");
}




这个是网上找到的,可以完全隐藏这个显示的,不知道是不是有效果的,我是看不懂,请大神看一下,是否有效,是否转成AU3的?

发表于 2020-7-26 08:53:41 | 显示全部楼层
试试这个
游客,如果您要查看本帖隐藏内容请回复

 楼主| 发表于 2020-7-26 09:42:36 | 显示全部楼层
zghwelcome 发表于 2020-7-26 08:53
试试这个
**** 本内容被作者隐藏 ****

好的,大神,我试试
 楼主| 发表于 2020-7-26 09:48:00 | 显示全部楼层
zghwelcome 发表于 2020-7-26 08:53
试试这个
**** 本内容被作者隐藏 ****

大神,一样是有窗口出来的,0x0100        256        Do not show a GUI  when running the cache clearing  我就算是255+256  也是没有效果,,都一样,呵呵。也就是255变成511  
 楼主| 发表于 2020-7-26 09:50:46 | 显示全部楼层
haijie1223 发表于 2020-7-25 22:37
比较无奈的方法
Local $Title = '删除浏览历史记录'
WinWait($Title)

大神,你的这个我不知道怎么放才好,因为我里面已经存在一个while的循环的,就是判断是不是有一个打印任务,如果有一个打印任务就,清理IE缓存的,,双循环 同时进行,我不知道放哪一个位置才好
发表于 2020-7-26 09:53:37 | 显示全部楼层
ttmv2019sx 发表于 2020-7-26 09:48
大神,一样是有窗口出来的,0x0100        256        Do not show a GUI  when running the cache clearing  我就算是2 ...

win7 64 测试没有弹窗
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-3-29 23:41 , Processed in 0.072753 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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