|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36560 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата TERMINAL:
![]() |
|
Отправлено: 12:57, 14-04-2008 | #441 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать amel27, у меня просто времени нет в чужих трудах копаться
![]() |
------- Отправлено: 14:01, 14-04-2008 | #442 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:45, 15-04-2008 | #443 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать amel27
Только ты можешь помочь! ![]() Пытаюсь сменить разрешение экрана, но безуспешно ![]() Global Const $CDS_TEST = 0x00000002 Global Const $CCDEVICENAME = 32 Global Const $CCFORMNAME = 32 Global Const $DM_PELSWIDTH = 0x80000 Global Const $DM_PELSHEIGHT = 0x100000 Global Const $DM_BITSPERPEL = 0x40000 Global Const $WM_DISPLAYCHANGE = 0x007E Global Const $HWND_BROADCAST = 0xFFFF Global Const $SPI_SETNONCLIENTMETRICS = 0x2A Global Const $DM_DISPLAYFLAGS = 0x200000 $DEVMODE = DllStructCreate("char dmDeviceName[255];ushort dmSpecVersion;ushort dmDriverVersion;ushort dmSize;" & _ "ushort dmDriverExtra;dword dmFields;int dmOrientation;int dmPaperSize;int dmPaperLength;" & _ "int dmPaperWidth;int dmScale;int dmCopies;int dmDefaultSource;int dmPrintQuality;" & _ "int dmColor;int dmDuplex;int dmYResolution;int dmTTOption;int dmCollate;char dmFormName[255];" & _ "int dmUnusedPadding;int dmBitsPerPel;int dmPelsWidth;int dmPelsHeight;dword dmDisplayFlags;" & _ "dword dmDisplayFrequency") DllStructSetData($DEVMODE, "dmDeviceName", $CCDEVICENAME) DllStructSetData($DEVMODE, "dmFormName", $CCFORMNAME) DllStructSetData($DEVMODE, "dmPelsWidth", 800) DllStructSetData($DEVMODE, "dmPelsHeight", 600) DllStructSetData($DEVMODE, "dmBitsPerPel", 16) DllStructSetData($DEVMODE, "dmDisplayFrequency", 60) DllStructSetData($DEVMODE, "dmSize", DllStructGetSize($DEVMODE)) DllStructSetData($DEVMODE, "dmFields", BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL)) $DllRet = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_TEST) ConsoleWrite("DllRet = " & $DllRet[0] & @LF) DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _ "int", $SPI_SETNONCLIENTMETRICS, "int", 0) |
------- Отправлено: 16:49, 16-04-2008 | #444 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
![]() $iWidth = 1024 $iHeight = 768 $iBitsPP = 32 $iRefreshRate = 85 $vRes = _ChangeScreenRes($iWidth, $iHeight, $iBitsPP, $iRefreshRate) If @error Then MsgBox(262160, "ERROR", "Unable to change screen - check parameters") EndIf ;=============================================================================== ; ; Function Name: _ChangeScreenRes() ; Description: Changes the current screen geometry, colour and refresh rate. ; Version: 1.0.0.1 ; Parameter(s): $i_Width - Width of the desktop screen in pixels. (horizontal resolution) ; $i_Height - Height of the desktop screen in pixels. (vertical resolution) ; $i_BitsPP - Depth of the desktop screen in bits per pixel. ; $i_RefreshRate - Refresh rate of the desktop screen in hertz. ; Requirement(s): AutoIt Beta > 3.1 ; Return Value(s): On Success - Screen is adjusted, @ERROR = 0 ; On Failure - sets @ERROR = 1 ; Forum(s): http://www.autoitscript.com/forum/index.php?showtopic=20121 ; Author(s): Original code - psandu.ro ; Modifications - PartyPooper ; ;=============================================================================== Func _ChangeScreenRes($i_Width=@DesktopWidth, $i_Height=@DesktopHeight, $i_BitsPP=@DesktopDepth, $i_RefreshRate=@DesktopRefresh) Local Const $DM_PELSWIDTH = 0x00080000 Local Const $DM_PELSHEIGHT = 0x00100000 Local Const $DM_BITSPERPEL = 0x00040000 Local Const $DM_DISPLAYFREQUENCY = 0x00400000 Local Const $CDS_TEST = 0x00000002 Local Const $CDS_UPDATEREGISTRY = 0x00000001 Local Const $DISP_CHANGE_RESTART = 1 Local Const $DISP_CHANGE_SUCCESSFUL = 0 Local Const $HWND_BROADCAST = 0xffff Local Const $WM_DISPLAYCHANGE = 0x007E If $i_Width = "" Or $i_Width = -1 Then $i_Width = @DesktopWidth ; default to current setting If $i_Height = "" Or $i_Height = -1 Then $i_Height = @DesktopHeight ; default to current setting If $i_BitsPP = "" Or $i_BitsPP = -1 Then $i_BitsPP = @DesktopDepth ; default to current setting If $i_RefreshRate = "" Or $i_RefreshRate = -1 Then $i_RefreshRate = @DesktopRefresh ; default to current setting Local $stDEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]") Local $aEnumDisplay = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", 0, _ "ptr", DllStructGetPtr($stDEVMODE)) If @error Then Return SetError(1, 0, 0) If $aEnumDisplay[0] <> 0 Then DllStructSetData($stDEVMODE, 2, BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY), 5) DllStructSetData($stDEVMODE, 4, $i_Width, 2) DllStructSetData($stDEVMODE, 4, $i_Height, 3) DllStructSetData($stDEVMODE, 4, $i_BitsPP, 1) DllStructSetData($stDEVMODE, 4, $i_RefreshRate, 5) $aEnumDisplay = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($stDEVMODE), "int", $CDS_TEST) If @error Then $aEnumDisplay = -1 Else $aEnumDisplay = $aEnumDisplay[0] EndIf Select Case $aEnumDisplay = $DISP_CHANGE_RESTART $stDEVMODE = "" Return 2 Case $aEnumDisplay = $DISP_CHANGE_SUCCESSFUL DllCall("user32.dll", "int", "ChangeDisplaySettings", _ "ptr", DllStructGetPtr($stDEVMODE), "int", $CDS_UPDATEREGISTRY) DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _ "int", $i_BitsPP, "int", $i_Height * 2 ^ 16 + $i_Width) $stDEVMODE = "" Return 1 Case Else $stDEVMODE = "" Return SetError(1, 0, $aEnumDisplay) EndSelect EndIf EndFunc ;==>_ChangeScreenRes |
|
------- Отправлено: 17:45, 16-04-2008 | #445 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата Creat0R:
![]() ![]() |
|
------- Отправлено: 18:03, 16-04-2008 | #446 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Maza Faka
Цитата:
Цитата:
|
||
Отправлено: 05:03, 18-04-2008 | #447 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать amel27
Спасибо за информацию, как я уже тебе писал (в личку), всё дело именно в чекбоксе, а снять его несложно через реестр. ![]() Спасибо ещё раз ![]() |
------- Отправлено: 07:27, 18-04-2008 | #448 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
![]() |
|
------- Отправлено: 09:00, 18-04-2008 | #449 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата Creat0R:
![]() _ScreenSetting(800, 600, 32, 85) Func _ScreenSetting($iWidth = @DesktopWidth, $iHeight = @DesktopHeight, $iDepth = @DesktopDepth, $iRefresh = @DesktopRefresh) Local Const $DISP_CHANGE_SUCCESSFUL = 0 Local Const $DISP_CHANGE_RESTART = 1 Local Const $DISP_CHANGE_FAILED = -1 Local Const $DISP_CHANGE_BADMODE = -2 Local Const $DISP_CHANGE_NOTUPDATED = -3 Local Const $DISP_CHANGE_BADFLAGS = -4 Local Const $DISP_CHANGE_BADPARAM = -5 Local Const $CDS_TEST = 0x4 Local Const $CDS_UPDATEREGISTRY = 0x1 Local Const $DM_PELSWIDTH = 0x80000 Local Const $DM_PELSHEIGHT = 0x100000 Local Const $DM_BITSPERPEL = 0x40000 Local Const $DM_DISPLAYFREQUENCY = 0x400000 Local Const $ENUM_CURRENT_SETTINGS = -1 Local Const $WM_DISPLAYCHANGE = 0x007E Local Const $HWND_BROADCAST = 0xFFFF Local Const $SPI_SETNONCLIENTMETRICS = 0x2A Local $DEVMODE, $DllRet $DEVMODE = DllStructCreate("char dmDeviceName[32];ushort dmSpecVersion;ushort dmDriverVersion;short dmSize;" & _ "ushort dmDriverExtra;dword dmFields;short dmOrientation;short dmPaperSize;short dmPaperLength;" & _ "short dmPaperWidth;short dmScale;short dmCopies;short dmDefaultSource;short dmPrintQuality;" & _ "short dmColor;short dmDuplex;short dmYResolution;short dmTTOption;short dmCollate;" & _ "byte dmFormName[32];dword dmBitsPerPel;int dmPelsWidth;dword dmPelsHeight;" & _ "dword dmDisplayFlags;dword dmDisplayFrequency") $DllRet = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "dword", $ENUM_CURRENT_SETTINGS, _ "ptr", DllStructGetPtr($DEVMODE)) $DllRet = $DllRet[0] If $DllRet = 0 Then MsgBox(16, "Error", "Unable to get graphic mode") Return False EndIf $VGA_MAP_KEY = RegRead("HKLM\HARDWARE\DEVICEMAP\VIDEO", "\Device\Video0") $VGA_KEY = StringReplace($VGA_MAP_KEY, "\Registry\Machine", "HKLM") RegWrite($VGA_KEY, "PruningMode", "REG_DWORD", 0) DllStructSetData($DEVMODE, "dmSize", DllStructGetSize($DEVMODE)) DllStructSetData($DEVMODE, "dmPelsWidth", $iWidth) DllStructSetData($DEVMODE, "dmPelsHeight", $iHeight) DllStructSetData($DEVMODE, "dmBitsPerPel", $iDepth) DllStructSetData($DEVMODE, "dmDisplayFrequency", $iRefresh) DllStructSetData($DEVMODE, "dmFields", BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY)) $DllRet = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_TEST) $DllRet = $DllRet[0] If $DllRet <> $DISP_CHANGE_SUCCESSFUL Then Switch $DllRet Case $DISP_CHANGE_RESTART MsgBox(48, "Warning", "Restart your computer for change display settings") Case $DISP_CHANGE_FAILED MsgBox(16, "Error", "The video driver not set a new mode") Return False Case $DISP_CHANGE_BADMODE MsgBox(16, "Error", "Video mode not supported") Return False Case $DISP_CHANGE_NOTUPDATED MsgBox(16, "Error", "Unable to write in registry") Return False Case $DISP_CHANGE_BADFLAGS MsgBox(16, "Error", "Bad flags") Return False Case $DISP_CHANGE_BADPARAM MsgBox(16, "Error", "Bad parameters") Return False EndSwitch EndIf $DllRet = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_UPDATEREGISTRY) $DllRet = $DllRet[0] DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _ "int", $SPI_SETNONCLIENTMETRICS, "int", 0) RegWrite($VGA_KEY, "PruningMode", "REG_DWORD", 1) $DEVMODE = "" $DllRet = "" EndFunc 2 All! Пожалуйста протестируйте кому не лень. ![]() |
|
------- Отправлено: 18:48, 18-04-2008 | #450 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 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 |
|