Jump to content
ammaul

Capturing screenshots while computer is locked

Recommended Posts

ammaul

Hi folks, I'm having problems with a screenshot capture script.

Let me explain.

Everyday I (and my colleagues at work) need to take some screenshots from a web-page. These screenshots are used to compile a report. Normally, I (and others) used to log in into the website and took screenshots of desired graphics and tables. This is tediuos and time consuming. To easy this task I made a script using autoit that basically logs into the website (user and password) and using some clicks, stroke send, coordinates, it is able to generate the graphics and save them to some folders into our network (this script saves arouund 50 pics. It works like a sharm.

In order to make things easier, I tried to schedule this script (compiled to a Screnpics.exe file) using task scheduler from windows. We already use this (task scheduler) to run some vbs scripts, some vba excel scripts and so on. The computer used for this tasks is a windows 7 desktop computer. Due to security policies, the computer locks after some time. All this tasks run in the locked computer.

My script screenpics.exe runs also from this locked computer. When the computer is unlocked, it does everything as expected. But, when it is locked, all the "pics" are BLACK. As I understand, it runs ok, but, as the "windows" are innactive, it prints what it "sees": a black rectangular.

Some details: The web-page with hold the information I need, it only works in Firefox and, because of this it couldn`t be managed by vba or some "getobject" like commands. In fact, it has some flash things that make it impossible to control programatically. So my script is based on mouse move to coordinates, mouse click, screen capture and so one.

 

So, I read many posts trying to figure out a way to overcome this, but... nothing came to mind. My first idea was try to unlock windows. Theses lead me to some posts with no solution. This is worse because I'm not a computer admin, so procedures that need to replace/change the register are not an option.

 

If someone has any idea, I'll be gratefull.

Share this post


Link to post
Share on other sites
KickStarter15

Hi @ammaul,

As I've understand with your issue is that when the computer exceeds the time limit, it will automatically locked the computer and your program won't work doing some screen capture.... well, as suggested with some other language, you can use the Anti Locking System coded in VB script and possible for Autoit codes, however, this system will unfortunately will not be locked unless the user will locked the computer. If you want it that way, then maybe I can help you.^_^


Programming is "To make it so simple that there are obviously no deficiencies" or "To make it so complicated that there are no obvious deficiencies" by C.A.R. Hoare.

Share this post


Link to post
Share on other sites
Chimp

... or you can try with this modified version of the _ScreenCapture_CaptureWnd() function ...

#include <ScreenCapture.au3>
#include <WinAPISys.au3> ; used only for _WinAPI_LockWorkStation()

_Example()

Func _Example()
    ; run Calc
    Local $hPid = Run(@SystemDir & '\calc.exe')

    ; get calc's handle
    Local $hWnd = WinWaitActive("[CLASS:CalcFrame]", '', 3)

    If Not $hWnd Then
        MsgBox(0, "Not handle", "Problem with calc.exe")
        Exit
    EndIf

    ; Lock screen
    _WinAPI_LockWorkStation()

    Sleep(3000) ; wait a bit

    ; save the calc.exe screenshot to file calc.jpg
    ; even while the screen is locked
    _ScreenCapture_CaptureWnd_mod(".\Calc.jpg", $hWnd)

    ; close calc.exe
    ProcessClose($hPid)

    ; view the sceenshot
    ShellExecute(".\Calc.jpg")

EndFunc   ;==>_Example


; #FUNCTION# ====================================================================================================================
; Author ........: Paul Campbell (PaulIA)
; Modified.......: chimp
;
; modified version of the _ScreenCapture_CaptureWnd() function
; It uses the _WinAPI_PrintWindow() to capture the window
; ===============================================================================================================================
Func _ScreenCapture_CaptureWnd_mod($sFileName, $hWin, $bCursor = True)
    Local $bRet = False

    Local $iSize = WinGetPos($hWin)

    Local $iW = $iSize[2]
    Local $iH = $iSize[3]
    Local $hWnd = _WinAPI_GetDesktopWindow()
    Local $hDDC = _WinAPI_GetDC($hWnd)
    Local $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
    Local $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iW, $iH)

    ; $hCDC Identifies the device context
    ; $hBMP Identifies the object to be selected
    _WinAPI_SelectObject($hCDC, $hBMP)
    _WinAPI_PrintWindow($hWin, $hCDC)

    If $bCursor Then
        Local $aCursor = _WinAPI_GetCursorInfo()
        If Not @error And $aCursor[1] Then
            $bCursor = True ; Cursor info was found.
            Local $hIcon = _WinAPI_CopyIcon($aCursor[2])
            Local $aIcon = _WinAPI_GetIconInfo($hIcon)
            If Not @error Then
                _WinAPI_DeleteObject($aIcon[4]) ; delete bitmap mask return by _WinAPI_GetIconInfo()
                If $aIcon[5] <> 0 Then _WinAPI_DeleteObject($aIcon[5]); delete bitmap hbmColor return by _WinAPI_GetIconInfo()
                _WinAPI_DrawIcon($hCDC, $aCursor[3] - $aIcon[2] - $iSize[0], $aCursor[4] - $aIcon[3] - $iSize[1], $hIcon)
            EndIf
            _WinAPI_DestroyIcon($hIcon)
        EndIf
    EndIf

    _WinAPI_ReleaseDC($hWnd, $hDDC)
    _WinAPI_DeleteDC($hCDC)
    If $sFileName = "" Then Return $hBMP

    $bRet = _ScreenCapture_SaveImage($sFileName, $hBMP, True)
    Return SetError(@error, @extended, $bRet)
EndFunc   ;==>_ScreenCapture_CaptureWnd_mod

 


small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....

Share this post


Link to post
Share on other sites
ammaul

KickStarter15,

Hi, when the computer is locked, it runs ok (I scheduled it through task scheduler for 7:30 AM), but the snapshots are "black pics/black rectangles". 

Using codes to avoid computer locking is not an option, since this computer will became available to everyone (other users), and they could, using my user and password (because the computer will be open) acess some restricted folders/programs/information.

Cause of this, I need to unlock the computer and run and lock again, OR, correct the issue of saving "black snapshots". 

Thanks.

 

Chimp,

I´m using:

#include <ScreenCapture.au3>
_ScreenCapture_Capture ( [$sFileName = "" [, $iLeft = 0 [, $iTop = 0 [, $iRight = -1 [, $iBottom = -1 [, $bCursor = True]]]]]] )

You suggested:

#include <ScreenCapture.au3>
_ScreenCapture_CaptureWnd ( $sFileName, $hWnd [, $iLeft = 0 [, $iTop = 0 [, $iRight = -1 [, $iBottom = -1 [, $bCursor = True]]]]] )

Whats the difference? I couldn't find a handler for the window I need to "capture".

See below a screenshot of the webpage I´m trying to capture: Table 1 - I need do capture the table itself.. Table 2: I need to capture the "pop-up" chart.

This is the code to capture pop-up from Table2.

Sleep(1000)
MouseClick("left",464,476,1)
Sleep(3000)
_ScreenCapture_Capture ( $networkSharePath & "\peo_craq_rpbc_top10_alarmop.png", 282, 175, 1062, 640)
Sleep(1000)
MouseClick("left",1055,127,1)
Sleep(100)
Send("{CTRLDOWN}w{CTRLUP}")

Thanks.

 

Table1.png

Table2.png

Share this post


Link to post
Share on other sites
Chimp
Posted (edited)

... to grab data from web tables there are more appropriate ways than capturing screens, but that's another story.
however, keeping the topic on the capture of the FireFox screenshots, you could try the following way:

#include <ScreenCapture.au3>
#include <WinAPISys.au3> ; used only for _WinAPI_LockWorkStation()

_Example()

Func _Example()

    ; MozillaWindowClass
    Local $aList = WinList("[CLASS:MozillaWindowClass]"), $hHandle

    ; get FirFox handle
    For $i = 1 To $aList[0][0]
        If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
            $hHandle = $aList[$i][1]
            ExitLoop
        EndIf
    Next

    If Not $hHandle Then
        MsgBox(0, "Not handle", "Problem with mozilla")
        Exit
    EndIf

    ; Activate the firefox window and maximize it
    WinActivate($hHandle)
    WinSetState($hHandle, '', @SW_MAXIMIZE)

    ; Lock screen (just to test)
    _WinAPI_LockWorkStation()

    Sleep(3000) ; wait a bit

    ; save the cscreenshot to file Moz.jpg
    ; even while the screen is locked
    _ScreenCapture_CaptureWnd_mod(".\Moz.jpg", $hHandle)

    ; view the sceenshot
    ShellExecute(".\Moz.jpg")

EndFunc   ;==>_Example


; #FUNCTION# ====================================================================================================================
; Author ........: Paul Campbell (PaulIA)
; Modified.......: chimp
;
; modified version of the _ScreenCapture_CaptureWnd() function
; It uses the _WinAPI_PrintWindow() to capture the window
; ===============================================================================================================================
Func _ScreenCapture_CaptureWnd_mod($sFileName, $hWin, $bCursor = True)
    Local $bRet = False

    Local $iSize = WinGetPos($hWin)

    Local $iW = $iSize[2]
    Local $iH = $iSize[3]
    Local $hWnd = _WinAPI_GetDesktopWindow()
    Local $hDDC = _WinAPI_GetDC($hWnd)
    Local $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
    Local $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iW, $iH)

    ; $hCDC Identifies the device context
    ; $hBMP Identifies the object to be selected
    _WinAPI_SelectObject($hCDC, $hBMP)
    _WinAPI_PrintWindow($hWin, $hCDC)

    If $bCursor Then
        Local $aCursor = _WinAPI_GetCursorInfo()
        If Not @error And $aCursor[1] Then
            $bCursor = True ; Cursor info was found.
            Local $hIcon = _WinAPI_CopyIcon($aCursor[2])
            Local $aIcon = _WinAPI_GetIconInfo($hIcon)
            If Not @error Then
                _WinAPI_DeleteObject($aIcon[4]) ; delete bitmap mask return by _WinAPI_GetIconInfo()
                If $aIcon[5] <> 0 Then _WinAPI_DeleteObject($aIcon[5]); delete bitmap hbmColor return by _WinAPI_GetIconInfo()
                _WinAPI_DrawIcon($hCDC, $aCursor[3] - $aIcon[2] - $iSize[0], $aCursor[4] - $aIcon[3] - $iSize[1], $hIcon)
            EndIf
            _WinAPI_DestroyIcon($hIcon)
        EndIf
    EndIf

    _WinAPI_ReleaseDC($hWnd, $hDDC)
    _WinAPI_DeleteDC($hCDC)
    If $sFileName = "" Then Return $hBMP

    $bRet = _ScreenCapture_SaveImage($sFileName, $hBMP, True)
    Return SetError(@error, @extended, $bRet)
EndFunc   ;==>_ScreenCapture_CaptureWnd_mod
Edited by Chimp

small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....

Share this post


Link to post
Share on other sites
ammaul

Sorry for my lack of knowlodge. How should I use this func_Example. I tried to run it but commands are grey (not available).

To explain a little. What we need are the pictures (not necessarily the data from the tables/graphics).

Thanks.

Share this post


Link to post
Share on other sites
ammaul

I tried your suggestion. The result was the same as mine: A black png.

Seems that the solution is a script to unlock the computer.

 

 

Share this post


Link to post
Share on other sites
Chimp
17 hours ago, ammaul said:

.... How should I use this ...

  1. copy the following script (3 functions) and paste it to the bottom of your already working script (ensure that #include <ScreenCapture.au3> is present at the top of your script)
  2. to capture the screenshot of the FireFox window replace the line in your script where you call _ScreenCapture_Capture ( $networkSharePath & "\peo_craq_rpbc_top10_alarmop.png", 282, 175, 1062, 640) with the following line instead: _CaptureFireFox_Screen($sFilename) wher $sFilename contains the path and filename of the picture you wish to save. This should save a picture of the FireFox window on the path and with the name specified in the $sFilename parameter even if the screen is locked (it works on my system).
; #include <ScreenCapture.au3>

Func _CaptureFireFox_Screen($sFilename)

    $hFFox = HWnd(_Firefox_Get_Handle())
    If @error Then Return SetError(1, 0, False)

    ; save the screenshot of the FireFox window to $sFilename
    ; even while the screen is locked
    _ScreenCapture_CaptureWnd_mod($sFilename, $hFFox)
EndFunc   ;==>_CaptureFireFox_Screen

; retrieve the handle of FireFox (and maximize it)
Func _Firefox_Get_Handle()

    ; MozillaWindowClass
    Local $aList = WinList("[CLASS:MozillaWindowClass]"), $hHandle

    ; get FirFox handle
    For $i = 1 To $aList[0][0]
        If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
            $hHandle = $aList[$i][1]
            ExitLoop
        EndIf
    Next

    If Not $hHandle Then
        ; MsgBox(0, "Debug", "Problem on getting FireFox handle")
        Return SetError(1, 0, False)
    EndIf

    ; Activate the firefox window and maximize it
    WinActivate($hHandle)
    WinSetState($hHandle, '', @SW_MAXIMIZE)

    Return $hHandle
EndFunc   ;==>_Firefox_Get_Handle


; #FUNCTION# ====================================================================================================================
; Author ........: Paul Campbell (PaulIA)
; Modified.......: chimp
;
; modified version of the _ScreenCapture_CaptureWnd() function
; It uses the _WinAPI_PrintWindow() to capture the window
; it should work also with screen locked
;                          -------------
; ===============================================================================================================================
Func _ScreenCapture_CaptureWnd_mod($sFilename, $hWin, $bCursor = True)
    Local $bRet = False

    Local $iSize = WinGetPos($hWin)

    Local $iW = $iSize[2]
    Local $iH = $iSize[3]
    Local $hWnd = _WinAPI_GetDesktopWindow()
    Local $hDDC = _WinAPI_GetDC($hWnd)
    Local $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
    Local $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iW, $iH)

    ; $hCDC Identifies the device context
    ; $hBMP Identifies the object to be selected
    _WinAPI_SelectObject($hCDC, $hBMP)
    _WinAPI_PrintWindow($hWin, $hCDC)

    If $bCursor Then
        Local $aCursor = _WinAPI_GetCursorInfo()
        If Not @error And $aCursor[1] Then
            $bCursor = True ; Cursor info was found.
            Local $hIcon = _WinAPI_CopyIcon($aCursor[2])
            Local $aIcon = _WinAPI_GetIconInfo($hIcon)
            If Not @error Then
                _WinAPI_DeleteObject($aIcon[4]) ; delete bitmap mask return by _WinAPI_GetIconInfo()
                If $aIcon[5] <> 0 Then _WinAPI_DeleteObject($aIcon[5]) ; delete bitmap hbmColor return by _WinAPI_GetIconInfo()
                _WinAPI_DrawIcon($hCDC, $aCursor[3] - $aIcon[2] - $iSize[0], $aCursor[4] - $aIcon[3] - $iSize[1], $hIcon)
            EndIf
            _WinAPI_DestroyIcon($hIcon)
        EndIf
    EndIf

    _WinAPI_ReleaseDC($hWnd, $hDDC)
    _WinAPI_DeleteDC($hCDC)
    If $sFilename = "" Then Return $hBMP

    $bRet = _ScreenCapture_SaveImage($sFilename, $hBMP, True)
    Return SetError(@error, @extended, $bRet)
EndFunc   ;==>_ScreenCapture_CaptureWnd_mod

 


small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....

Share this post


Link to post
Share on other sites
ammaul

Hi Chimp,

Sorry for the delay. I tried what you proposed. First I reduced my code to just two snapshots. For the first I used your suggestion. For the second, I left as it was.

I used part of your Func example () and simulated the computer lock.

Both snapshots were created during lock time. Both were equally black, unfortunatelly.

Please see code attached.

 

Any other ideas.

peo_craq_recap_top10_alarmop.png

peo_craq_rpbc_top10_alarmop.png

BR-Alarm.au3

Share this post


Link to post
Share on other sites
TheXman
Posted (edited)

Are you sure that the issue is because the computer is locked?  I just ran a test on a Windows 7 box and my script successfully captured the specified window while the computer was sitting at the login screen.

I think your issue may be that a screen screen saver is running, your power settings are set to power down the monitor after a certain amount of idle time, or both,  Can you check to see if you have a screen saver enabled and/or whether your power settings are set to shut off the monitor?  If the power settings are shutting off the monitor, I have a solution for that.

Edited by TheXman

Whoever said that there's no such thing as a dumb question, probably asked a lot of DUMB questions.  Dumb questions are ones that you can easily find the answer to on your own.

Share this post


Link to post
Share on other sites
ammaul

I XMan,

I dont think this is the issue, cause I forced the computer into lock mode using _WinAPI_LockWorkStation ( ) and then took the two snaphots above.

But I ckecked power setting and the monitor is turned off 10 minutes after locking the computer. I changed it to never turn off the monitor. Lets try again tomorrow morning.

 

Share this post


Link to post
Share on other sites
ammaul

Same issue. Black snapshots...

Share this post


Link to post
Share on other sites
Moonscarlet

Hey,

Try this function (not mine, found it sometime ago and changed a bit of it), it should take a screenshot of any window even when the computer is locked:

 

#include <GDIPlus.au3>
#include <WinAPISysWin.au3>

Capture_Window("test window",@DesktopDir&"\Test.png")

Func Capture_Window($Title, $SaveImagePath)
    WinSetState($Title, "", @SW_MAXIMIZE)
    Local $hWnd = WinGetHandle($Title)
    Local $w = _WinAPI_GetWindowWidth($hWnd)
    Local $h = _WinAPI_GetWindowHeight($hWnd)

    _GDIPlus_Startup()

    If Not IsHWnd($hWnd) Then Return SetError(1, 0, 0)
    If Int($w) < 1 Then Return SetError(2, 0, 0)
    If Int($h) < 1 Then Return SetError(3, 0, 0)
    Local Const $hDC_Capture = _WinAPI_GetDC(HWnd($hWnd))
    Local Const $hMemDC = _WinAPI_CreateCompatibleDC($hDC_Capture)
    Local Const $hHBitmap = _WinAPI_CreateCompatibleBitmap($hDC_Capture, $w, $h)
    Local Const $hObjectOld = _WinAPI_SelectObject($hMemDC, $hHBitmap)
    DllCall("gdi32.dll", "int", "SetStretchBltMode", "hwnd", $hDC_Capture, "uint", 4)
    DllCall("user32.dll", "int", "PrintWindow", "hwnd", $hWnd, "handle", $hMemDC, "int", 0)

    _WinAPI_DeleteDC($hMemDC)
    _WinAPI_SelectObject($hMemDC, $hObjectOld)
    _WinAPI_ReleaseDC($hWnd, $hDC_Capture)

    Local Const $hFullScreen = WinGetHandle("[TITLE:Program Manager;CLASS:Progman]")
    Local Const $aFullScreen = WinGetPos($hFullScreen)
    Local Const $c1 = $aFullScreen[2] - @DesktopWidth, $c2 = $aFullScreen[3] - @DesktopHeight
    Local Const $wc1 = $w - $c1, $hc2 = $h - $c2

    If (($wc1 > 1 And $wc1 < $w) Or ($w - @DesktopWidth > 1) Or ($hc2 > 7 And $hc2 < $h) Or ($h - @DesktopHeight > 1)) And (BitAND(WinGetState(HWnd($hWnd)), 32) = 32) Then
        Local $hBmp_t = _GDIPlus_BitmapCreateFromHBITMAP($hHBitmap)
        $hBmp = _GDIPlus_BitmapCloneArea($hBmp_t, 8, 8, $w - 16, $h - 16)
        _GDIPlus_BitmapDispose($hBmp_t)
    Else
        $hBmp = _GDIPlus_BitmapCreateFromHBITMAP($hHBitmap)
    EndIf
    _WinAPI_DeleteObject($hHBitmap)

    $hBmp = _GDIPlus_BitmapCloneArea($hBmp, 0, 0, $w - 16, $h - 16)

    _GDIPlus_ImageSaveToFile($hBmp, $SaveImagePath)
    _GDIPlus_Shutdown()
    Return $hBmp
EndFunc   ;==>Capture_Window

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • therks
      By therks
      Has anybody else noticed that Windows 7 reacts ignorantly when you use the Windows key + arrow key shortcuts on a GUI with GUIEventMode set to 1? I discovered this recently when I was working on an app where I wanted complete control over the maximize/minimize buttons.
      Just give it a spin:
      #include <GUIConstants.au3> Opt('GUIEventOptions', 1) $hGUI = GUICreate('', 300, 200, Default, Default, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX)) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_MAXIMIZE ToolTip('Maximized') Case $GUI_EVENT_MINIMIZE ToolTip('Minimized') Case $GUI_EVENT_RESTORE ToolTip('Restored') Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Run that, then hit Win+Up or Win+Down. None of those events get triggered, and it still maximizes/minimizes. Although I can't get it to restore down from a maximize unless the window is also resizable ($WS_THICKFRAME in the style).
      Is there a way to stop Windows from doing what it wants or is the only option to check with WinGetState() and then change it back?
       
      Windows 10 seems to respect my settings, and I don't have any other versions to test on.
    • msd1994
      By msd1994
      I have a script that just adds some keyboard shortcuts for things like displaying the current song and artist, moving the window to the side so it won't pop up in my way, and play/pause, next song, previous song (these are the only 3 to still work since they don't need the window handle.)
      In some update recently, Spotify's window class swapped from "[CLASS:SpotifyMainWindow]" to "[CLASS:Chrome_WidgetWin_0]". Using the new class in my controls doesn't seem to work, I've tried getting the window handle from the process handle (_GetHwndFromPID($PID)) but that seems to fail as well.
      Does anybody have some idea of a way I could get this script working again?
       
      edit: seems like discord has the same window class name, so could be some issue with this? Still not sure of a way to solve the issue though, I added a function to get the handle of the active window and can just use that now, but it was able to find it on its own before on spotify startup or script startup which would be preferred.
       
      Thanks!
    • steveeye
      By steveeye
      hey, can anybody enlighten on lesser known Windows hacks or uses ?
    • Xandy
      By Xandy
      Screenshot program that can upload/FTP to website/storage with hotkey.
      Features GUI to display programmable keys.

      Set the hotkeys with this function to use, and display hotkeys.
      ; hotkey_set() Parameters: ; ----------------------------------------------------------- ; $aHotkey -                The array hotkeys are stored in. This function sets the values of this array[hotkey_id][$hotkey_data] ; $dHotkey_id -             The enum for this hotkey index ; $sHotkey_description -     The label displayed to the user to represent function of hotkey ; $sHotkey_name -            The hotkey it'self.  Whatever name string you want to give the key ; $dHotkey_key -             The _IsPressed keycode ;    Keycodes AT: https://www.autoitscript.com/autoit3/docs/libfunctions/_IsPressed.htm ; $dHotkey_shift -             Shift flag 0 or 1 Default off ; $dHotkey_ctrl -             Ctrl flag 0 or 1 Default off ; $dHotkey_alt -             Alt flag 0 or 1 Default off Func hotkey_set(ByRef $aHotkey, $dHotkey_id, $sHotkey_description, $sHotkey_name, $dHotkey_key, $dHotkey_shift = 0, $dHotkey_ctrl = 0, $dHotkey_alt = 0)     $aHotkey[$dHotkey_id][$eHotkey_data_key_description] = $sHotkey_description     $aHotkey[$dHotkey_id][$eHotkey_data_key_name] = $sHotkey_name     $aHotkey[$dHotkey_id][$eHotkey_data_key] = $dHotkey_key     $aHotkey[$dHotkey_id][$eHotkey_data_shift] = $dHotkey_shift     $aHotkey[$dHotkey_id][$eHotkey_data_ctrl] = $dHotkey_ctrl     $aHotkey[$dHotkey_id][$eHotkey_data_alt] = $dHotkey_alt EndFunc   ;==>hotkey_set ; You can set your hotkeys here ; Please visit the hotkey_set() function for parameter information hotkey_set($aHotkey, $eHotkey_screenshot_ftp, "Selected Window to FTP", "F12", "7B", 0, 1, 0); F12 hotkey_set($aHotkey, $eHotkey_screenshot_disk, "Selected Window to Disk", "S", "53", 1, 1, 1); S hotkey_set($aHotkey, $eHotkey_clipboard_send, "Send Clipboard keystrokes", "F10", "79", 1, 1, 1); F10  
      Configure settings dialog:

      Screenshot Filename and Screenshot Counter, are used to create simple unique filenames that can cycle. Copy URL to clipboard option. - For linking your screenshots. The screenshot file type is for local copy only. App always uses .JPG for FTP right now, but I could add FTP screenshot file type specification.  
      Any suggestions?  Did I break anything, what did I miss?
      Package uses TTS.au3 by Beege: 
       
      FTP_Screen.zip
      File includes:
         - FTP_Screen.au3
         - FTPScreen.ico
         - TTS.au3 - by Beege
    • afallenhope
      By afallenhope
      Hello all! 
      I am having a bit of trouble and was wondering if anyone may have a workaround for my issue. I made a script that would automatically install a piece of software each night on a Windows 7 Box. Now I have been instructed to do the same with a Windows 10 box since the application is now being tested on Windows 10. 
      The way I did the win7 installation was that I made a script and then made an executable that I call with a batch file along with the Installer. So the process is 
      AutoitMainFile calls batch file, batch file opens Installer, and the automatedinstaller.exe  The automatedinstlaller waits 10-20 seconds to make sure the Installer has been fully loaded.
      When I try to do the same both get loaded but the automatedinstallation.exe does not send commands to the installer. The code does work and nothing from the program we are wanting to install has changed as our Windows 7 runs every night no problem. 
       
      Do I need to make a new automatedinstall script for windows 10? 
      Any advice is appreciated 
      Thanks,
      Richard
×