Handle etc ermitteln



  • Ganz genau! Danke!

    Hab ich richtig verstanden?

    Egal wie das Fenster verschoben ist, ich brauch nur das Fenster finden und dann?

    EDIT: Ah ok habs verstanden, da ich ja dann die Eckpunkte hab kann ich ja dann auch die Position des "Buttons" bestimmen oder?

    lg



  • Ja, Mausklick ist wohl das einzig mögliche. Könntest du nen Screenshot von dem Fenster machen und die Position des "Button" raussuchen.
    In deinem Programm holst dir dann das Rechteck des Fesnters (GetWindowRect) und berechnest, an welchem Punkt auf dem Bildschirm du klicken musst.
    Dann klickst du halt mit SendInput.

    Edit: Hab hier nen Link gefunden, wo du glaubich Spy++ runterladen kannst. Damit kannst du schnell rausfinden, wie die Klasse des Buttons ist oder ob es so einen Button überhaupt gibt 😉
    http://www.techwarelabs.com/downloads/?action=file&id=169



  • Oder sowas hier: http://www.windows-spy.com/

    Kannst du dir nicht direkt mit GetWindowRect die Position des Buttons in Bildschirm-Koordinaten holen?!



  • Hmm erstmal thx für die Links.

    Nein mit der Funktion kann ich mir nur die Position berechen sprich ich hol mir die Koordinate des Eckpunktest und berechene damit wo ich klicken muss.
    Höhrt sich eig sehr einfach an ich probiers gleich mal^^.

    lg



  • Hi,

    ich hab jetzt die Funktion eingebaut,eigentlich kein Problem.
    Ich hab mir die Propertionen geholt nur leider sind die bei der Y-Achse immer unterschiedlich. (manchmal 1,4 oft aber auch) 2,3

    Mit welcher Funktion kann ich ein Fenster in den Vollbildmodus versetzen?

    lg



  • Sry ich meinte im Vorpost Proportionen.



  • MoveWindow(hWnd, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), TRUE);
    


  • Muhi89 schrieb:

    Mit welcher Funktion kann ich ein Fenster in den Vollbildmodus versetzen?

    Würde ich (je nach Anwendungszweck) eher nicht machen. Ich kann zwar nur raten, warum du auf den Button klicken willst, aber wenn ein User das sieht, wird er zweifellos verwirrt sein 😃



  • Hi, danke für die Funktion.

    @Badesstrand: Ich dachte ein virtueller Klick bedeutet, dass man den Cursor nicht dorthinebewegt sondern nur ne Message geschickt wird??
    Soll das heissen man sieht den Cursor an der Stelle?

    Mfg



  • Ne, ich meine nur, dass es mich relativ irritieren würde, wenn sich das MSN-Fenster plötzlich maximieren würde 😃



  • LOL 😃 , ja nur ne andere Möglichkeit gibts leider nicht da die Proportionen nicht konstant sind.



  • Versteh ich nicht ganz, wie ist das zu verstehen? Hat das Fenster jedesmal eine andere Größe wenn es aufgemacht wird oder wie? Oder ist der Button jedesmal an einer anderen Stelle?



  • Hi,

    erm der User könnte das Fenster praktisch in zig verschiedenen Formaten oder Positionen am Bildschirm haben.

    Jetzt geht es ums Format.

    bei der x koordinate ist es leicht

    ich nehme die Strecke left bis right und dividiere sie durch 2.
    Bei der y Koordinate hab ich mich lang gespielt und dann eine Durchschnittsproportion errechnet (Bottom/Button in Koordinaten).
    Leider weicht es oft sehr stark ab

    Lg



  • Ok danke es klappt!

    Ich versetz den Messenger in den Vollbildmodus und simuliere nen Mausklick.

    Danke an alle für die tolle Hilfe!

    @Badestrand: Wie hättest du das denn gelöst wenn nicht mit Vollbild?

    Lg



  • Was genau ist denn bei GetWindowRect das Problem?! Damit solltest du doch eigentlich direkt ermitteln können, wo der Button sitzt...
    Das Mit Vollbild wird auch nicht so viel bringen, da ja manche z.B. auch eine 16:10 Bildschirmauflösung haben - also zumindest konstante Fenster-Proportionen wirst du damit nicht zwangsläufig bekommen 🙄



  • Hmm es gibt kein Problem mit Getwindowrect, funktioniert prima nur nutzen mir diese Infos nichts.
    Hmm wie soll ich das erklären, ich versuchs mal:

    sagen wir ein Fenster hat vom 0 Punkt ausgesehen die Koordinaten 5/5 in einem 10/10er System

    es ist also in der Mitte.

    Wenn ich jetzt das Fenster um die Hälfte reduziere in allen Werten, sollte der button jetzt bei 2,5/2,5 liegen.

    Leider wechseln beim Messenger aber die Relationen/Proportionen.
    So ist es mir unmöglich die Position eindeutig zu ermitteln, es sei denn ich kann irgendwie anders den "Button" finden.

    Deshalb hab ich mich einstweilen für die "Vollbild-Lösung" entschieden.



  • Du sollst mit GetWindowRect ja auch nicht die Daten vom Hauptfenster holen, sondern direkt vom Button...



  • K sry wenn ich was falsch verstanden habe aber geht das nicht nur bei Fenstern/Childs bei denen ich auch einen Handle bekommen kann?

    Lg



  • Vielleicht habe auch ich etwas falsch verstanden, ich dachte du hättest ein Handle auf den Button 🙄



  • 🙂 Nö leider nicht, deswegen hat es ja solang ned gefunzt ^^


Anmelden zum Antworten