我正在努力:
捕获屏幕截图(使用FastStone Screen Capture);结果是图像保存到C:\Capture\screenshot.jpg
。
监控C:\Capture
,如果找到screenshot.jpg
,请将其移至当前工作目录(活动资源管理器窗口)。
因此,如果我在screenshot.jpg
内抓取C:\Pictures
,则该文件应自动从C:\Capture
移至C:\Pictures
。换句话说,捕获的图像应该移动到它的屏幕截图(活动的资源管理器窗口)。
FastStone Screen Capture可以将图像保存到可变路径。但是我没有为当前打开的目录找到这样的变量。
https://lh3.googleusercontent.com/Q1rtTdMOKYq6SXXyElpy0QIbAg5hDqT8BIPW7Rc2tA=w427-h207-p-no
答案 0 :(得分:3)
关于如何实现目标的一些提示:
if( WinActive("ahk_class CabinetWClass") ) {
ControlGetText, wDir, ToolbarWindow322
RegExMatch(wDir, ":\s*(.*)", wDir)
wDir := wDir1 ; Current path will be stored in wDir
}
该过程很简单:定义一个启动过程的热键。检索当前的资源管理器路径。拍摄(部分)屏幕截图并将其保存在您刚检索的路径中。
答案 1 :(得分:0)
关于如何实现这一目标的另一个提示:
使用自动库
#include <ScreenCapture.au3>
; Capture full screen
_ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image1.jpg")
; Capture region
_ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image2.jpg", 0, 0, 796, 596)
答案 2 :(得分:0)
我使用了一个非常有用的库here,可以让您轻松获取当前资源管理器窗口的路径。你可以像这样使用它。
#Include Explorer.ahk
; Can change this to the hotkey for your screenshot app
; or have the script send the key on first line
+PrintScreen::
SSFile := "C:\Capture\screenshot.jpg"
CurrentDir := Explorer_GetPath()
While ! FileExist(SSFile)
Sleep, 500
FileCopy, %SSFile%, %CurrentDir%
FileDelete, %SSFile%
Return
此时我没有内置查找文件的超时,但这可能是您最终需要的。