cypher175 Posted November 6, 2008 Share Posted November 6, 2008 Is it possible at all to code a AutoIt App to Take Full Screen Shots of the Desktop every so many seconds, then save each one with a Time-Date Stamp & PC-Name & User-Name in its file name and then save it to a specified Directory..?? Ex. Computer-Name___User-Name___2008_11_06___3-35-52-AM.JPG Computer-Name___User-Name___2008_11_06___3-35-52-PM.JPG Ect.. Link to comment Share on other sites More sharing options...
Pain Posted November 6, 2008 Share Posted November 6, 2008 Take a look at these functions in the helpfile: _ScreenCapture_Capture() AdlibEnable() _Now() (or the time macros like @Year etc.) @ComputerName @UserName Link to comment Share on other sites More sharing options...
Bert Posted November 6, 2008 Share Posted November 6, 2008 Is there a reason to do this other than to spy on someone? Serious question here.. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
goldenix Posted November 6, 2008 Share Posted November 6, 2008 Is there a reason to do this other than to spy on someone? Serious question here..Yes there are many Serious reasons. 1 of them is if you need to give tech support to a newbie via msn who cant explain his problem, who cant give enough information, who cant even do a screen shot & dont know how to send me that f*kin screencap via msn....so i just make an exe that can do it for him. But you cant send exe files via MSN , you need to rar or rename them. & if that newbie does not know how to unzip the exe or how to rename screencapture.xxx to screencapture.exe you will need to explain & if you are really really lucky he wiull understand ..... expandcollapse popup#cs ---------------------------------------------------------------------------- AutoIt Version: 3.2.12.0 #ce ---------------------------------------------------------------------------- Sleep(3000) #include <GuiConstantsEx.au3> #include <GDIPlus.au3> #include <ScreenCapture.au3> #include <WinAPI.au3> Opt('MustDeclareVars', 1) _Main() Func _Main() Local $hBitmap, $hClone, $hImage, $iX, $iY ; Initialize GDI+ library _GDIPlus_Startup () ; Capture 32 bit bitmap $hBitmap = _ScreenCapture_Capture ("") $hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBitmap) ; Create 24 bit bitmap clone $iX = _GDIPlus_ImageGetWidth ($hImage) $iY = _GDIPlus_ImageGetHeight ($hImage) $hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB) ; Save bitmap to file _GDIPlus_ImageSaveToFile ($hClone, 'testgui.png') ; Clean up resources _GDIPlus_ImageDispose ($hClone) _GDIPlus_ImageDispose ($hImage) _WinAPI_DeleteObject ($hBitmap) ; Shut down GDI+ library _GDIPlus_ShutDown () EndFunc ;==>_MainoÝ÷ ØêðØj¹©b·'(Úè«¢+ÙM±À ÌÀÀÀ¤((¥¹±Õ±ÐíMɹ ÁÑÕɹÔÌÐì((ì ÁÑÕÉÕ±°Íɸ)}Mɹ ÁÑÕÉ}MÑ)AEÕ±¥Ñä ÄÀÀ¤ìÌÀ¥ÌÅÕ±¥ÑäµÕÍÐÑݸÀµÀìÄÀÀ)}Mɹ ÁÑÕÉ} ÁÑÕÉ ÅÕ½ÐíÍѽÀ¹©ÁÅÕ½Ðì¤ My Projects:[list][*]Guide - ytube step by step tut for reading memory with autoitscript + samples[*]WinHide - tool to show hide windows, Skinned With GDI+[*]Virtualdub batch job list maker - Batch Process all files with same settings[*]Exp calc - Exp calculator for online games[*]Automated Microsoft SQL Server 2000 installer[*]Image sorter helper for IrfanView - 1 click opens img & move ur mouse to close opened img[/list] Link to comment Share on other sites More sharing options...
cypher175 Posted November 6, 2008 Author Share Posted November 6, 2008 sweet thanks, One thing though that's preventing it from saving the Captures the way I want them to, is the _Now(3) Function, Because it outputs colons ":" in the name like (hh:mm:ss) and you cant save file names with those symbols in them on a Windows OS.. So is there any way to change the output so its like (hh_mm_ss_AM) instead..?? #NoTrayIcon #include <Misc.au3> #include <ScreenCapture.au3> #include <Date.au3> _Singleton(@scriptname) While 1 If Not FileExists("C:\ScreenShots\"&@UserName) Then DirCreate("C:\ScreenShots\"&@UserName) EndIf _ScreenCapture_Capture("C:\ScreenShots\"&@UserName&"\"&@ComputerName&"__"&@UserName&"___"&@YEAR&"_"&@MON&"_"&@MDAY&"___"&_NowTime(3)&".jpg") Sleep(3000) WEnd Link to comment Share on other sites More sharing options...
Pain Posted November 6, 2008 Share Posted November 6, 2008 (edited) StringReplace / StringRegExp? or keep using the time macros @HOUR, @MIN and @SEC. And btw you don't have to use DirCreate INSIDE that loop. Most likely the user won't delete the folder while the program is running if they didn't before. Edited November 6, 2008 by Pain Link to comment Share on other sites More sharing options...
cypher175 Posted November 6, 2008 Author Share Posted November 6, 2008 StringReplace / StringRegExp? or keep using the time macros @HOUR, @MIN and @SEC.And btw you don't have to use DirCreate INSIDE that loop. Most likely the user won't delete the folder while the program is running if they didn't before.thanks for your help..How would I use those StringReplace / StringRegExp? exactly to tweak the code to do what I am asking..?? Link to comment Share on other sites More sharing options...
Pain Posted November 6, 2008 Share Posted November 6, 2008 $string = _NowTime(3) $string = StringReplace($string, ":", "_") ConsoleWrite($string) Link to comment Share on other sites More sharing options...
Bert Posted November 6, 2008 Share Posted November 6, 2008 Thanks for the reason. Good point. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
cypher175 Posted November 7, 2008 Author Share Posted November 7, 2008 Would there be anyway to implement and idle detection feature into this at all..?? So ScreenShots are only taken when either the mouse is being moved or the keyboard is being used..?? and have it pause only after there has been no user activity for at least 30 Seconds.. and once user activity is detected automatically resume screen capture.. Thus preventing the app from taking unwanted or unneeded ScreenCaps.. Would something like this be possible at all..?? Link to comment Share on other sites More sharing options...
Pain Posted November 7, 2008 Share Posted November 7, 2008 You can add a Adlib so check If MouseGetPos() is same as old MouseGetPos() or use GetLastInputInfo from user32.dll.http://www.autoitscript.com/forum/index.php?showtopic=69993 Link to comment Share on other sites More sharing options...
youknowwho4eva Posted November 7, 2008 Share Posted November 7, 2008 Just to chime in about why this would be needed. I believe I read this on hear about someone creating a program like this and sent his computer to the geek squad and saw how they went through all his files and pictures and such. Giggity Link to comment Share on other sites More sharing options...
system24 Posted November 7, 2008 Share Posted November 7, 2008 (edited) spudw2k have made a script similar to that.Link Edited November 7, 2008 by system24 [center]It's a question of mind over matter, if I don't mind, it doesn't matter.[/center] Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now