Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Закрытая тема
Настройки темы
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

(*.*)


Сообщения: 36560
Благодарности: 6694


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


А вот вариант куда более примитивный (для Fat):

Код: Выделить весь код
HotKeySet("{ESC}", "Quit")

;Global $sBlock_Password = "Pass"

Global $sBlockFiles_List = "C:\Temp\Readme.txt|C:\Temp\Web.doc|C:\Temp\DXSETUP.exe"
Global $aBlockFiles_List = StringSplit($sBlockFiles_List, "|")

While 1
    Sleep(1000)

    $aProcess_Info = _ProcessesGetInfo()

    For $i = 1 To UBound($aProcess_Info)-1
        For $j = 1 To $aBlockFiles_List[0]
            If StringInStr($aProcess_Info[$i][1], $aBlockFiles_List[$j]) Or $aProcess_Info[$i][7] = $aBlockFiles_List[$j] Then
                _BlockFile_Proc($aBlockFiles_List[$j], $aProcess_Info[$i][26])
                ExitLoop
            EndIf
        Next
    Next
WEnd

Func _BlockFile_Proc($sFile, $iProc)
    ;_ProcessSuspendSwitch($iProc, True)

    Local $hBlockedFile_Win = _ProcessGetWindow($iProc)

;~  Local $s_Password = InputBox(StringFormat("File Blocked (%s) - Attention!", StringRegExpReplace($sFile, "^.*\\", "")), _
;~      "Blocked File Execution attempt. Please insert password to unlock it:", "", "*", 300, 120, -1, -1, 0, $hBlockedFile_Win[1])

    MsgBox(262144+48, "File Blocker - Attention!", _
        StringFormat("You are not allowed to open this File (%s)", _
            StringRegExpReplace($sFile, "^.*\\", "")), 0, $hBlockedFile_Win[1])

    ;If $s_Password = $sBlock_Password Then Return _ProcessSuspendSwitch($iProc, False)
    Return ProcessClose($iProc)
EndFunc

Func _ProcessesGetInfo()
    Local $oColItems, $objWMIService, $objItem, $cI_Compname = @ComputerName
    Local $aProcessInfo[1000][42], $i = 1

    $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2")
    $oColItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL")

    If Not IsObj($oColItems) Then Return SetError(1, 2, 0)

    For $objItem In $oColItems
        $aProcessInfo[$i][0]  = $objItem.Name
        $aProcessInfo[$i][1]  = $objItem.CommandLine
        $aProcessInfo[$i][2]  = $objItem.CreationClassName
        $aProcessInfo[$i][3]  = $objItem.CreationDate
        $aProcessInfo[$i][4]  = $objItem.Description
        $aProcessInfo[$i][5]  = $objItem.CSCreationClassName
        $aProcessInfo[$i][6]  = $objItem.CSName
        $aProcessInfo[$i][7]  = $objItem.ExecutablePath
        $aProcessInfo[$i][8]  = $objItem.ExecutionState
        $aProcessInfo[$i][9]  = $objItem.Handle
        $aProcessInfo[$i][10] = $objItem.HandleCount
        $aProcessInfo[$i][11] = $objItem.KernelModeTime
        $aProcessInfo[$i][12] = $objItem.MaximumWorkingSetSize
        $aProcessInfo[$i][13] = $objItem.MinimumWorkingSetSize
        $aProcessInfo[$i][14] = $objItem.OSCreationClassName
        $aProcessInfo[$i][15] = $objItem.OSName
        $aProcessInfo[$i][16] = $objItem.OtherOperationCount
        $aProcessInfo[$i][17] = $objItem.OtherTransferCount
        $aProcessInfo[$i][18] = $objItem.PageFaults
        $aProcessInfo[$i][19] = $objItem.PageFileUsage
        $aProcessInfo[$i][20] = $objItem.ParentProcessId
        $aProcessInfo[$i][21] = $objItem.PeakPageFileUsage
        $aProcessInfo[$i][22] = $objItem.PeakVirtualSize
        $aProcessInfo[$i][23] = $objItem.PeakWorkingSetSize
        $aProcessInfo[$i][24] = $objItem.Priority
        $aProcessInfo[$i][25] = $objItem.PrivatePageCount
        $aProcessInfo[$i][26] = $objItem.ProcessId
        $aProcessInfo[$i][27] = $objItem.QuotaNonPagedPoolUsage
        $aProcessInfo[$i][28] = $objItem.QuotaPagedPoolUsage
        $aProcessInfo[$i][29] = $objItem.QuotaPeakNonPagedPoolUsage
        $aProcessInfo[$i][30] = $objItem.QuotaPeakPagedPoolUsage
        $aProcessInfo[$i][31] = $objItem.ReadOperationCount
        $aProcessInfo[$i][32] = $objItem.ReadTransferCount
        $aProcessInfo[$i][33] = $objItem.SessionId
        $aProcessInfo[$i][34] = $objItem.Status
        $aProcessInfo[$i][35] = $objItem.ThreadCount
        $aProcessInfo[$i][36] = $objItem.UserModeTime
        $aProcessInfo[$i][37] = $objItem.VirtualSize
        $aProcessInfo[$i][38] = $objItem.WindowsVersion
        $aProcessInfo[$i][39] = $objItem.WorkingSetSize
        $aProcessInfo[$i][40] = $objItem.WriteOperationCount
        $aProcessInfo[$i][41] = $objItem.WriteTransferCount

        $i += 1
    Next

    $aProcessInfo[0][0] = $i-1
    ReDim $aProcessInfo[$i][42]

    If $aProcessInfo[0][0] < 1 Then Return SetError(1, 1, 0)

    Return $aProcessInfo
