Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: Hackproof
Дата сообщения: 05.08.2008 09:04
Ну я вообще MSDN читал, оттуда названия переменных и взяты... Главное, работает, спасибо.
То есть, как я понял, после имени вызываемой функции надо писать тип аргументов, а не их имена.

А на тему процесса без окон кто бы просветил...
Автор: Maza Faka
Дата сообщения: 05.08.2008 12:01
Hackproof

Цитата:
То есть, как я понял, после имени вызываемой функции надо писать тип аргументов, а не их имена

Да, сначала указывается тип данных (строка, целое число и т. д.), затем указывается параметр.


Цитата:
А на тему процесса без окон кто бы просветил...

Да я поискал, однозначного решения вроде бы нет...
Автор: NickB
Дата сообщения: 05.08.2008 18:27
Народ помогите
есть задачка:
нужно узнать какие основной dns и альтернативный dns использует пользователь и если они не правильные то поменять их на правильные.

пример:
основной dns: 192.168.0.1
альтернативный dns: 192.168.0.2

надо поменять на
основной dns: 192.168.0.254
альтернативный dns: 192.168.0.253

при этом надо учитывать что само соединение может называться по разному:
Local Area Connection
или Local Area Connection2
....
Local Area Connection10
или
Подключение по локальной сети
.....
Подключение по локальной сети3
...
Автор: RAMSlader
Дата сообщения: 07.08.2008 11:34
Помогите пишу gui на AutoIT

#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=i:\spec4\koda_1.7.0.1\forms\menu.kxf
$Form1_1 = GUICreate("GUI", 291, 251, 359, 143)
$Tab1 = GUICtrlCreateTab(0, 0, 289, 249)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
GUICtrlCreateTabItem("")
$Checkbox1 = GUICtrlCreateCheckbox("wmplayer", 16, 16, 81, 17)
$Checkbox2 = GUICtrlCreateCheckbox("IEXPLORE", 16, 32, 81, 17)
$Checkbox3 = GUICtrlCreateCheckbox("notepad", 16, 48, 81, 17)
$Button1 = GUICtrlCreateButton("Установить", 184, 208, 91, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $Checkbox1
run ("C:\Program Files\Windows Media Player\wmplayer.exe")
Case $Checkbox2
run ("C:\Program Files\Internet Explorer\IEXPLORE.EXE")
Case $Checkbox3
run ("%SystemRoot%\system32\notepad.exe")
Case $Button1

EndSwitch
WEnd

Но увы это не раб как хочется, а нужно чтобы при клике на $Checkbox1,2,3 проги не запускались а запоминался выбор (да нет) и уже при клике на кнопку $Button1 производились действия отмеченные в $Checkbox1,2,3
Плиз помогите
Автор: Hackproof
Дата сообщения: 07.08.2008 13:12
Ну понятное дело, у тебя же на чекбокс стоит run.
Я бы сделал через Event:


Код:
Код: #include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 633, 449, 193, 125)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")

$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 168, 48, 50, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 168, 80, 50, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 168, 104, 50, 25)
$Button1 = GUICtrlCreateButton("Button1", 168, 136, 41, 25, 0)
GUICtrlSetOnEvent($Button1, "Button1Click")
GUISetState(@SW_SHOW)

While 1
Sleep(100)
WEnd

Func
Button1Click()
$r3=GuiCtrlRead($Checkbox3)
If $r3="1" then
run("Третий пошёл")
endif
$r2=GuiCtrlRead($Checkbox2)
If $r2="1" then
run("Второй пошёл")
endif
$r1=GuiCtrlRead($Checkbox1)
If $r1<>"4" then
run("Первый пошёл")
endif
EndFunc

Func
Form1Close()
exit
EndFunc
Автор: Maza Faka
Дата сообщения: 07.08.2008 13:34
RAMSlader
Пример:

Код: #include <GUIConstantsEx.au3>

$Form1_1 = GUICreate("GUI", 291, 251, 359, 143)

$Tab1 = GUICtrlCreateTab(0, 0, 289, 249)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)

GUICtrlCreateTabItem("")

