kann mir mal jemand helfen?
Ein Programm muss in einer Auflösung von 1280x1024 laufen, der
entsprechenden MItarbeiterin ist diese Auflösung jedoch generell zu klein.
Ist es möglich, bei dem Programmstart automatisch die Auflösung auf
1280x1024 abzuändern und nach Beendigung des Programmes diese wieder auf die
"normale" Einstellung zurück zusetzen?
Danke im voraus.
S. Meyer
Nicht mit WSH-Bordmitteln. Denkbar wäre was mit Sendkeys und der
Systemsteuerung zu machen. Oder das betreffende Tool aus den PowerToys per
WSH mittels der Run-Methode aufzurufen, um die Auflösung anzupassen. Suche
man in dieser Newsgroup (ggf. über google). Das Thema Bildschirmauflösung
ist mehrfach diskutiert worden und es gab immer eine Not-Lösung.
Die Alternative wäre, so was mittels eines ActiveX-Controls zu machen und
dieses per WSH aufzurufen. Ein entsprechendes Modul habe ich bei Blackbeltvb
(http://blackbeltvb.com/index.htm?free/changrez.htm) gesehen. Passe Dir den
Code an und übersetz das Zeugs mit VB 5 CCE. Die Alternative wäre, das Ganze
in VB.NET zu realisieren - lässt sich alles mit dem kostenlosen
.NET-Framework SDK erledigen und erzeugt eine Exe-Datei. Vorteil: In VB.NET
lässt sich direkt auf die WIN-APIs zugreifen.
Bei Windows XP kommt das Betriebssystem mit einem entsprechenden Feature
(Kompatibilitätsassistent), bei dem Anwendungen die Bildschirmparameter
setzen können.
>
> Danke im voraus.
>
> S. Meyer
>
>
Ich hoffe, es hilft weiter.
G. Born
--
We are writing for Microsoft Press,
Pearson Education, Markt + Technik,
Axel Springer Press, SuSE Press,
Galileo and more ...
Check out www.borncity.com
mit reg-Einträgen machbar
Die entsprechenden Keys sind (Angaben für Win98SE)
in der Registry unter:
[HKEY_LOCAL_MACHINE\Config\0001\Display\Settings]
"Resolution"="1280,1024"
[HKEY_LOCAL_MACHINE\Config\0001\Display\Settings]
"Resolution"="1024,768"
wobei die Config-Nummer (0001) sicherlich systemspezifisch ist
möglicherweise auch der ganze Pfad.
Als Skriptlösung funktioniert bei mir
(Wechsel 1024x768 <-> 800x600) nachfolgendes:
mfg
Christoph
''' - ScreenResChange.vbs -
Const sKeyDisplayRes = "HKLM\Config\0001\Display\Settings\Resolution"
sValHigh = "1024,768"
sValLow = "800,600"
sMsg = "Auflösung ändern:" & vbcr & vbCr & """1024,768""" & _
vbTab & vbTab & """JA""" & vbCr & """800,600""" & vbTab & _
vbTab & """NEIN""" & vbCr & "Keine Änderung:" & vbTab & _
vbTab & """Abbrechen""" & vbCr
Select Case MsgBox (sMsg,32+3+512,sTil)
Case vbNo sVal = sValLow
Case vbYes sVal = sValHigh
Case vbCancel Wscript.quit
End Select
Set oWsh = Wscript.CreateObject ("Wscript.Shell")
oWsh.RegWrite sKeyDisplayRes,sVal
sMsg = "Zur Aktivierung der Änderung müssen Sie sich neuanmelden" & _
vbCr & vbCr & "Jetzt neuanmelden?"
If MsgBox (sMsg,32+4,sTil)= vbNo Then Wscript.quit
oWsh.Run "Rundll32.exe Shell32.Dll,SHExitWindowsEx 0"