appo icon

Winlocker 01-03-2014

appo | PRO | 03/01/14 05:46:27 PM UTC | 0 ⭐ | 6649 👁️ | Never ⏰ | []
AutoIt |

17.86 KB

|

None

|

0 👍

/

0 👎

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_OutFile=Desktop_Locker.exe
#AutoIt3Wrapper_icon=Desktop_Locker.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=-
#AutoIt3Wrapper_Res_Description=Desktop_Locker.exe
#AutoIt3Wrapper_Res_Fileversion=0.2.0.0
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=n
#AutoIt3Wrapper_Res_LegalCopyright=AZJIO
#AutoIt3Wrapper_Res_Language=1049
#AutoIt3Wrapper_Run_AU3Check=n
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0
#AutoIt3Wrapper_Run_After=del /f /q "%scriptdir%\%scriptfile%_Obfuscated.au3"
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
 
;  @AZJIO 8.05.2011  (AutoIt3_v3.3.6.1)
; HotKeySet("{ESC}", "_Exit")
; Func _Exit()
    ; Exit
; EndFunc
 
#NoTrayIcon
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>
#Include <String.au3>
#Include <Array.au3>
 
Global Const $ES_CENTER = 1
Global Const $ES_PASSWORD = 32
Global Const $tagRECT = "long Left;long Top;long Right;long Bottom"
 
Global $Password='', $k=0, $aSet, $Gui1, $ValSld
Global $DW=@DesktopWidth, $DH=@DesktopHeight
 
; En
$LngTitle='Desktop Locker'
$LngAbout='About'
$LngVer='Version'
$LngCopy='Copy'
$LngSite='Site'
$LngLDP='Desktop Locker'
$LngPsw='Password to unlock'
$LngChB='Hide password'
; $LngMs1='You want to lock the screen?'
$LngErPw1='The password is incorrect ..try again.'
$LngErPw2='Please enter a password to unlock the screen'&@CRLF&'and press Enter.'
$LngERe='Display output and restart'
$LngDly='Delay'
$LngMsB='Block mouse'
$LngTrn='Transparency'
$LngDsc='Desktop'
$LngQLn='Quick Launch'
$LngMPr='Main Menu'
$LngLnk='Shortcut on'
$LngSTp='Lock desktop with password'
$LngLnkH='Create a shortcut with an encrypted password'
$LngRgt='Startup'
$LngRgtH='Losing a password will require professional help'
$LngMs2='Message'
$LngMs3='The key in the registry is missing, perhaps not right to write to the registry'
$LngMs4='Key successfully added'
$LngMs5='The key was successfully removed'
$LngMs6='The key is exists, maybe not the right to delete'
$LngErr='Error'
 
$Lang_dll = DllOpen("kernel32.dll")
$UserIntLang=DllCall ( $Lang_dll, "int", "GetUserDefaultUILanguage" )
If Not @error Then $UserIntLang=Hex($UserIntLang[0],4)
DllClose($Lang_dll)
 
; Ru
; если русская локализация, то русский язык
If $UserIntLang = 0419 Then
    ; $LngTitle='Desktop Locker'
    $LngAbout='О программе'
    $LngVer='Версия'
    $LngCopy='Копировать'
    $LngSite='Сайт'
    $LngLDP='Заблокировать рабочий стол'
    $LngPsw='Пароль для разблокировки'
    $LngChB='Скрыть пароль'
    ; $LngMs1='Вы хотите заблокировать просмотр и управление Рабочего стола?'
    $LngErPw1='Пароль неверный, попробуйте снова.'
    $LngErPw2='Пожалуйста, введите пароль для разблокировки экрана'&@CRLF&'и нажмите Enter.'
    $LngERe='Отображать выход и перезагрузка'
    $LngDly='Задержка'
    $LngMsB='Блокировать мышь'
    $LngTrn='Прозрачность'
    $LngDsc='Рабочий стол'
    $LngQLn='Быстрый запуск'
    $LngMPr='Главное меню'
    $LngLnk='Ярлык на'
    $LngSTp='Заблокировать рабочий стол с паролем'
    $LngLnkH='Создать ярлык с шифрованным паролем'
    $LngRgt='Автозагрузка'
    $LngRgtH='Потеря пароля потребует помощи профессионала'
    $LngMs2='Сообщение'
    $LngMs3='Ключ в реестре отсутствует, возможно нет прав на запись в реестр'
    $LngMs4='Ключ успешно добавлен'
    $LngMs5='Ключ успешно удалён'
    $LngMs6='Ключ существует, возможно нет прав на удаление'
    $LngErr='Ошибка'
