找回密码
 加入
搜索
查看: 1593|回复: 4

如何完成截图后把文件传到ftp服务器

[复制链接]
发表于 2009-1-6 20:41:31 | 显示全部楼层 |阅读模式
要完成以下功能,请问怎么写?

1、截取活动窗口图像,保存为文件名为本机计算机名的jpg文件,(或者是计算机名的后三位,比如计算机名为lab-013,则文件为013.jpg)

2、将保存的jpg文件上传到ftp服务器中,如地址是ftp://192.168.0.1 用户名为test,密码为123

现有代码如下:
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
Send("{ALTDOWN}{PRINTSCREEN}{ALTUP}{LWINDOWN}r{LWINUP}")
WinWait("运行","")
If Not WinActive("运行","") Then WinActivate("运行","")
WinWaitActive("运行","")
Send("mspaint{ENTER}")
WinWait("未命名 - 画图","")
If Not WinActive("未命名 - 画图","") Then WinActivate("未命名 - 画图","")
WinWaitActive("未命名 - 画图","")
Send("{CTRLDOWN}v{CTRLUP}{ALTDOWN}f{ALTUP}s")
WinWait("保存为","")
If Not WinActive("保存为","") Then WinActivate("保存为","")
WinWaitActive("保存为","")
Send("{TAB}{DOWN}{DOWN}{ENTER}{TAB}{TAB}{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}{TAB}{TAB}{TAB}{TAB}@ComputerName{ALTDOWN}s{ALTUP}")
Send("{ALTDOWN}{F4}{ALTUP}{ALTDOWN}{F4}{ALTUP}")


请大家帮忙看看,谢谢了

分功能来说吧,现在是可以完成截图,但问题是如何做到命名图片文件是用计算机名来命名;

再则,现在有用ftp来传文件的代码:
#include 
$dll = DllOpen('wininet.dll') 
$server = '192.168.0.1'
$username = 'test'
$pass = '123'
$Open = _FTPOpen('MyFTP Control')
$Conn = _FTPConnect($Open, $server, $username, $pass)
$Ftpp = _FtpPutFile($Conn, 'c:\010.jpg', '/图片/010.jpg')
$Ftpc = _FTPClose($Open)
DllClose($dll)


问题是计算机名是随机的而不是总是010。


或者说可以在保存图片时用同一个文件名,在上传到服务器时再改文件名为相应计算机名?

具体怎么做还请高手指点迷津,谢谢!

[ 本帖最后由 laotongbao 于 2009-3-23 14:16 编辑 ]
发表于 2009-1-7 01:01:43 | 显示全部楼层
#include <A3LScreenCap.au3>
Dim $hBmp
$hBmp = _ScreenCap_Capture("")
_ScreenCap_SaveImage("C:\"&@ComputerName&".jpg", $hBMP)
$dll = DllOpen('wininet.dll')
$server = '192.168.0.1'
$username = 'test'
$pass = '123'
$Open = _FTPOpen('MyFTP Control')
$Conn = _FTPConnect($Open, $server, $username, $pass)
$Ftpp = _FtpPutFile($Conn, 'C:\'&@ComputerName&'.jpg', '/图片/'&@ComputerName&'.jpg')
$Ftpc = _FTPClose($Open)
DllClose($dll)

这个旧版的代码
 楼主| 发表于 2009-1-7 08:30:06 | 显示全部楼层
很好,谢谢马甲,哈哈

那如果回到第一个问题,就是截图后要保存为文件名为计算机名的图片,最好还能截取计算机名的最后两个或三个字符,这个要怎么处理?
发表于 2009-6-23 09:36:49 | 显示全部楼层
好像想干坏事...呵
发表于 2009-6-23 18:25:26 | 显示全部楼层
很好,谢谢马甲,哈哈

那如果回到第一个问题,就是截图后要保存为文件名为计算机名的图片,最好还能截取计算机名的最后两个或三个字符,这个要怎么处理?
laotongbao 发表于 2009-1-7 08:30


StringRight
返回字符串中从右开始指定数量的字符。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-10 12:10 , Processed in 0.073491 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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