Monitor Position ändern via VB

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von sLiyX.

    Monitor Position ändern via VB

    Hallo :),

    ich bin neu hier und hoffe das dieser Forum Thread hier richtig für meine frage ist, und falls dies nicht der Fall sein sollte bitte ich dies zu entschuldigen.
    Ich bin ziemlich neu in VB unterwegs, da ich eine Idee habe und diese gern umsetzen möchte.
    Ich möchte mir ein Programm schreiben, welches die Monitor Position des Jeweiligen Monitors' ändert wie man es von Bildschirmauflösungseinstellung kennt. Zudem soll das Programm auch erkennen wie Viele Monitore ich angeschlossen habe und diese ebenfalls frei Positionierbar machen (sei es auf Kante oder sonstiges).
    Habe in der Registry bereits etwas gefunden welches dem glaube ich nahe kommt, und zwar habe ich im

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Hardware Profiles\UnitedVideo\CONTROL\VIDEO\{54543773-AC5E-43C4-A2F9-5310BF31A086}\0001 die Registry "Attach.RelativeY & Attach.RelativeX gefunden, diese ändern sich wenn ich den Monitor umpositioniere, allerdings sobald ich die Registry ändere ändert dies leider nix an der Position des Monitors.

    Kann mir jemand helfen ob dies überhaupt möglich ist und wenn ja, wie?
    Ich benutze "Windows Form App (.NET Framework)" als Projekt start.

    PS: Habe anbei ein bild hinzugefügt welches zeigt was ich meine

    Ich danke jetzt schon für die Antworten.
    Mit freundlichen Grüßen SliyX
    Bilder
    • Bildschirm Position.JPG

      94,19 kB, 622×300, 103 mal angesehen
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    @sLiyX Willkommen im Forum. :thumbup:
    Was soll das werden? Eine Fingerübung?
    Warum nutzt Du nicht einfach die Funktionalität des Betriebssystems? Sas kann das nämlich besser und richtig. ;)
    Wenn Du Programmieraufgaben suchst, gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Gather vielen Dank, werde ich mir anschauen :)

    @RodFromGermany Vielen Dank für das Willkommen heißen :),es soll eine kleine Übung sowie ein Tool mit Speicherfunktion sein da ich dies Relativ häufig ändern müsste wegen Bestimmten Programmen / Spielen, und ich mir das ständige klicken gerne ersparen würde wenn's möglich ist :)

    Im großen und Ganzen soll es Manuell .exen als Path speichern und bei einem Ausführen der .exe sollen diverse änderungen automatisch von statten gehen, wie beispielsweise das Monitor Positioning damit ich nicht einfach nach links / rechts die maus schieben muss um zum anderen Monitor zu gelangen, sondern dann Oben Links Kante oder soetwas. und sobald ich auf den Desktop gehe wieder zurück zum Eigentlich Links Rechts Swipe :)
    Rod meinte glaube ich, dass falls du einfache Programmieraufgaben suchst, du dich an anderen Projekten versucht die du leichter (am Anfang) verstehst.
    Falls du jedoch dennoch genau an dieses Projekt ran willst, sie dir den von mir geposteten Link an. :)
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    @Gather oh vielen Dank, für die schnelle antwort damit hab ich garnicht gerechnet :). Das habe ich bereits getan und auch in VS eingebunden (soweit es mir möglich war bei den fehlermeldungen und integrationen die von nöten sind/waren) und kann den Code auch größtenteils nachvollziehen, allerdings' find ich da leider keinen anhaltspunkt zu meinem Thema, oder überseh ich da etwas?
    Natürlich bin ich noch wach :)
    Sofern ich das sehe, setzt die Methode PositionDisplays im Code die Positiond er Monitore. Sie dir evt. diese genauer an.
    Diese löst anschließend das Event LocationChanged aus.


    Prinzipiell, solltest du also nur die Location Eigenschaft des Monitors verändern (mithilfe des Wrappers).
    zb. Display_Settings1.Displays(0).Location = ... (abgeleitet vom Beispielprojekt von codeproject)

    Das DisplaySettings Control bekommst du indem du die Beigelegte DisplaySettings.dll verwendest.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!