EndIf
 
Global $Ini = @ScriptDir & '\DesktopLocker.ini'
If Not FileExists($Ini) And DriveStatus(StringLeft(@ScriptDir, 1))<>'NOTREADY' Then
    _FileW()
EndIf
 
Func _FileW($i='1|0|0|1|255')
    $file = FileOpen($Ini,2)
    FileWrite($file, $i)
    FileClose($file)
EndFunc
 
Func _MsgFile()
    $file = FileOpen($Ini, 0)
    $Initext = FileRead($file)
    FileClose($file)
    $aSet = StringSplit($Initext, '|')
    If $aSet[0]<>5 Then
        $Initext='1|0|0|1|255'
        _FileW($Initext)
        $aSet = StringSplit($Initext, '|')
    EndIf
    Local $ChPsHd, $Inp0, $Inp1, $Inp2, $msg, $OK, $Password=''
    $Gui1 = GUICreate($LngLDP, 290, 270, -1, -1, $WS_CAPTION+$WS_SYSMENU)
    If Not @compiled Then GUISetIcon(@ScriptDir&'\Desktop_Locker.ico')
    
    GUICtrlCreateGroup($LngPsw, 5, 5, 200, 72)
    ; GUICtrlCreateLabel($LngPsw, 10, 13, 190, 17)
    $Inp1=GUICtrlCreateInput('', 10, 25, 190, 22)
    $Inp2=GUICtrlCreateInput('', 10, 25, 190, 22, $ES_PASSWORD)
    $ChPsHd=GUICtrlCreateCheckbox($LngChB, 10, 55, 170, 15)
    If $aSet[1] = $GUI_CHECKED Then
        GUICtrlSetState($Inp2, $GUI_FOCUS)
        GUICtrlSetState($Inp1, $GUI_HIDE)
        $Inp0=$Inp2
        GUICtrlSetState($ChPsHd, $GUI_CHECKED)
    Else
        GUICtrlSetState($Inp1, $GUI_FOCUS)
        GUICtrlSetState($Inp2, $GUI_HIDE)
        $Inp0=$Inp1
        GUICtrlSetState($ChPsHd, $GUI_UNCHECKED)
    EndIf
    
    GUICtrlCreateGroup('', 5, 78, 200, 79)
    $ShtDwn=GUICtrlCreateCheckbox($LngERe, 10, 90, 190, 15)
    If $aSet[2]=$GUI_CHECKED Then GUICtrlSetState(-1, 1)
    $DelayL=GUICtrlCreateLabel($LngDly&' :', 10, 113, 70, 17)
    $Delay=GUICtrlCreateCombo('', 80, 110, 60)
    GUICtrlSetData(-1,'0|1|10|30|60|120', '0')
    GUICtrlSetData(-1,$aSet[3], $aSet[3])
    $MsBloc=GUICtrlCreateCheckbox($LngMsB, 10, 137, 190, 15)
    If $aSet[4]=$GUI_CHECKED Then
        GUICtrlSetState($MsBloc, $GUI_CHECKED)
    Else
        GUICtrlSetState($MsBloc, $GUI_UNCHECKED)
    EndIf
    $About=GUICtrlCreateButton('@', 235, 30, 30, 30)
    GUICtrlSetTip(-1, $LngAbout)
    GUICtrlSetFont(-1,13)
    GUICtrlCreateIcon ("shell32.dll", 48, 230, 91, 48, 48)
    
    $OK=GUICtrlCreateButton('OK', 215, 190, 60, 50)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    GUICtrlSetFont(-1,13)
    If GUICtrlRead($ShtDwn)=4 Then
        GUICtrlSetState($Delay, $GUI_DISABLE)
        GUICtrlSetState($DelayL, $GUI_DISABLE)
    EndIf
    
    GUICtrlCreateGroup($LngTrn, 5, 159, 200, 50)
    $slider1 = GUICtrlCreateSlider(6, 173, 163, 30)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlSetTip(-1, $LngTrn)
    GUICtrlSetData(-1, 255-$aSet[5])
    $ValSld=GUICtrlCreateLabel(255-$aSet[5], 169, 178, 30, 17)
    GUICtrlSetFont(-1,12)
    WinSetTrans($Gui1,"",$aSet[5])
    
    GUICtrlCreateLabel($LngLnk&' :', 10, 218, 60, 17)
    $LinkCombo=GUICtrlCreateCombo('', 65, 215, 112, 22, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, $LngDsc&'|'&$LngQLn&'|'&$LngMPr, $LngDsc)
    $CreateLnk=GUICtrlCreateButton('>', 180, 215, 22, 24)
    GUICtrlSetTip(-1, $LngLnkH)
    
    $Registry=GUICtrlCreateCheckbox($LngRgt, 10, 245, 180, 15)
    GUICtrlSetTip(-1, $LngRgtH)
    RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 'Desktop_Locker_456')
    If Not @Error Then GUICtrlSetState($Registry, $GUI_CHECKED)
    
    GUISetState()
    While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $Registry ; Автозагрузка
                If GUICtrlRead($Registry)=$GUI_CHECKED Then
                    $Password = GUICtrlRead($Inp0)
                    If $Password = '' Then
                        GUICtrlSetState($Registry, $GUI_UNCHECKED)
                        _ColorError($Inp0)
                        GUICtrlSetState($Inp0, $GUI_FOCUS)
                        ContinueLoop
                    EndIf
                
                    $aSet[3] = GUICtrlRead($Delay)
                    $aSet[4] = GUICtrlRead($MsBloc)
                    $aSet[5]=255-GUICtrlRead($slider1)
                    $Initext=$aSet[1]&'|'&$aSet[2]&'|'&$aSet[3]&'|'&$aSet[4]&'|'&$aSet[5]
                
                    $bEncrypted = _StringEncrypt(1, $Password, $Password)&'J'&_StringEncrypt(1, $Initext, 'dk3wo6e9ru')
                    RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 'Desktop_Locker_456', "REG_SZ", '"'&@ScriptFullPath&'" '&$bEncrypted)
                    RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 'Desktop_Locker_456')
                    If @Error Then
                        MsgBox(0, $LngErr, $LngMs3)
                        GUICtrlSetState($Registry, $GUI_UNCHECKED)
                    Else
                        MsgBox(0, $LngMs2, $LngMs4)
                    EndIf
                Else
                    RegDelete("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 'Desktop_Locker_456')
                    RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 'Desktop_Locker_456')
                    If @Error Then
                        MsgBox(0, $LngMs2, $LngMs5)
                    Else
                        MsgBox(0, $LngErr, $LngMs6)
                        GUICtrlSetState($Registry, $GUI_CHECKED)
                    EndIf
                EndIf
            Case $CreateLnk ; создание ярлыка
                $Password = GUICtrlRead($Inp0)
                If $Password = '' Then
                    _ColorError($Inp0)
                    GUICtrlSetState($Inp0, $GUI_FOCUS)
                    ContinueLoop
                EndIf
                
                $aSet[3] = GUICtrlRead($Delay)
                $aSet[4] = GUICtrlRead($MsBloc)
                $aSet[5]=255-GUICtrlRead($slider1)
                $Initext=$aSet[1]&'|'&$aSet[2]&'|'&$aSet[3]&'|'&$aSet[4]&'|'&$aSet[5]
                
                $bEncrypted = _StringEncrypt(1, $Password, $Password)&'J'&_StringEncrypt(1, $Initext, 'dk3wo6e9ru')
                Switch GUICtrlRead($LinkCombo)
                    Case $LngDsc
                        $PathLnk=@DesktopDir & "\Desktop_Locker.lnk"
                    Case $LngQLn
                        $PathLnk=@AppDataDir&'\Microsoft\Internet Explorer\Quick Launch\Desktop_Locker.lnk'
                    Case $LngMPr
                        $PathLnk=@ProgramsDir & "\Desktop_Locker.lnk"
                EndSwitch
                FileCreateShortcut(@ScriptDir & "\Desktop_Locker.exe", $PathLnk, @ScriptDir, $bEncrypted, $LngSTp, @ScriptDir & "\Desktop_Locker.exe")
            Case $MsBloc, $Delay
                GUICtrlSetState($Inp0, $GUI_FOCUS)
            Case $OK ; Заблокировать рабочий стол
                $Password = GUICtrlRead($Inp0)
                If $Password = '' Then
                    _ColorError($Inp0)
                    GUICtrlSetState($Inp0, $GUI_FOCUS)
                    ContinueLoop
                EndIf
                $Password=_StringEncrypt(1, $Password, $Password)
                $aSet[3] = GUICtrlRead($Delay)
                $aSet[4] = GUICtrlRead($MsBloc)
                $aSet[5]=255-GUICtrlRead($slider1)
                $Initext1=$aSet[1]&'|'&$aSet[2]&'|'&$aSet[3]&'|'&$aSet[4]&'|'&$aSet[5]
                If $Initext1<>$Initext Then _FileW($Initext1)
                GUIDelete($Gui1)
                ExitLoop
            Case $ShtDwn
                If GUICtrlRead($ShtDwn)=$GUI_CHECKED Then
                    $stt=$GUI_ENABLE
                    $aSet[2]=$GUI_CHECKED
                Else
                    $stt=$GUI_DISABLE
                    $aSet[2]=$GUI_UNCHECKED
                EndIf
                GUICtrlSetState($Delay, $stt)
                GUICtrlSetState($DelayL, $stt)
                GUICtrlSetState($Inp0, $GUI_FOCUS)
            Case $ChPsHd
                If GUICtrlRead($ChPsHd)=$GUI_CHECKED Then
                    GUICtrlSetData($Inp2,GUICtrlRead($Inp1))
                    GUICtrlSetState($Inp2, $GUI_SHOW)
                    GUICtrlSetState($Inp1, $GUI_HIDE)
                    $Inp0=$Inp2
                    $aSet[1]=$GUI_CHECKED
                Else
                    GUICtrlSetData($Inp1,GUICtrlRead($Inp2))
                    GUICtrlSetState($Inp1, $GUI_SHOW)
                    GUICtrlSetState($Inp2, $GUI_HIDE)
                    $Inp0=$Inp1
                    $aSet[1]=$GUI_UNCHECKED
                EndIf
                GUICtrlSetState($Inp0, $GUI_FOCUS)
            Case $About
               _About()
            Case -3
                Exit
        EndSwitch
    WEnd
    Return $Password