$Checkbox1 = GUICtrlCreateCheckbox("wmplayer", 16, 16, 81, 17)

$Checkbox2 = GUICtrlCreateCheckbox("IEXPLORE", 16, 32, 81, 17)

$Checkbox3 = GUICtrlCreateCheckbox("notepad", 16, 48, 81, 17)

$Button1 = GUICtrlCreateButton("Установить", 184, 208, 91, 25, 0)

GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case
$Button1
_Install()
EndSwitch
WEnd

Func
_Install()
If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then Run("C:\Program Files\Windows Media Player\wmplayer.exe")
If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) Then Run("C:\Program Files\Internet Explorer\IEXPLORE.EXE")
If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) Then Run(@WindowsDir & "\notepad.exe")
EndFunc
Автор: Basur
Дата сообщения: 08.08.2008 02:40

Цитата:
Скрипт Отключения/Подключения к Интернету

Можно скрыть окно "Подключение удаленного доступа"?
Автор: NIKZZZZ
Дата сообщения: 10.08.2008 09:38
Вопросик, можно ли сменить фонт встроенного MsgBox() ?
Есть ли его аналоги, реализованные средствами Gui (важно динамическое изменение размера окна в зависимости от выводимой информации) ?

Автор: gal7
Дата сообщения: 10.08.2008 20:02
Помогите, знающие, в скрипте при нажатии на кнопку создается еще одна форма, я пытаюсь в этой новой форме устанавливать реакцию на события, а они не работают! Подскажите в чем дело.
Это часть кода, создающего второе окно:


Код:
Func Button7Click()
Opt("GUIOnEventMode", 1)
$primer = GUICreate("Изменить серверы", 700, 230, 145, 50)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form2_1Close")...и т.д.
Автор: Hackproof
Дата сообщения: 10.08.2008 23:44
По-моему из-за того, что имя формы неправильно указано. Не Form2_1, a primerClose.

GUISetOnEvent($GUI_EVENT_CLOSE, "primerClose")
Автор: NORIO
Дата сообщения: 11.08.2008 01:54
Loopback

Цитата:
Для этого есть функция приведения:

$hWnd = Hwnd($var)

Спасибо. Это как раз тот случай когда для меня применима поговорка
"Смотрю в книгу - вижу фигу"

gal7

Код:

Func Button7Click()

$primer = GUICreate("Изменить серверы", 700, 230, 145, 50)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "close_child_window")

Return
EndFunc


Func close_child_window()

Local $primer
GUIDelete($primer)

Return
EndFunc
Автор: gal7
Дата сообщения: 11.08.2008 07:48
Спасибо, NORIO, посмотрев на твой пример, я увидел, что у меня в функции стоит цикл и не дает ее закочить. Чего только не бывает!

Автор: Maza Faka
Дата сообщения: 11.08.2008 10:51
NIKZZZZ

Цитата:
Вопросик, можно ли сменить фонт встроенного MsgBox() ?

Проще всего создать собственный "MsgBox" с помощью GuiCreate()
Автор: NIKZZZZ
Дата сообщения: 11.08.2008 12:15
Maza Faka

Цитата:
собственный "MsgBox" с помощью GuiCreate()

Тогда такая задача - есть текст, есть фонт - вычислить размеры окна.
Нужна функция - на входе фонт и символ, на выходе - размер этого символа.
Автор: Bober4ik
Дата сообщения: 11.08.2008 13:30
Хочу сделать меню в трее. В секции $Play "бесконечный" цикл, надо сделать, чтоб при выполнение этого цикла при нажатие на графу $Pause выполнялся ряд действий, а потом выполнение программы продолжалось с остановленного места. А при нажатие графы $Stop цикл прерывался и выполнились другие действие.

Я не уверен что это можно сделать с помощью AutoIt Подскажите пожалуйста как такое реализовать.



Opt("TrayMenuMode", 1)
AutoItSetOption("TrayAutoPause",1)

$Play = TrayCreateItem("Play")
$Pause = TrayCreateItem("Pause")
$Stop = TrayCreateItem("Stop")
$ExitItem = TrayCreateItem("Exit")

