|
You last visited: Today at 12:35
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,430
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 ![Big Grin](images/smilies/biggrin.gif)
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,430
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,430
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 ![Big Grin](images/smilies/biggrin.gif) )
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,430
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 ![Big Grin](images/smilies/biggrin.gif) )
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,430
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 ![Wink](images/smilies/wink.gif)
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
|
|
|
![Reply](images/elitepvpers/buttons/reply.gif) |
|
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 12:35.
|
|