EndFunc

Func _ProcessGetWindow($iPID)
    Local $aWinList = WinList()
    Local $aRet[2]

    If IsString($iPID) Then $iPID = ProcessExists($iPID)

    For $i = 1 To UBound($aWinList)-1
        If WinGetProcess($aWinList[$i][1]) = $iPID Then
            $aRet[0] = $aWinList[$i][0] ;Title
            $aRet[1] = $aWinList[$i][1] ;WinHandle

            Return $aRet
        EndIf
    Next

    Return SetError(1, 0, $aRet)
EndFunc

Func _ProcessSuspendSwitch($iPIDOrName, $iSuspend = True)
    If IsString($iPIDOrName) Then $iPIDOrName = ProcessExists($iPIDOrName)
    If Not $iPIDOrName Then Return SetError(1, 0, 0)

    Local $aNtSuspResumProc
    Local $ah_OpProcess = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1F0FFF, 'int', False, 'int', $iPIDOrName)

    If $iSuspend Then
        $aNtSuspResumProc = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ah_OpProcess[0])
    Else
        $aNtSuspResumProc = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ah_OpProcess[0])
    EndIf

    DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ah_OpProcess)

    If IsArray($aNtSuspResumProc) Then Return 1
    Return SetError(2, 0, 0)
EndFunc

Func Quit()
    Exit
EndFunc


Работает не для всех файлов, зависит от приложения сопоставленного с типом файла.

Цитата Maza Faka:
Тестировалось на:
WinXP SP3 FS:NTFS »
Работает и в «WinXP SP2 FS:FAT»

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:25, 15-12-2008 | #1291



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Этот вариант мне больше понравился:

Код: Выделить весь код
$sFile = FileOpenDialog("Select a file", "", "All files (*.*)")
If @error Then Exit

Global $sPass = InputBox("File security", "Please set a password", "", "*")
If @error Then Exit

Global $hFile = _CreateFile($sFile)
If $hFile = -1 Then Exit MsgBox(16, "Error", "Unable to open file")

HotKeySet("^d", "_Decrypt") ;Ctrl + d

While 1
    Sleep(100)
WEnd

Func _CreateFile($sFile)
    Local Const $GENERIC_READ  = 0x80000000
    Local Const $GENERIC_WRITE = 0x40000000
    Local Const $OPEN_EXISTING = 3

    $sFile = "\\.\" & $sFile

    Local $aRet = DllCall("kernel32.dll", "hwnd", "CreateFile", _
                                          "str", $sFile, _
                                          "int", BitOR($GENERIC_READ, $GENERIC_WRITE), _
                                          "int", 0, _
                                          "ptr", 0, _
                                          "int", $OPEN_EXISTING, _
                                          "int", 0, _
                                          "int", 0)
    Return $aRet[0]
EndFunc   ;==>_CreateFile

Func _Decrypt()
    Local $sCurPass = InputBox("File security", "Please enter a password", "", "*")
    If @error Then Return 0

    If $sCurPass == $sPass Then
        DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
        MsgBox(64, "Success", "File decrypted")
        Exit
    Else
        MsgBox(16, "Error", "Access denied")
    EndIf
EndFunc   ;==>_Decrypt
Только вот здесь нельзя выбрать несколько файлов и нельзя выбрать целую папку, в отличии от кода предложенного Creat0R-ом. А в коде Creat0R-а не совсем всё работает. Допустим если закрыть доступ к файлу и открыть его вордом то он без проблем откроется или музыкальный файл с таким же успехом открывается в любом плеере.

МОжет кто подправит?

-------
Хочу научиться писать драйвера на с++


Отправлено: 15:48, 16-12-2008 | #1292

BadEvent


Сообщения: n/a

Профиль | Цитировать


Всё, разобрался сам, спасибо)

Отправлено: 18:30, 16-12-2008 | #1293


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


morgan1991,
Цитата morgan1991:
МОжет кто подправит? »
Другой вариант - (почти) Утилита BlockIt. Основана на идее от Maza Faka

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 01:42, 17-12-2008 | #1294


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата morgan1991:
нельзя выбрать целую папку »
Можно
Код: Выделить весь код
$sFile = FileSelectFolder("Select the folder", "")
If @error Then Exit

Global $sPass = InputBox("File security", "Please set a password", "", "*")
If @error Then Exit

Global $hFile = _CreateFile($sFile)
If $hFile = -1 Then Exit MsgBox(16, "Error", "Unable to open file")

HotKeySet("^d", "_Decrypt") ;Ctrl + d

While 1
    Sleep(100)
WEnd

Func _CreateFile($sFile)
    Local Const $GENERIC_READ  = 0x80000000
    Local Const $GENERIC_WRITE = 0x40000000

    Local Const $FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
    Local Const $OPEN_EXISTING = 3

    $sFile = "\\.\" & $sFile

    Local $aRet = DllCall("kernel32.dll", "hwnd", "CreateFile", _
                                          "str", $sFile, _
                                          "int", BitOR($GENERIC_READ, $GENERIC_WRITE), _
                                          "int", 0, _
                                          "ptr", 0, _
                                          "int", $OPEN_EXISTING, _
                                          "int", $FILE_FLAG_BACKUP_SEMANTICS, _ ;Что бы получить дескриптор каталога, установите флажок FILE_FLAG_BACKUP_SEMANTICS
                                          "int", 0)
    Return $aRet[0]
EndFunc   ;==>_CreateFile

Func _Decrypt()
    Local $sCurPass = InputBox("File security", "Please enter a password", "", "*")
    If @error Then Return 0

    If $sCurPass == $sPass Then
        DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $hFile)
        MsgBox(64, "Success", "File decrypted")
        Exit
    Else
        MsgBox(16, "Error", "Access denied")
    EndIf
EndFunc   ;==>_Decrypt
А если ещё кто-нибудь знает как отловить обращение к файлу/папке, то можно написать неплохую программку

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 07:19, 17-12-2008 | #1295


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


В автоите 3.2.8.1 это работает
Код: Выделить весь код
GUICreate("MpF realmlist ver 0.6", 400, 400, -1, -1, $WS_POPUP)
А в автоите 3.2.12.1 ругается на $WS_POPUP. На что это можно заменить?

-------
Хочу научиться писать драйвера на с++


Отправлено: 20:40, 17-12-2008 | #1296


Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


AutoIt3\Include\WindowsConstants.au3
Global Const $WS_POPUP = 0x80000000

Та же фигня была. Потом пропало. Не знаю, почему.
М. б. из-за того что установил полный SciTE4AutoIt3. Не знаю точно.

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин


Отправлено: 21:10, 17-12-2008 | #1297


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Maza Faka:
А если ещё кто-нибудь знает как отловить обращение к файлу/папке, то можно написать неплохую программку »
Пока придумал только отлов системного сообщения, утилиту запаковал сюда, если найдутся тестеры, можно дальше развивать .

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:25, 17-12-2008 | #1298


Новый участник


Сообщения: 36
Благодарности: 2

Профиль | Отправить PM | Цитировать