While 1
$TrayMsg = TrayGetMsg()
    Switch $TrayMsg
        Case $Play
            While 1
...........
............
Wend

        Case $Pause
            .............            
        Case $Stop
            ...........
            
Case $ExitItem
Exit
EndSwitch
WEnd
Автор: Maza Faka
Дата сообщения: 11.08.2008 17:58
NIKZZZZ

Цитата:
Тогда такая задача - есть текст, есть фонт - вычислить размеры окна.
Нужна функция - на входе фонт и символ, на выходе - размер этого символа.

Не совсем понятна задача, тебе нужно изменить размер окна на основе величины шрифта и длины текста? Если да, то, как раз сегодня я запостил на офф. форуме пример с InputBox
Автор: NIKZZZZ
Дата сообщения: 11.08.2008 18:23
Maza Faka

Цитата:
тебе нужно изменить размер окна на основе величины шрифта и длины текста?

Не совсем то. Я хочу сам создать окно нужного размера с нужным мне фонтом.

Автор: Maza Faka
Дата сообщения: 12.08.2008 10:52
NIKZZZZ
В общем вот, быстрый и грубый пример изменения шрифта в MsgBox:

Код: #include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <WinAPI.au3>
#include <FontConstants.au3>

Global $hCallBack = DllCallbackRegister("_MsgBoxCustomize", "none", "hwnd;int;int;dword")

$IDTimer = DllCall("user32.dll", "int", "SetTimer", "hwnd", 0, "int", 0, "int", 10, "ptr", DllCallbackGetPtr($hCallBack))

MsgBox(0, "Message", "Hello world! AutoIt Rulez! Hello world! AutoIt Rulez!")

Func _MsgBoxCustomize($hWnd, $Msg, $IdTimer, $dwTime)
If WinExists("Message") Then
DllCallbackFree($hCallBack)
DllCall("user32.dll", "int", "KillTimer", "hwnd", 0, "int", $IDTimer)

Local $hFont, $hDC, $TextFont, $hOldFont, $sText, $tSize, $aWinPos, $aTextPos

$hWnd
= WinGetHandle("Message")
$aWinPos = WinGetPos("Message")

$hText = ControlGetHandle($hWnd, "", "Static1")
$aTextPos = ControlGetPos($hWnd, "", $hText)

$hFont = _CreateFont($hText, 12, 800, 2, "Arial")

$hDC = _WinAPI_GetDC($hText)

$TextFont = _SendMessage($hText, $WM_GETFONT)

$OldFont = _WinAPI_SelectObject($hDC, $TextFont)

$sText = ControlGetText($hWnd, "", $hText)
$tSize = _WinAPI_GetTextExtentPoint32($hDC, $sText & " ")

ControlMove($hWnd, "", $hText, $aTextPos[0], $aTextPos[1], DllStructGetData($tSize, "X") + 20, DllStructGetData($tSize, "Y") + 20)
$aTextPos = ControlGetPos($hWnd, "", $hText)
WinMove($hWnd, "", $aWinPos[0], $aWinPos[1], $aTextPos[2] + 10, $aWinPos[3] + 10)

_WinAPI_SetFont($hText, $hFont)

_WinAPI_SelectObject($hDC, $OldFont)
_WinAPI_DeleteObject($hFont)
_WinAPI_ReleaseDC($hWnd, $hDC)
EndIf
EndFunc

Func
_CreateFont($hWnd, $nFontSize, $nFontWeight, $nFontAtrribute, $nFont)
Local $hDc = _WinAPI_GetDC($hWnd)
Local $nPixel = DllCall("gdi32.dll", "int", "GetDeviceCaps", "hwnd", $hDc, "int", $LOGPIXELSY)
Local $nHeight = DllCall("kernel32.dll", "int", "MulDiv", "int", $nFontSize, "int", $nPixel[0], "int", 72)

