标题: [其他] nircmd将指定图片复制到剪贴板如何判断数据载入是否成功且为图像数据? [打印本页]
作者: 我来了 时间: 2016-8-31 20:31 标题: nircmd将指定图片复制到剪贴板如何判断数据载入是否成功且为图像数据?
本帖最后由 pcl_test 于 2016-9-1 11:17 编辑
- IECapt.exe --url=http://www.bathome.net/ --out=c:\test.png --silent
- nircmd clipboard copyimage "c:\test.png"
复制代码
用批处理 或 按键精灵 都可以。
如何判断内存数据被载入成功 且 为 图像数据?
求大家 帮助下,写个判断,谢谢。
作者: happy886rr 时间: 2016-8-31 20:53
- @echo off
- IECapt.exe --url=http://www.bathome.net/ --out=c:\test.png --silent
- nircmd clipboard copyimage "c:\test.png" && echo Succeed || echo Failed
- set/p=
复制代码
回复 1# 我来了
作者: 我来了 时间: 2016-8-31 21:37
回复 我来了
happy886rr 发表于 2016-8-31 20:53
谢谢大神,能不能 再帮助修改下,
不显示【成功字样】
下边的测试中
【按键精灵中】:
RunApp "C:\Users\wcc\Desktop\test.cmd"
MessageBox "test"
批处理 未执行完,下边的对话框 就出来了!(这样不达标啊。)
作者: pcl_test 时间: 2016-9-1 11:09
本帖最后由 pcl_test 于 2016-9-1 11:13 编辑
回复 2# happy886rr
nircmd这句就算图片不存在或是将txt改扩展名为图片,也会显示成功
作者: 我来了 时间: 2016-9-1 11:27
回复 happy886rr
nircmd这句就算图片不存在或是将txt改扩展名为图片,也会显示成功
pcl_test 发表于 2016-9-1 11:09
麻烦 大神 给改改
作者: 523066680 时间: 2016-9-1 14:28
本帖最后由 523066680 于 2016-9-1 14:40 编辑
有些语言的库,可以判断剪切板内是否为图片数据。- use Win32::Clipboard;
-
- my $clip = Win32::Clipboard->new();
-
- my $buff = $clip->Get();
-
- if ( Win32::Clipboard->IsBitmap($buff) )
- {
- print "is bitmap\n";
- }
复制代码
C语言的好像是winuser.h
作者: happy886rr 时间: 2016-9-1 14:30
回复 4# pcl_test
但我测试时,一直显示失败,不过剪切板可以粘贴出图来。非常奇怪。
作者: 我来了 时间: 2016-9-1 18:18
回复 7# happy886rr
我开始用按键精灵 做出来的 也是可 以的,
但有个问题
因为保存的 图片文件 大小不同
所以 ctrl+V 时,失败的情况很多
后来 修改成 判断文件是否存在的,再用菜单来插入图片的路径,
失败的情况明显下降,但也有 1/10的不成功
作者: 我来了 时间: 2016-9-1 22:03
Rem 下一个
读第1行 = Lib.文件.读取指定行文本内容("C:\网站链接.txt", 1)
Delay 250
Call Lib.文件.删除指定行文本内容("C:\网站链接.txt", 1)
Delay 250
网站链接 = "D:\IECapt.exe --url=" & 读第1行 & " --out=c:\test.gif --silent"
RunApp 网站链接
RunApp "D:\nircmd.exe clipboard copyimage c:\test.gif"
Delay 2500
RunApp "D:\nircmd.exe clipboard saveimage c:\test.gif"
Rem 等待
IsFile = Plugin.File.IsFileExit("c:\test.gif")
If IsFile = false Then
Delay 100
Goto 等待
Else
Delay 4800
MoveTo 147, 58
LeftClick 1
End If
Text = Plugin.File.ReadFileEx("C:\网站链接.txt")
If Text = "" Then
Call Plugin.Media.Play("J:\5.wav")
Else
Call Plugin.File.DeleteFile("c:\test.gif")
Goto 下一个
End If
这个版本的毛病 就比较 大
作者: happy886rr 时间: 2016-9-1 22:37
本帖最后由 happy886rr 于 2016-9-1 22:38 编辑
回复 9# 我来了
你的问题解决没有,为什么会出现复制到剪切板失败,是否可以在复制的时候等待几秒,再操作。
作者: 我来了 时间: 2016-9-2 08:30
回复 10# happy886rr
试过的,那样的有的是可以的,但网页比较长的就会失败
所以换作了 键盘 点击菜单的,不过偶尔还有少部分不成功。
把【弹框】 改成【写入文件】
mshta http://bathome.net/s/hta "web('https://www.baidu.com/link?url=XXR7bWJ1n0S0rbKpvT6FWixt863bF3sIUEEC4inUGJRPDj2OAiUva4c5vIcULrdE&wd=&eqid=82a228fa00000c1a0000000257c686b3').match(/URL='([^']+)'/)[1]"
这个如何 修改呢?
作者: CrLf 时间: 2016-9-2 09:10
回复 11# 我来了 - mshta http://bathome.net/s/hta "web('https://www.baidu.com/link?url=XXR7bWJ1n0S0rbKpvT6FWixt863bF3sIUEEC4inUGJRPDj2OAiUva4c5vIcULrdE&wd=&eqid=82a228fa00000c1a0000000257c686b3').match(/URL='([^']+)'/)[1]" >文本.txt
复制代码
作者: 我来了 时间: 2016-9-2 09:23
回复 12# CrLf
又解决了一个人工操作问题
还有4个问题有待进一步解决 就可以脱离人工了。
作者: happy886rr 时间: 2016-9-2 10:53
回复 13# 我来了
加油,我觉得你这几天实现了好多自动化哈,解放劳动力。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |