vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
hmmmmmmmmmmmmm 
Autor: Snow
Datum: 05.01.02 22:27

Hallo,

wie kann ich die Bildschirmeinstellung so ändern, das sie nach einen Neustart erhalten bleibt?

*** SNOW
***

Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Const DM_BITSPERPEL = &H40000
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const CDS_UPDATEREGISTRY = &H1
Const CDS_TEST = &H4
Const DISP_CHANGE_SUCCESSFUL = 0
Const DISP_CHANGE_RESTART = 1
Const ENUM_CURRENT_SETTINGS = &HFFFF - 1

Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type

Private Dev As DEVMODE
Private MergeSCREENX As Integer
Private MergeSCREENY As Integer

Private Const SCREENWIDTH As Integer = 1024
Private Const SCREENHEIGHT As Integer = 768

'Diese Prozedur wird automatisch ausgeführt, wenn die
'Anwendung gestartet wird ....
Sub main()
Dim jn As Variant

' Application.Visible = False

EnumDisplaySettings 0&, ENUM_CURRENT_SETTINGS, Dev

If Dev.dmPelsWidth <> SCREENWIDTH Then
jn = MsgBox("Das vorliegende Programm wurde für eine " & _
"Bildschirmauflösung von 1024 x 768 Punkten optimiert. " & _
"Ihre gegenwärtige Bildschirmauflösung ist jedoch kleiner. " & _
String(2, vbCrLf) & _
"Bitte vergewissern Sie sich, ob Ihre Hardware, insbesondere " & _
"Ihr Monitor mit dieser Auflösung arbeiten kann. Bestätigen Sie " & _
"mit JA, wenn dies der Fall ist und NEIN wenn Sie sich nicht " & _
"Sicher sind oder Ihr Monitor diese Auflösung nicht verarbeiten kann. " & _
String(2, vbCrLf) & _
"Sollten Sie fortfahren, wird für evtl. Schäden an der Hardware keine " & _
"Haftung übernommen!", _
vbQuestion + vbYesNo, "W A R N H I N W E I S")

If jn = vbNo Then
' Application.Visible = True
Exit Sub
Else
jn = MsgBox("Soll die Auflösung wirklich geändert werden?", _
vbExclamation + vbYesNo, "Auflösung wird geändert")
If jn = vbNo Then
'Application.Visible = True
Exit Sub
End If

End If

End If

MergeSCREENX = Dev.dmPelsWidth
MergeSCREENY = Dev.dmPelsHeight

If Dev.dmPelsWidth <> SCREENWIDTH Then
SetScreen SCREENWIDTH, SCREENHEIGHT

End If

'Hier in das Programm einspringen
Form1.Show
End Sub

Private Sub Auto_Close()
'Evtl. alte Bildschirmauflösung wieder herstellen

If Dev.dmPelsWidth <> MergeSCREENX Then
SetScreen MergeSCREENX, MergeSCREENY
End If
End Sub

Private Sub SetScreen(ByVal x&, ByVal y&)
Dim neustart As Variant
Dim Result&

Dev.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
Dev.dmPelsWidth = x
Dev.dmPelsHeight = y

Result = ChangeDisplaySettings(Dev, CDS_TEST)
'ChangeDisplay
Dim jn As Variant

'Neustart

neustart = MsgBox("Das System muß nun aktualisiert werden. Möchten Sie das System neustarten?", 4, " Neustart")
If neustart = vbNo Then End

RebootSystem EvWX_REBOOT


End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
hmmmmmmmmmmmmm52Snow05.01.02 22:27
Re: hmmmmmmmmmmmmm213ModeratorDieter06.01.02 09:24
Re: hmmmmmmmmmmmmm29Snow06.01.02 12:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel