本帖最后由 小熊出山 于 2012-3-31 14:59 编辑
我想要的效果:
每当我按下PrintScreen键时截图并保存到E:\Print ,然后程序一直待命,当我再次按键时又截图,不按键不截图,除非我结束进程才结束。
我写的代码会无限截图,根本不听使唤。。懂的帮看看,多谢了
!
#include <ScreenCapture.au3>
#include <Misc.au3>
Global $PrintScr
$LP = "E:\Print" & "\" & @YEAR & "-" & @MON & "-" & @MDAY
HotKeySet("{PRINTSCREEN}", "PS")
While 1
Sleep(100)
WEnd
If Not FileExists($LP) Then
Sleep(1000)
DirCreate($LP)
EndIf
Sleep(2000)
Func PS()
$PrintScr = NOT $PrintScr
Do
$hBmp = _ScreenCapture_Capture ("")
_ScreenCapture_SaveImage($LP &"\" & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & @MIN & @SEC & ".jpg", $hBmp) ;
Until $PrintScr = 1
EndFunc
多谢各位的帮助,问题已经解决了!
代码如下:
#NoTrayIcon
#include <ScreenCapture.au3>
#include <Misc.au3>
Opt("TrayIconHide",1)
_Singleton("TheNameOfMyScript")
$sDir = "E:\Print" & "\" & @YEAR & "-" & @MON & "-" & @MDAY
If Not FileExists($sDir) Then DirCreate($sDir)
HotKeySet('{PRINTSCREEN}', '_Capture')
HotKeySet('{ESC}', '_Quit')
While 1
Sleep(100)
WEnd
Func _Capture()
If FileExists($sDir) Then
_ScreenCapture_Capture($sDir & '\' & @HOUR & @MIN & @SEC & '.jpg')
Else
DirCreate($sDir)
Sleep(100)
_ScreenCapture_Capture($sDir & '\' & @HOUR & @MIN & @SEC & '.jpg')
EndIf
EndFunc
Func _Quit()
Exit
EndFunc
|