; Вытаскиваем разрешение экрана из потока данных $rnim = Run('DumpEDID.exe', @TempDir, @SW_HIDE, 2) $param='' While 1 $param &= StdoutRead($rnim) If @error Then ExitLoop Wend $resize = StringRegExpReplace($param, '(?s)(.*Maximum Resolution.*?)(\d{3,}) X (\d{3,}).*', '\2|\3') If $resize='' Or @Extended=0 Or StringInStr ($resize, @CRLF) Then $resize = StringRegExpReplace($param, '(?s)(.*\r\nImage Size.*?)(\d{2,}\S* X \d{2,}\S*).*', '\2') If $resize='' Or @Extended=0 Or StringInStr ($resize, @CRLF) Then Exit ; выход из скрипта если данные не получены Switch $resize Case '22.0 X 12.9' ; пример как добавить дополнительную интерпретацию, скопировав две строки и указав данные. Добавлять можно сколько угодно. $resize='1024|600' Case '22.0 X 13.0' $resize='1024|600' Case '22.2 X 13.0' $resize='1024|600' Case '22.3 X 12.5' $resize='1024|600' Case '26.1 X 16.3' $resize='1280|800' Case Else Exit EndSwitch EndIf $aResize=StringSplit($resize, '|') ; If MsgBox(4, 'Установка разрешения', 'Установить разрешение экрана'&@CRLF&@CRLF&$aResize[1]&' x '&$aResize[2]&' ?' )= "6" Then Run('qres.exe /x '&$aResize[1]&' /y '&$aResize[2]&' /c:32 /r:60', @SystemDir, @SW_HIDE) Exit ; EndIf