EndFunc
 
GUIRegisterMsg(0x0114 , "WM_HSCROLL")
 
If $CmdLine[0]>0 Then
    $aTmp =  StringSplit($CmdLine[1], 'J')
    If @error Or $aTmp[0]<>2 Then
        MsgBox(0, $LngErr, $LngErr)
        Exit
    EndIf
    $Password =  $aTmp[1]
    $bEncrypted = _StringEncrypt(0, $aTmp[2], 'dk3wo6e9ru')
    $aSet =  StringSplit($bEncrypted, '|')
    If $aSet[0]<>5 Then
        $Initext='1|0|0|1|255'
        $aSet = StringSplit($Initext, '|')
    EndIf
Else
    $Password = _MsgFile()
EndIf
 
HotKeySet('{ENTER}', '_Enter')
 
$GuiLocked = GUICreate($LngTitle, $DW, $DH, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor (0x0)
 
GUICtrlCreateIcon ("shell32.dll", 48, $DW / 2 - 16, $DH / 2-190, 48, 48)
 
GUISetFont(12, 800)
$WrongPw = GUICtrlCreateLabel("", $DW / 2+155, $DH / 2 - 115, 30, 20)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0x0)
 
GUICtrlCreateLabel($LngTitle, $DW / 2 - 150, $DH / 2 - 105, 300, 50, $ES_CENTER)
GUICtrlSetFont(-1, 30, 800)
_Color(-1)
 
