Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 12:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Bildschirmgröße des benutzers anpassen?

Discussion on Bildschirmgröße des benutzers anpassen? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Question 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
WiiZocker is offline  
Old 04/26/2010, 22:33   #2
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by WiiZocker View Post
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 geometrycolour 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
($DEVMODE2BitOR($DM_PELSWIDTH$DM_PELSHEIGHT$DM_BITSPERPEL$DM_DISPLAYFREQUENCY), 5)
        
DllStructSetData($DEVMODE4$i_Width2)
        
DllStructSetData($DEVMODE4$i_Height3)
        
DllStructSetData($DEVMODE4$i_BitsPP1)
        
DllStructSetData($DEVMODE4$i_RefreshRate5)
        
$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 16 $i_Width)
                
$DEVMODE ""
                
Return 1
            
Case Else
                
$DEVMODE ""
                
SetError(1)
                Return 
$B
        EndSelect
    
EndIf
EndFunc ;==>_ChangeScreenRes 
Sollte damit gehen ...
Shadow992 is offline  
Thanks
4 Users
Old 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(800600
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
Proffni is offline  
Thanks
1 User
Old 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?
WiiZocker is offline  
Old 04/27/2010, 14:58   #5
 
HardCore.1337's Avatar
 
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.
HardCore.1337 is offline  
Old 04/27/2010, 15:27   #6
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by WiiZocker View Post
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]
;
;===============================================================================
Shadow992 is offline  
Thanks
1 User
Old 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

Code:
$iRefreshRate
Das es eine Variable ist weiß ich ist ja klar xD
Aber was ist RefreshRate?
WiiZocker is offline  
Old 04/27/2010, 15:57   #8
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by WiiZocker View Post
^^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

Code:
$iRefreshRate
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 ..
Shadow992 is offline  
Old 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
WiiZocker is offline  
Old 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
Proffni is offline  
Old 04/27/2010, 17:50   #11
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
thx teste es gleich^^
WiiZocker is offline  
Old 04/27/2010, 19:22   #12
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by Proffni View Post
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
Shadow992 is offline  
Old 04/27/2010, 20:08   #13
 
elite*gold: 0
Join Date: Oct 2009
Posts: 83
Received Thanks: 12
Quote:
Originally Posted by Shadow992 View Post
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
Proffni is offline  
Old 04/27/2010, 20:43   #14
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by Proffni View Post
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 ...
Shadow992 is offline  
Old 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
Proffni is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.