помогите
написал тут код ,Но есть проблема
Я могу закрит иконку ,толко нажав ESC или Enter что надо даписат что бы иконка закривалас при нажатии мышки на нее?
TEMP = дорожка к *.png($temp = "E:\VBA\AutoIt\GUI\1.png" )
Код: Выделить весь код
#NoTrayIcon
#include <GDIPlus.au3>; this is where the magic happens, people
#include <GuiComboBox.au3>
#include <File.au3>
#include <Array.au3>
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WinAPI.au3>

Global Const $AC_SRC_ALPHA = 1, $ULW_ALPHA = 2
Global $launchDir = @DesktopDir, $GUI
;~ Dim $temp1
$temp = "E:\VBA\AutoIt\GUI\1.png"
Transp_PNG($temp)

Func Transp_PNG($temp, $iOpacity = 255, $EnableFade = True)


	If $iOpacity < 0 Then $iOpacity = 0
	If $iOpacity > 255 Then $iOpacity = 255
	
	; Load PNG file as GDI bitmap
	_GDIPlus_Startup()
	$pngSrc = $temp
	$hImage = _GDIPlus_ImageLoadFromFile($pngSrc)

	; Extract image width and height from PNG
	$width = _GDIPlus_ImageGetWidth($hImage)
	$height = _GDIPlus_ImageGetHeight($hImage)
	

	; Create layered window
	
    $GUI = GUICreate("lod3n launcher", $width, $height, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
   	
	GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
	GUISetState()
	WinSetOnTop($GUI, "", 1)
	
	If $EnableFade Then
		;fade in png background
		For $i = 0 To $iOpacity Step 1
			SetBitmap($GUI, $hImage, $i)
		Next
	Else
		SetBitmap($GUI, $hImage, $iOpacity)
	EndIf

	
	
	; set default button for Enter key activation - renders outside GUI window
	$BtnExit = GUICtrlCreateButton("Exit", $width, $height, 10, 10, $BS_DEFPUSHBUTTON)
	
	While 1

		Switch GUIGetMsg()
			
		    Case $GUI_EVENT_CLOSE,  $BtnExit
			ExitLoop

		EndSwitch
	WEnd
	
	If $EnableFade Then
		;fade out png background
		For $i = $iOpacity To 0 Step -1
			SetBitmap($GUI, $hImage, $i)
		Next
	Else
		SetBitmap($GUI, $hImage, 0)
	EndIf
EndFunc   ;==>Transp_PNG

Func CancelPressed()
	 Exit
EndFunc
; ====================================================================================================

; Handle the WM_NCHITTEST for the layered window so it can be dragged by clicking anywhere on the image.
; ====================================================================================================

Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
	If ($hWnd = $GUI) And ($iMsg = $WM_NCHITTEST) Then Return $HTCAPTION
EndFunc   ;==>WM_NCHITTEST

; ====================================================================================================

; SetBitMap
; ====================================================================================================


Func SetBitmap($hGUI, $hImage, $iOpacity)
	Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend

	$hScrDC = _WinAPI_GetDC(0)
	$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
	$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
	$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
	$tSize = DllStructCreate($tagSIZE)
	$pSize = DllStructGetPtr($tSize)
	DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
	DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
	$tSource = DllStructCreate($tagPOINT)
	$pSource = DllStructGetPtr($tSource)
	$tBlend = DllStructCreate($tagBLENDFUNCTION)
	$pBlend = DllStructGetPtr($tBlend)
	DllStructSetData($tBlend, "Alpha", $iOpacity)
	DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA)
	_WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
	_WinAPI_ReleaseDC(0, $hScrDC)
	_WinAPI_SelectObject($hMemDC, $hOld)
	_WinAPI_DeleteObject($hBitmap)
	_WinAPI_DeleteDC($hMemDC)
EndFunc   ;==>SetBitmap

Отправлено: 17:37, 18-12-2008 | #1299


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Цитата Creat0R:
Пока придумал только отлов системного сообщения, утилиту запаковал сюда, если найдутся тестеры, можно дальше развивать . »
Если закрыть доступ к текстовому файлу с расширением .php (на других не пробовал) тогда документ открывается с помощью notepad.

-------
Хочу научиться писать драйвера на с++


Отправлено: 18:05, 18-12-2008 | #1300



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход