我想:
-
截图(使用FastStone Screen Capture);结果是一个图像保存到
C:Capturescreenshot.jpg
。 -
监视
C:Capture
,如果发现screenshot.jpg
,将其移动到当前工作目录(活动资源管理器窗口)
因此,如果我在C:Pictures
中捕获screenshot.jpg
,则文件应自动从C:Capture
移动到C:Pictures
。换句话说,捕获的图像应该移动到它的截图目录(活动资源管理器窗口)。
FastStone Screen Capture可以将图像保存到可变路径。但是我还没有在当前打开的目录中找到这样的变量。
https://lh3.googleusercontent.com/Q1rtTdMOKYq6SXXyElpy0QIbAg5hDqT8BIPW7Rc2tA=w427-h207-p-no如何实现你的目标的一些提示:
- 你可以使用AHK库来截图(例如Gdip.ahk)。您可以完全控制它们(图像格式,裁剪/剪切屏幕区域),最重要的是,您可以选择输出路径。 在Windows 7上,我通常使用以下代码片段来获取活动资源管理器路径:
if( WinActive("ahk_class CabinetWClass") ) {
ControlGetText, wDir, ToolbarWindow322
RegExMatch(wDir, ":s*(.*)", wDir)
wDir := wDir1 ; Current path will be stored in wDir
}
这个过程很简单:定义一个热键来启动这个过程。检索当前资源管理器路径。取一个(部分)截图,并将其保存在您刚刚检索到的路径中。
关于如何实现这一点的另一个技巧:
使用Autoit库
#include <ScreenCapture.au3>
; Capture full screen
_ScreenCapture_Capture(@MyDocumentsDir & "GDIPlus_Image1.jpg")
; Capture region
_ScreenCapture_Capture(@MyDocumentsDir & "GDIPlus_Image2.jpg", 0, 0, 796, 596)
我在这里使用了一个非常有用的库,它可以让您轻松地获取当前Explorer窗口的路径。你可以这样使用它。
#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:Capturescreenshot.jpg"
CurrentDir := Explorer_GetPath()
While ! FileExist(SSFile)
Sleep, 500
FileCopy, %SSFile%, %CurrentDir%
FileDelete, %SSFile%
Return
我没有建立一个在这个时间点查找文件的超时,但这可能是您最终需要的。