Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)

Модерирует : gyra, Maz

Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору


Код:
#include <GuiConstants.au3>
#include <ScreenCapture.au3>
 
HotKeySet("{ESC}", "QuitApp")
 
Global $IsSelectingBegin = False
Global
$aMouse_Cooords[2]
 
$GUI = GUICreate("Capture Selected Area - Demo", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
WinSetTrans($GUI, "", 100)
 
$ListView = GUICtrlCreateListView("", 0, 0, @DesktopWidth, @DesktopHeight, 0)
 
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetState()
 
While 1
    $nMsg = GUIGetMsg()
    Select
        Case
$nMsg = $GUI_EVENT_CLOSE Or IsArray($aMouse_Cooords[1])
            GUIDelete($GUI)
            WinWaitClose($GUI)
 
            $aStart_Coords = $aMouse_Cooords[0]
            $aEnd_Coords = $aMouse_Cooords[1]
 
            $Left_Pos = $aStart_Coords[0]
            $Right_Pos = $aEnd_Coords[0]
 
            If $Left_Pos > $Right_Pos Then
                $Left_Pos = $aEnd_Coords[0]
                $Right_Pos = $aStart_Coords[0]
            EndIf
 
            $Top_Pos = $aStart_Coords[1]
            $Bottom_Pos = $aEnd_Coords[1]
 
            If $Top_Pos > $Bottom_Pos Then
                $Top_Pos = $aEnd_Coords[1]
                $Bottom_Pos = $aStart_Coords[1]
            EndIf
 
            $sFileName = FileSaveDialog("Save Capture As...", "", "PNG Image (*.png)", 18, "Captured Image")
            If @error Then Exit
 
            If
StringRight($sFileName, 4) <> ".png" Then $sFileName &= ".png"
            _ScreenCapture_Capture($sFileName, $Left_Pos-6, $Top_Pos-5, $Right_Pos+2, $Bottom_Pos+2, False)
 
            Exit
    EndSelect
WEnd
 
Func
WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView = $ListView
    If Not IsHWnd($ListView) Then $hWndListView = GUICtrlGetHandle($ListView)
 
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
 
    Switch $hWndFrom
        Case $hWndListView
            Switch $iCode
                Case $LVN_MARQUEEBEGIN
                    $IsSelectingBegin
= True
                    $aMouse_Cooords[0] = MouseGetPos()
                Case $NM_RELEASEDCAPTURE
                    If $IsSelectingBegin Then $aMouse_Cooords[1] = MouseGetPos()
            EndSwitch
    EndSwitch
 
    Return $GUI_RUNDEFMSG
EndFunc
 
Func QuitApp()
    Exit
EndFunc


Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:53 07-02-2008
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)
Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru