kostenloser Webspace werbefrei: lima-city


C# Mausklick mithilfe von SendMessage simulieren

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    a-o-w

    a-o-w hat kostenlosen Webspace.

    Hallo,
    ich versuche nun schon seit einiger zeit mithilfe der methode Sendmessage einen Mausklick in einer andern anwendung zu simulieren.
    ich habe es schon geschafft das ich zwar einen klick simuliere per
    [DllImport("user32.dll")]
            public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, IntPtr lParam);

    und
    SendMessage(hwnd, 0x0203, 0, IntPtr.Zero);

    kann aber dabei leider nicht die position bestimmen
    ich weis das die position des klicks im lParam bestimmt wird finde aber nicht das richtige format für einen Punkt.
    habe ich einfach was übersehen oder wie kann man das problem lösen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo a-o-w,

    die x und y Koordinate sind zusammen in einen Int32 Feld koodiert. Dabei ist das höherwertige Wort (Wort = 2 Byte) die y-Koordinate und das niederwertige Wort die x-Koordinate.
    Mit folgender Funktion kann man die Koordinaten zusammenpacken:
    private Int32 packCoords(Int16 x, Int16 y)
    {
        return (y<<16)|x;
    }
    Abschicken kannst Du es dann mit:
    Int32 coords = packCoords(200, 300);
    SendMessage(hwnd, 0x0203, 0, new IntPtr(coords));
    Im übrigen ist 0x0203 ein Doppelklick.
  4. Autor dieses Themas

    a-o-w

    a-o-w hat kostenlosen Webspace.

    super danke jetzt klappt es :-)
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!