Roxar 0 Geschrieben 11. Dezember 2014 Melden Teilen Geschrieben 11. Dezember 2014 Heyo, Also mal die Geschichte zu meinem "Programm" Ich habe es geschrieben um die Grundinstallation von Rechnern in meinem Betrieb zu beschleunigen. Es stellt ein paar Kleinigkeiten ein und installiert Standardsoftware mit Hilfe von Batch-Dateien. Dann habe ich Freude daran gefunden ein GUI mit Visual Studio zu erstellen. Man kann jetzt über die EXE verschiedene .bat-Dateien öffnen und es funktioniert auch so lange die Batches und Installer in ihrem Verzeichnis auf "C:\grundinstallation" liegen. Nun zu meinen Fragen: 1. Ich möchte ein Hintergrundbild einstellen je nach dem welche Auflösung der Monitor darstellen kann. Also quasi eine Abfrage wie: " if ScreenWidth == 1920 && ScreenHeight==1080 goto... if " " " xxx && " " " == xxx goto..." Wie das jedoch funktioniert weiß ich nicht. Ich dachte an wmci, weiß aber leider nicht wie ich die abgefragten Werte auch verwenden kann. 2. Das Programm soll man von egal wo starten können. Ob nun der Ordner mit der EXE samt der Dateien auf dem Desktop liegt oder in den Eigenen Dateien oder gar auf einem anderen Laufwerk oder im Netzwerk. Gibt es da eine Möglichkeit? Kann ich sämtliche Dateien die vom Programm verwendet werden in die exe einschließen? Bin über jede Hilfe dankbar. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 11. Dezember 2014 Melden Teilen Geschrieben 11. Dezember 2014 (bearbeitet) Hallo und Willkommen am Board :) auch ich habe früher mit Freude Batches programmiert. Ob Du bei deinem Vorhaben mit Battch gut bedient bist? Ob Du nicht besser Powershell benutzen solltest? bearbeitet 11. Dezember 2014 von lefg Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 11. Dezember 2014 Melden Teilen Geschrieben 11. Dezember 2014 (bearbeitet) Mit Powershell kannst Du dieses Script laufen lassen: (Get-WmiObject -Class Win32_VideoController).VideoModeDescription; Ausgabe: 1680 x 1050 x 4294967296 Farben EDIT: Es gibt bei MS den WMI-CodeCreator kostenlos zum Download. Auch wenn das Tool schon ein paar Jahre alt ist, bei WMI hilft das immer noch. ;) http://www.microsoft.com/en-us/download/details.aspx?id=8572 Wegen der zu installierenden Programme schau dir bitte die Kombination WSUS Package Publisher und WSUS an. Da lässt sich sehr viel automatisieren. http://www.gruppenrichtlinien.de/artikel/wsus-package-publisher-software-ueber-windows-server-update-service-bereitstellen/ bearbeitet 11. Dezember 2014 von Sunny61 Zitieren Link zu diesem Kommentar
Roxar 0 Geschrieben 11. Dezember 2014 Autor Melden Teilen Geschrieben 11. Dezember 2014 WOW! Sehr schnelle Raktionszeit. Gefällt mir :)! Nun dann werde ich mich da mal durchlesen und hoffen dass es die Probleme löst. Danke mal vorerst. Ich melde mich wieder falls es nicht so klappt. Zitieren Link zu diesem Kommentar
daabm 1.356 Geschrieben 11. Dezember 2014 Melden Teilen Geschrieben 11. Dezember 2014 Grübel Grübel - erfindest Du grad das Rad neu? "Grundinstallation automatisieren" ist Aufgabe von WDS in Verbindung mit MDT, Customizing macht dann ggf WSUS mit WPP... Zitieren Link zu diesem Kommentar
Keilwerth 0 Geschrieben 11. Dezember 2014 Melden Teilen Geschrieben 11. Dezember 2014 Die Auflösung kannst du in der cmd wie folgt Ausgeben : wmic desktopmonitor get screenheight wmic desktopmonitor get screenwidth oder du kombinierst es in einer zeile wmic desktopmonitor get screenheight, screenwidth Zitieren Link zu diesem Kommentar
Roxar 0 Geschrieben 12. Dezember 2014 Autor Melden Teilen Geschrieben 12. Dezember 2014 (bearbeitet) Also, Frage 2 konnte ich lösen. Nun möchte ich nochmal auf Frage 1 zu sprechen kommen. Das Auslesen ist nicht das Problem. Es geht mir um die Funktion, die Ausgabe der Auflösung weiterzuverarbeiten. Leider kenne ich mich mit der Powershell nicht sonderlich aus. Ich könnte einen Pseudocode schreiben. Wenn mir den dann jemand übersetzen könnte wäre es Super! Aber macht euch keine Umstände :) " if (wmic desktopmonitor get screenheight, screenwidth) == "1080, 1920" goto :WallpaperGroß if (wmic desktopmonitor get screenheight, screenwidth) == "1024, 1280" goto :WallpaperKlein :WallpaperGroß xcopy "c:\Wallpaper\WallpaperGroß.bmp" "%Userprofile%\Wallpaper" reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d %Userprofile%\Wallpaper\WallpaperGroß.bmp /f" RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters :WallpaperKlein xcopy "c:\Wallpaper\WallpaperKlein.bmp" "%Userprofile%\Wallpaper" reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d %Userprofile%\Wallpaper\WallpaperKlein.bmp /f" RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters " Ist soetwas in dieser Form überhaupt möglich? bearbeitet 12. Dezember 2014 von Roxar Zitieren Link zu diesem Kommentar
daabm 1.356 Geschrieben 12. Dezember 2014 Melden Teilen Geschrieben 12. Dezember 2014 Hm - ich werd vmtl. am Wochenende endlich mal nen Blogpost dazu machen, wie man ein zur Auflösung oder zum Seitenverhältnis passendes Bild hinbekommt. Jedenfalls hab ich das fest vor... Und wenn das Sch*-Wetter so bleibt, dann klappt das wohl auch. Zitieren Link zu diesem Kommentar
Roxar 0 Geschrieben 28. Januar 2015 Autor Melden Teilen Geschrieben 28. Januar 2015 Hab mich grade der Sache nochmal angenommen und schreibe es jetzt auf Java. Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 28. Januar 2015 Melden Teilen Geschrieben 28. Januar 2015 Also wenn du schon Visual Studio einsetzt, solltest du auch .Net in deinem Code benutzen und nicht so nen Kram wie WMI https://msdn.microsoft.com/en-us/library/system.windows.forms.screen%28v=vs.110%29.aspx Auf die Schnelle mal in Powershell [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null [System.Windows.Forms.Screen]::AllScreens blub Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.