You last visited: Today at 18:59
Advertisement
Bildschirmgröße des benutzers anpassen?
Discussion on Bildschirmgröße des benutzers anpassen? within the AutoIt forum part of the Coders Den category.
04/26/2010, 22:20
#1
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Bildschirmgröße des benutzers anpassen?
Hallo, ich suche eine möglichkeit die Bildschirmgröße mit AutoIt zu ändern.
Das passiert ja auch bei spielen^^
Also ich meine wenn ich das Programm starte, dass der Bildschirm sich einer bestimmten größe anpasst, die ICH^^ im programm eingegeben habe.
Bitte helft mir
MfG WiiZocker
04/26/2010, 22:33
#2
elite*gold: 77
Join Date: May 2008
Posts: 5,428
Received Thanks: 5,876
Quote:
Originally Posted by
WiiZocker
Hallo, ich suche eine möglichkeit die Bildschirmgröße mit AutoIt zu ändern.
Das passiert ja auch bei spielen^^
Also ich meine wenn ich das Programm starte, dass der Bildschirm sich einer bestimmten größe anpasst, die ICH^^ im programm eingegeben habe.
Bitte helft mir
MfG WiiZocker
PHP Code:
#include-once
;===============================================================================
;
; 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 $DEVMODE = DllStructCreate ( "byte[32];int[10];byte[32];int[6]" )
Local $B = DllCall ( "user32.dll" , "int" , "EnumDisplaySettings" , "ptr" , 0 , "long" , 0 , "ptr" , DllStructGetPtr ( $DEVMODE ))
If @ error Then
$B = 0
SetError ( 1 )
Return $B
Else
$B = $B [ 0 ]
EndIf
If $B <> 0 Then
DllStructSetData ( $DEVMODE , 2 , BitOR ( $DM_PELSWIDTH , $DM_PELSHEIGHT , $DM_BITSPERPEL , $DM_DISPLAYFREQUENCY ), 5 )
DllStructSetData ( $DEVMODE , 4 , $i_Width , 2 )
DllStructSetData ( $DEVMODE , 4 , $i_Height , 3 )
DllStructSetData ( $DEVMODE , 4 , $i_BitsPP , 1 )
DllStructSetData ( $DEVMODE , 4 , $i_RefreshRate , 5 )
$B = DllCall ( "user32.dll" , "int" , "ChangeDisplaySettings" , "ptr" , DllStructGetPtr ( $DEVMODE ), "int" , $CDS_TEST )
If @ error Then
$B = - 1
Else
$B = $B [ 0 ]
EndIf
Select
Case $B = $DISP_CHANGE_RESTART
$DEVMODE = ""
Return 2
Case $B = $DISP_CHANGE_SUCCESSFUL
DllCall ( "user32.dll" , "int" , "ChangeDisplaySettings" , "ptr" , DllStructGetPtr ( $DEVMODE ), "int" , $CDS_UPDATEREGISTRY )
DllCall ( "user32.dll" , "int" , "SendMessage" , "hwnd" , $HWND_BROADCAST , "int" , $WM_DISPLAYCHANGE , _
"int" , $i_BitsPP , "int" , $i_Height * 2 ^ 16 + $i_Width )
$DEVMODE = ""
Return 1
Case Else
$DEVMODE = ""
SetError ( 1 )
Return $B
EndSelect
EndIf
EndFunc ;==> _ChangeScreenRes
Sollte damit gehen ...
04/26/2010, 23:03
#3
elite*gold: 0
Join Date: Oct 2009
Posts: 83
Received Thanks: 12
Shadow ich mag dich nich >.< xD
ich hab jetz 1 1/2 stunden gesucht ob ich eine lösung für das problem finde >.< jetzt nach geschätzt 1 stunde allein googeln bin ich auf das ergebnis gestoßen.. freu mich schon, dass ich jmd helfen kann aktuallisier den thread hier und was ist? >.< du bist mir zuvor gekommen... nicht das erste mal
bei deinem script fehlt halt noch die letzte (n zwei) Zeile(n)
PHP Code:
; _ChangeScreenRes ( [ Width [, Height [, BitsPerPixel [, RefreshRate ]]]] ) _ChangeScreenRes ( 800 , 600 )
in der 1. Zeile wird nur beschrieben welche werte du einsetzen musst
du kannst es natürlich auch so machen:
PHP Code:
global $width = inputbox ( "breite" , "Bitte gib die gewünschte Breite ein" ) global $height = inputbox ( "Höhe" , "Bitte gib die gewünschte höhe ein" ) _ChangeScreenRes ( $width , $height )
oder das ganze in eine Inputbox einpacken. Was das angeht kann man dann aber unendlich viel wieder rumbasteln, oder einfach statt 800 und 600 im oberen beispiel deine breite und höhe einsetzen, wenn eine im vornherein festgelegte Auflösung verwendet werden soll.
Vg, Proff
04/27/2010, 14:56
#4
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Bin etwas iritiert welche lösung soll ich nehmen ist ja beides das gleiche o.O
Am besten ich probiere beide aus.Ihr bekommt ein THX vorallem Shadow992 weil er sooo viel schreibt nur um zu antworten xD
Edit: gehen beide nicht )= *traurig*
Muss ich ein include machen oder so?
04/27/2010, 14:58
#5
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
Er hat den Code nicht selber geschrieben
Trotzdem thx auch von mir, weil es echt nützlich ist.
04/27/2010, 15:27
#6
elite*gold: 77
Join Date: May 2008
Posts: 5,428
Received Thanks: 5,876
Quote:
Originally Posted by
WiiZocker
Bin etwas iritiert welche lösung soll ich nehmen ist ja beides das gleiche o.O
Am besten ich probiere beide aus.Ihr bekommt ein THX vorallem Shadow992 weil er sooo viel schreibt nur um zu antworten xD
Edit: gehen beide nicht )= *traurig*
Muss ich ein include machen oder so?
Ich habe es nicht probiert , komisch dass es nicht geht ...
Btw. wie kommst du darauf , dass der Code von mir ist ?
Code:
;===============================================================================
;
; 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
; [COLOR="Red"]Forum(s): http://www.autoitscript.com/forum/index.php?showtopic=20121
; Author(s): Original code - psandu.ro
; Modifications - PartyPooper[/COLOR]
;
;===============================================================================
04/27/2010, 15:33
#7
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Quote:
Btw. wie kommst du darauf , dass der Code von mir ist ?
^^war mal so ne SCHRECK~REAKTION xD
Also mit der auflösung die im skript angegeben ist klappt's aber wenn ich das ändere so wie ich es möchte sagt der immer:
Unable to change screen - check parameters
So ich glaue ich weiß wie ich das problem löse nur was ist
Das es eine Variable ist weiß ich ist ja klar xD
Aber was ist RefreshRate?
04/27/2010, 15:57
#8
elite*gold: 77
Join Date: May 2008
Posts: 5,428
Received Thanks: 5,876
Quote:
Originally Posted by
WiiZocker
^^war mal so ne SCHRECK~REAKTION xD
Also mit der auflösung die im skript angegeben ist klappt's aber wenn ich das ändere so wie ich es möchte sagt der immer:
Unable to change screen - check parameters
So ich glaue ich weiß wie ich das problem löse nur was ist
Das es eine Variable ist weiß ich ist ja klar xD
Aber was ist RefreshRate?
Naja ist eben die Refresh Rate ...
von 40-60 Hz glaub ich ..
04/27/2010, 16:06
#9
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
mal gucken, ich habe ja 60 Hz^^
Code:
$iWidth = 1400
$iHeight = 900
$iBitsPP = 32
$iRefreshRate = 60
Ist da was falsch?
Oder könntest du mal testen ob dein bild sich verändert???
Code:
;===============================================================================
;
; 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
;
;===============================================================================
$iWidth = 1400
$iHeight = 900
$iBitsPP = 32
$iRefreshRate = 60
$vRes = _ChangeScreenRes($iWidth, $iHeight, $iBitsPP, $iRefreshRate)
If @error Then
MsgBox(262160, "ERROR", "Unable to change screen - check parameters")
EndIf
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 $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", 0, "ptr", DllStructGetPtr($DEVMODE))
If @error Then
$B = 0
SetError(1)
Return $B
Else
$B = $B[0]
EndIf
If $B <> 0 Then
DllStructSetData($DEVMODE, 2, BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY), 5)
DllStructSetData($DEVMODE, 4, $i_Width, 2)
DllStructSetData($DEVMODE, 4, $i_Height, 3)
DllStructSetData($DEVMODE, 4, $i_BitsPP, 1)
DllStructSetData($DEVMODE, 4, $i_RefreshRate, 5)
$B = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_TEST)
If @error Then
$B = -1
Else
$B = $B[0]
EndIf
Select
Case $B = $DISP_CHANGE_RESTART
$DEVMODE = ""
Return 2
Case $B = $DISP_CHANGE_SUCCESSFUL
DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_UPDATEREGISTRY)
DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _
"int", $i_BitsPP, "int", $i_Height * 2 ^ 16 + $i_Width)
$DEVMODE = ""
Return 1
Case Else
$DEVMODE = ""
SetError(1)
Return $B
EndSelect
EndIf
EndFunc ;==>_ChangeScreenRes
04/27/2010, 17:15
#10
elite*gold: 0
Join Date: Oct 2009
Posts: 83
Received Thanks: 12
so hab mir das script nochmal angeschaut.
schreibt folgende zeile nicht einfach einen wert in $vRes? (was weiß ich welchen
)
Ersetze die folgende Zeile:
PHP Code:
$vRes = _ChangeScreenRes ( $iWidth , $iHeight , $iBitsPP , $iRefreshRate )
mal durch ein schlichtes
PHP Code:
_ChangeScreenRes ( $newwidth , $newheight )
$newwidth und $newheight deklarierst du entweder drüber einfach oder du setzt dafür einfach einen wert ein.
mögliche Auflösungen stellt er dann ein, bei nicht möglichen gibt er dann den fehler wieder aus.
ich hoffe dann funktionierts
Vg, Proff
04/27/2010, 17:50
#11
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
thx teste es gleich^^
04/27/2010, 19:22
#12
elite*gold: 77
Join Date: May 2008
Posts: 5,428
Received Thanks: 5,876
Quote:
Originally Posted by
Proffni
so hab mir das script nochmal angeschaut.
schreibt folgende zeile nicht einfach einen wert in $vRes? (was weiß ich welchen
)
Ersetze die folgende Zeile:
PHP Code:
$vRes = _ChangeScreenRes ( $iWidth , $iHeight , $iBitsPP , $iRefreshRate )
mal durch ein schlichtes
PHP Code:
_ChangeScreenRes ( $newwidth , $newheight )
$newwidth und $newheight deklarierst du entweder drüber einfach oder du setzt dafür einfach einen wert ein.
mögliche Auflösungen stellt er dann ein, bei nicht möglichen gibt er dann den fehler wieder aus.
ich hoffe dann funktionierts
Vg, Proff
Das wird so sicher nicht funktionieren , da die Funktion 4 Parameter erwartet und nicht 2 --> Error
04/27/2010, 20:08
#13
elite*gold: 0
Join Date: Oct 2009
Posts: 83
Received Thanks: 12
Quote:
Originally Posted by
Shadow992
Das wird so sicher nicht funktionieren , da die Funktion 4 Parameter erwartet und nicht 2 --> Error
also bei mir gibts da keinen error und es funktioniert alles...
aber im zweifelsfall kann man das doch dann auch so machen:
PHP Code:
$newwidth = 1280
$newheight = 1024
$BitsPP =@ DesktopDepth
$Refreshrate =@ DesktopRefresh
_ChangeScreenRes ( $newwidth , $newheight , $BitsPP , $Refreshrate )
die newwidth und newheight dann halt entsprechend anpassen
Vg, Proff
04/27/2010, 20:43
#14
elite*gold: 77
Join Date: May 2008
Posts: 5,428
Received Thanks: 5,876
Quote:
Originally Posted by
Proffni
also bei mir gibts da keinen error und es funktioniert alles...
aber im zweifelsfall kann man das doch dann auch so machen:
PHP Code:
$newwidth = 1280
$newheight = 1024
$BitsPP =@ DesktopDepth
$Refreshrate =@ DesktopRefresh
_ChangeScreenRes ( $newwidth , $newheight , $BitsPP , $Refreshrate )
die newwidth und newheight dann halt entsprechend anpassen
Vg, Proff
Oh stimmt sorry , hab nicht richtig hingeschaut
Du hattest Recht ...
04/27/2010, 20:52
#15
elite*gold: 0
Join Date: Oct 2009
Posts: 83
Received Thanks: 12
yoa in der funktion hat der ja quasi schon default werte definiert, in diesem fall halt die alten werte.
Vg, proff
Similar Threads
HELP pls kann bildschirmgröße des Mt2-Fenster net ändern!!!
08/23/2010 - Metin2 - 4 Replies
^^^^^^^^^^^^^^^^^^^^^
Sagt alles!
Yangrate anpassen
06/28/2010 - Metin2 Private Server - 4 Replies
Hey,
Ich habe ein problem, ich möchte meine Yangrates anpassen, da sie sehr hoch sind, (navicat) doch ich habe keine Lust bei jeden Mob in navicat 2 0en zu entfernen, gibt es da eine schnellere möglichkeit?
greetz.
Template Anpassen.
05/14/2010 - Trading - 0 Replies
Hey Leute , ich habe eine bitte an euch , kann hier villeicht jemand Templates an Webspell anpassen?:) , würde auch etwas zahlen aber halt nicht zu viel.Könnt mich ja sonst per Icq : 624-808-432
Msn : [email protected] kontacktieren.
dll. anpassen
05/23/2009 - Kal Online - 0 Replies
hi liebe elitepvper´s
ich habe folgende frage:
ist es möglich eine dll. an meinem system (hardware) anzupassen???
wenn ich z.b. den attackhack von kalhacker9000 benutze bekomme ich immer engine.exe fehler, doch mit dem attackhack von meak1 jedoch nicht.
ist es möglich für ein anfänger eine dll an meinem system anzupassen???
wenn ja mit welchen programm und wie geh ich am besten vor???
ich versuche das schon seit tagen..
Helme anpassen
08/02/2007 - World of Warcraft - 2 Replies
sers, hab per sufu leider nix hierzu gefunden.
habe atm meinen ud -> n811 gechanget aber leider sitzt da der helm nicht ganz wie er sollte :rolleyes:
also wollte mal fragen ob es irgendswo nen kleinen guide gibt um die helme an gechangten models anzupassen oder ob es mal jemand erklären kann?
wäre super doll
Mfg
All times are GMT +2. The time now is 18:59 .