Local $hFont = DllCall("gdi32.dll", "hwnd", "CreateFont", "int", $nHeight[0], "int", 0, _
"int", 0, "int", 0, "int", $nFontWeight, "dword", BitAND($nFontAtrribute, 2), _
"dword", BitAND($nFontAtrribute, 4), "dword", BitAND($nFontAtrribute, 8), "int", $DEFAULT_CHARSET, _
"int", $OUT_DEFAULT_PRECIS, "int", $CLIP_DEFAULT_PRECIS, "int", $DEFAULT_QUALITY, "int", 0, _
"str", $nFont)

_WinAPI_ReleaseDC($hWnd, $hDC)
Return $hFont[0]
EndFunc
Автор: Hackproof
Дата сообщения: 15.08.2008 02:25
Есть сервер, к нему подключаются клиенты. Номер порта на сервере периодически меняется. Как клиент узнает об изменениях - неизвестно, возможно через 445 порт, потому что это соединение от процесса System тоже устанавливается при запуске клиента. Сервер имеет привычку иногда впадать в маразм, и его нужно перезагрузить как можно быстрее. Возможно, симптомом зависания сервера является невозможность установления соединения. Зависает не машина, а именно серверное приложение.
Можно ли из установленного соединения клиент-сервер на машине клиента узнать, какой порт в данный момент на сервере принимает подключения? А то у меня зависание отслеживается по падению клиента, но это происходит через 2-3 минуты, плюс на перезагрузку столько же. Телефон к тому времени уже разрывается...
Автор: pr0r0k_d
Дата сообщения: 15.08.2008 11:02
как очистить директорию (файлы и поддиректории)?
Автор: Maza Faka
Дата сообщения: 15.08.2008 14:27
pr0r0k_d
Самый простой способ - средствами командной строки:

Код: $folder = "c:\test" ;Путь к папке которую нужно очистить

Run(@ComSpec & " /c cd /d " & $folder & " && rd /s /q " & $folder, @SystemDir, @SW_HIDE)
Автор: pr0r0k_d
Дата сообщения: 15.08.2008 15:44

Цитата:
Самый простой способ - средствами командной строки:

Код:
$folder = "c:\test" ;Путь к папке которую нужно очистить

Run(@ComSpec & " /c cd /d " & $folder & " && rd /s /q " & $folder, @SystemDir, @SW_HIDE)


Спасибо)
Автор: ViSiToR
Дата сообщения: 15.08.2008 16:09
NIKZZZZ
По поводу MsgBox:


Код: #Include <GuiConstantsEx.au3>
#Include <ButtonConstants.au3>
#Include <WindowsConstants.au3>

$Title = "My Custom MsgBox"
$Prompt = "Are you sure?"
$CheckBoxText = "Don't show again"

$hWnd = WinGetHandle("")

$Ask = _GuiMsgBox(256+32, 2, $Title, $Prompt, 330, 120, $CheckBoxText, 10, $hWnd, "OK", "Cancel")

$CheckBitAnd = BitAND($Ask, 8)

$Var = "Pressed "

Select
Case
$Ask - $CheckBitAnd = 1
$Var &= "'OK'"
Case $Ask - $CheckBitAnd = 6
$Var &= "'Yes' or 'OK'"
Case $Ask - $CheckBitAnd = 7
$Var &= "'No' or 'Cancel'"
EndSelect

If
$CheckBitAnd = 8 Then $Var &= @LF & "And CheckBox <" & $CheckBoxText & "> was Checked"

MsgBox(64, "Message", "Returned values:" & @LF & @LF & $Var)

Func _GuiMsgBox($iIcoType,$iButt_Num,$sTitle,$sText,$iWidth,$iHeight,$sCB_Text=-1,$iTimer=-1,$hWnd=0,$sB1Text=-1,$sB2Text=-1,$nExStyle=-1)
Local $nYes_Button, $nNo_Button, $nOK_Button, $nCheckBox=-1, $hMsgBox_GUI, $iGuiHeight = $iHeight
Local $nStyle = BitOR($WS_CAPTION, $WS_POPUP)
Local $nMsg, $iReturnVal = 0
Local $nDefButton, $sDefButtonText = $sB1Text, $iCounter
Local $iMessageBeep = -1, $iIcon_Id = 102

Local $iOld_Opt_GOEM = Opt('GuiOnEventMode', 0)
Local $iOld_Opt_GCOE = Opt('GUICloseOnESC', 0)

If $iButt_Num = 1 Then $nStyle = BitOR($nStyle, $WS_SYSMENU)

If BitAND($iIcoType, 262144) Then
If
$nExStyle = -1 Or $nExStyle = Default Then $nExStyle = 0
$nExStyle = BitOR($nExStyle, $WS_EX_TOPMOST)
EndIf

If
$sCB_Text <> -1 Then $iGuiHeight += 25

If $sB1Text = -1 Then $sB1Text = 'OK'
If $sB2Text = -1 Then $sB2Text = 'Cancel'

If IsHWnd($hWnd) Then WinSetState($hWnd, "", @SW_DISABLE)

$hMsgBox_GUI = GUICreate($sTitle, $iWidth, $iGuiHeight, -1, -1, $nStyle, $nExStyle, $hWnd)

Select
Case
$iIcoType = 16 Or $iIcoType = 16 + 256
$iIcon_Id = 103
$iMessageBeep = 0x00000010
Case $iIcoType = 32 Or $iIcoType = 32 + 256
$iIcon_Id = 102
$iMessageBeep = 0x00000020
Case $iIcoType = 48 Or $iIcoType = 48 + 256
$iIcon_Id = 101
$iMessageBeep = 0x00000030
Case $iIcoType = 64 Or $iIcoType = 64 + 256
$iIcon_Id = 104
$iMessageBeep = 0x00000040
EndSelect

GUICtrlCreateIcon('user32.dll', $iIcon_Id, 10, 10)
GUICtrlCreateLabel($sText, 70, 15, $iWidth-80, $iHeight-50)

Select
Case
$iButt_Num = 2
$nYes_Button = GUICtrlCreateButton($sB1Text, ($iWidth/2)-90, $iHeight-35, 70, 20, $BS_DEFPUSHBUTTON)
$nDefButton = $nYes_Button

Local $iSecButtDeffStyle = 0
If BitAND($iIcoType, 256) Then $iSecButtDeffStyle = $BS_DEFPUSHBUTTON

$nNo_Button
= GUICtrlCreateButton($sB2Text, ($iWidth/2)+20, $iHeight-35, 70, 20, $iSecButtDeffStyle)
If BitAND($iIcoType, 256) Then $nDefButton = $nNo_Button
Case Else
$nOK_Button = GUICtrlCreateButton($sB1Text, ($iWidth-70)/2, $iHeight-35, 70, 20)
GUICtrlSetState($nOK_Button, $GUI_ONTOP)
$nDefButton = $nOK_Button
EndSelect

If
$sCB_Text <> -1 Then $nCheckBox = GUICtrlCreateCheckbox($sCB_Text, 15, $iHeight-10)

GUISetState(@SW_SHOW, $hMsgBox_GUI)
DllCall("user32.dll", "int", "MessageBeep", "int", $iMessageBeep)

If $iTimer > 0 Then
$iCounter = $iTimer
$iTimer
= TimerInit()
$sDefButtonText = GUICtrlRead($nDefButton)
GUICtrlSetData($nDefButton, $sDefButtonText & ' (' & $iCounter & ')')
EndIf

While
1
$nMsg = GUIGetMsg()

If $iTimer > 0 And TimerDiff($iTimer) >= 1000 Then
$iTimer = TimerInit()
$iCounter -= 1
GUICtrlSetData($nDefButton, $sDefButtonText & ' (' & $iCounter & ')')
If $iCounter < 0 Then $nMsg = $nDefButton
EndIf

Select
Case
$iButt_Num = 2 And $nMsg = $nYes_Button
$iReturnVal
= 6
ExitLoop
Case
$iButt_Num = 2 And $nMsg = $nNo_Button
$iReturnVal
= 7
ExitLoop
Case
$nMsg = -3 Or ($nMsg = $nOK_Button And $iButt_Num <> 2)
$iReturnVal = 1
ExitLoop
EndSelect
Wend

If
GUICtrlRead($nCheckBox) = 1 Then $iReturnVal += 8

If IsHWnd($hWnd) Then WinSetState($hWnd, "", @SW_ENABLE)
GUIDelete($hMsgBox_GUI)

If IsHWnd($hWnd) Then GUISwitch($hWnd)

Opt('GuiOnEventMode', $iOld_Opt_GOEM)
Opt('GUICloseOnESC', $iOld_Opt_GCOE)

Return $iReturnVal
EndFunc
Автор: Hackproof
Дата сообщения: 17.08.2008 12:43
На тему вызова функций из dll.
Я так понимаю, что большинство функций возвращают какое-то значение. А если часть кода вынести в функцию, которая будет в dll, и вызвать ее?
Просто пробовал написать dll-ку на VB, которая выдает msgbox, и вызвать ее из скрипта - не получилось.
Автор: hunter19
Дата сообщения: 17.08.2008 13:00
Здравствуйте всем! Подскажите как справиться с глюком: У меня есть 3 функции, на которые установлены горячие клавиши (HotKeySet), не понятно от чего при нажатии горячей клавиши вызывается нужная функция, но после того, как фукция отработала, следом за ней вызывается снова эта же функция или одна из тех двух. При нажатии других горячих клавиш, такой глюк не возникает.
Может я в коде что-то намудрил, что стал возникать такой глюк? И можно ли как-то исправить это?

[EDIT]
При вызове этих функций через функцию проверки нажатий клавиш (_IsPressed) такого глюка нету.

[EDIT]
Непонятно из-за чего, но глюк исчез
Видимо из-за того, что добавил пустые строки или удалил пробелы и табы.
[EDIT]
Короче меня этот глюк достал. Вместо HotKeySet буду использовать _IsPressed.
Автор: gal7
Дата сообщения: 18.08.2008 09:56
Подскажите, пожалуйста, как определяют цвет кнопок в частности и вообще всего в своей программе?
Автор: KChernov
Дата сообщения: 18.08.2008 10:25
А можно как-то из скрипта работать со свойствами файлов, связанными с содержимым?
Например у картинок получать их разрешение?..
Автор: Leony8
Дата сообщения: 18.08.2008 13:34
я это делаю с пом. nconvert.exe:

Код:
local $exedir = @ScriptDir & "\", $exec="nconvert.exe"

Func imgInfo ($Folder, $fName) ; из переданного функции unc-имени файла возвращает массив данных о нём
$out = "" ; обнуление данных по файлу
Dim $MassLine
$cline = $exedir & $exec & ' -info "' & $Folder & $fName & '"' ; добываем инфу
$cmdRun = Run(@ComSpec & ' /c ' & $cline, $exedir, @SW_HIDE, $STDOUT_CHILD)
While 1
$Out = $Out & StdoutRead($cmdRun) ; накапливаем данные по файлу
If @error Then ExitLoop
Wend
$MassLine = StringSplit($Out, @LF) ; разбиваем по концу строки на подстроки
return $MassLine
EndFunc
Автор: KChernov
Дата сообщения: 18.08.2008 13:42
Leony8
Спасибо, попробую
Автор: Maza Faka
Дата сообщения: 18.08.2008 15:40
hunter19

Цитата:
Короче меня этот глюк достал. Вместо HotKeySet буду использовать _IsPressed.

Покажи код.

gal7
Смотри в справке функции: PixelGetColor и _WinAPI_GetSysColor

Добавлено:
KChernov
Leony8

Цитата:
у картинок получать их разрешение?

Зачем прибегать к сторонним утилитам, когда можно решить задачу средствами AutoIt?

Код: #include <GDIPlus.au3>

Dim $sFile = @WindowsDir & "\Web\Wallpaper\Windows XP.jpg"

_GDIPlus_Startup()

$hImage = _GDIPlus_ImageLoadFromFile($sFile)

$sX = _GDIPlus_ImageGetWidth($hImage)
$sY = _GDIPlus_ImageGetHeight($hImage)

_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()

MsgBox(0, "Размер", "Ширина = " & $sX & @LF & _
"Высота = " & $sY)

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.