GUICtrlCreateLabel($LngErPw2, $DW / 2 - 230, $DH / 2 - 50, 460, 40, $ES_CENTER)
_Color(-1)
 
$InputPw = GUICtrlCreateInput("", $DW / 2 - 100, $DH / 2 , 200, 20, BitOR($ES_CENTER, $ES_PASSWORD), 0)
_Color(-1)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetState(-1, $GUI_FOCUS)
 
$ShtDw=GUICtrlCreateButton('1', $DW-200, $DH-100, 36, 32, 0x0040)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 28, 1)
GUICtrlSetState(-1, $GUI_HIDE)
$ShtRe=GUICtrlCreateButton('1', $DW-140, $DH-97, 36, 26, 0x0040)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -113, 1)
GUICtrlSetState(-1, $GUI_HIDE)
 
If $aSet[2]=$GUI_CHECKED Then
    If $aSet[3]=0 Then
        _Button()
    Else
        AdlibRegister('_Delay', $aSet[3]*60000)
    EndIf
EndIf
 
WinSetState("[CLASS:Shell_TrayWnd]", "", @SW_HIDE)
WinSetTrans($GuiLocked, '', $aSet[5])
GUISetState(@SW_SHOW, $GuiLocked)
If $aSet[4] = 1 Then _MouseTrap($DW, $DH)
 
While 1
    Sleep(50)
    $msg = GUIGetMsg()
    If Not WinActive($GuiLocked) Then
        If ProcessExists('taskmgr.exe') Then ProcessClose('taskmgr.exe')
        WinActivate($GuiLocked)
        If $aSet[4] = 1 Then _MouseTrap($DW, $DH)
    EndIf
    Switch $msg
        Case $ShtDw
           Shutdown(1)
        Case $ShtRe
           Shutdown(2)
    EndSwitch
WEnd
 
Func _ColorError($Inp0)
    For $i = 1 to 4
        GUICtrlSetBkColor ($Inp0, 0xff0000)
        Sleep(40)
        GUICtrlSetBkColor ($Inp0, -1 )
        Sleep(40)
    Next
EndFunc
 
Func _Enter()
    $tmp=GUICtrlRead($InputPw)
    If _StringEncrypt(0, $Password, $tmp) == $tmp Then
        WinSetState("[CLASS:Shell_TrayWnd]", "", @SW_SHOW)
        If $aSet[4] = 1 Then _MouseTrap()
        Exit
    Else
        $k+=1
        GUICtrlSetData($WrongPw, $k)
        GUICtrlSetData($InputPw, "")
        AdlibRegister('_Tip', 50)
    EndIf
EndFunc
 
Func _Delay()
    AdlibUnRegister('_Delay')
    _Button()
EndFunc
 
Func _Button()
    GUICtrlSetState($ShtDw, $GUI_SHOW)
    GUICtrlSetState($ShtRe, $GUI_SHOW)
EndFunc
 
Func _Color($i)
    GUICtrlSetColor($i, 0xFFFFFF)
    GUICtrlSetBkColor($i, 0)
EndFunc
 
Func _Tip()
    AdlibUnRegister('_Tip')
    ToolTip($LngErPw1, $DW/2, $DH/2+20, "", 3, 3)
    Sleep(2000)
    ToolTip("")
EndFunc
 
; UDF GuiEdit.au3 + Misc.au3
 
Func _MouseTrap($iLeft = 0, $iTop = 0, $iRight = 0, $iBottom = 0)
    Local $aResult
    If @NumParams == 0 Then
        $aResult = DllCall("user32.dll", "bool", "ClipCursor", "ptr", 0)
        If @error Or Not $aResult[0] Then Return SetError(1, _WinAPI_GetLastError(), False)
    Else
        If @NumParams == 2 Then
            $iRight = $iLeft + 1
            $iBottom = $iTop + 1
        EndIf
        Local $tRect = DllStructCreate($tagRECT)
        DllStructSetData($tRect, "Left", $iLeft)
        DllStructSetData($tRect, "Top", $iTop)
        DllStructSetData($tRect, "Right", $iRight)
        DllStructSetData($tRect, "Bottom", $iBottom)
        $aResult = DllCall("user32.dll", "bool", "ClipCursor", "ptr", DllStructGetPtr($tRect))
        If @error Or Not $aResult[0] Then Return SetError(2, _WinAPI_GetLastError(), False)
    EndIf
    Return True
EndFunc   ;==>_MouseTrap
 
Func _WinAPI_GetLastError($curErr = @error, $curExt = @extended)
    Local $aResult = DllCall("kernel32.dll", "dword", "GetLastError")
    Return SetError($curErr, $curExt, $aResult[0])
EndFunc   ;==>_WinAPI_GetLastError
 
Func WM_HSCROLL($hWnd, $Msg, $wParam, $lParam)
    #forceref $Msg, $wParam, $lParam
    Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
    $aSet[5] = 255-BitShift($wParam, 16)
    If $nScrollCode = 5 Then
        WinSetTrans($Gui1,"",$aSet[5])
        GUICtrlSetData($ValSld, 255-$aSet[5])
    EndIf
    Return 'GUI_RUNDEFMSG'
EndFunc
 
 
Func _ChildCoor($Gui, $w, $h, $c=0, $d=0)
    Local $aWA = _WinAPI_GetWorkingArea(), _
    $GP = WinGetPos($Gui), _
    $wgcs=WinGetClientSize($Gui)
    Local $dLeft=($GP[2]-$wgcs[0])/2, _
    $dTor=$GP[3]-$wgcs[1]-$dLeft
    If $c = 0 Then
        $GP[0]=$GP[0]+($GP[2]-$w)/2-$dLeft
        $GP[1]=$GP[1]+($GP[3]-$h-$dLeft-$dTor)/2
    EndIf
    If $d>($aWA[2]-$aWA[0]-$w-$dLeft*2)/2 Or $d>($aWA[3]-$aWA[1]-$h-$dLeft+$dTor)/2 Then $d=0
    If $GP[0]+$w+$dLeft*2+$d>$aWA[2] Then $GP[0]=$aWA[2]-$w-$d-$dLeft*2
    If $GP[1]+$h+$dLeft+$dTor+$d>$aWA[3] Then $GP[1]=$aWA[3]-$h-$dLeft-$dTor-$d
    If $GP[0]<=$aWA[0]+$d Then $GP[0]=$aWA[0]+$d
    If $GP[1]<=$aWA[1]+$d Then $GP[1]=$aWA[1]+$d
    $GP[2]=$w
    $GP[3]=$h
    Return $GP
EndFunc
 
Func _WinAPI_GetWorkingArea()
    Local Const $SPI_GETWORKAREA = 48
    Local $stRECT = DllStructCreate("long; long; long; long")
 
    Local $SPIRet = DllCall("User32.dll", "int", "SystemParametersInfo", "uint", $SPI_GETWORKAREA, "uint", 0, "ptr", DllStructGetPtr($stRECT), "uint", 0)
    If @error Then Return 0
    If $SPIRet[0] = 0 Then Return 0
 
    Local $sLeftArea = DllStructGetData($stRECT, 1)
    Local $sTopArea = DllStructGetData($stRECT, 2)
    Local $sRightArea = DllStructGetData($stRECT, 3)
    Local $sBottomArea = DllStructGetData($stRECT, 4)
 
    Local $aRet[4] = [$sLeftArea, $sTopArea, $sRightArea, $sBottomArea]
    Return $aRet
EndFunc
 
 
Func _About()
    Local $GP=_ChildCoor($Gui1, 210, 180)
    GUISetState(@SW_DISABLE, $Gui1)
    Local $font="Arial", $msg
    Local $Gui2 = GUICreate($LngAbout, $GP[2], $GP[3], $GP[0], $GP[1], 0x00C00000+0x00080000, -1, $Gui1) ; WS_CAPTION+WS_SYSMENU
    GUISetBkColor (0xffca48)
    GUICtrlCreateLabel($LngTitle, 0, 0, 210, 63, 0x01+0x0200)
    GUICtrlSetFont (-1,14, 600, -1, $font)
    GUICtrlSetColor(-1,0xa13d00)
    GUICtrlSetBkColor (-1, 0xfbe13f)
    GUICtrlCreateLabel ("-", 2,64,208,1,0x10)
    
    GUISetFont (9, 600, -1, $font)
    GUICtrlCreateLabel($LngVer&' 0.2   8.05.2011', 15, 100, 210, 17)
    GUICtrlCreateLabel($LngSite&':', 15, 115, 40, 17)
    $url=GUICtrlCreateLabel('http://azjio.ucoz.ru', 52, 115, 170, 17)
    GUICtrlSetCursor(-1, 0)
    GUICtrlSetColor(-1, 0x0000ff)
    GUICtrlCreateLabel('WebMoney:', 15, 130, 85, 17)
    $WbMn=GUICtrlCreateLabel('R939163939152', 90, 130, 125, 17)
    GUICtrlSetColor(-1,0xa21a10)
    GUICtrlSetTip(-1, $LngCopy)
    GUICtrlSetCursor(-1, 0)
    GUICtrlCreateLabel('Copyright AZJIO © 2010', 15, 145, 210, 17)
    GUISetState(@SW_SHOW, $Gui2)
    While 1
      $msg = GUIGetMsg()
      Select
        Case $msg = $url
            ShellExecute ('http://azjio.ucoz.ru')
        Case $msg = $WbMn
            ClipPut('R939163939152')
        Case $msg = -3
            GUISetState(@SW_ENABLE, $Gui1)
            GUIDelete($Gui2)
            ExitLoop
        EndSelect
    WEnd
EndFunc

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