Suche Funktion



  • ne möglichkeit wäre

    Process32First
    Process32Next

    und indem du den exe namen vergleichst.

    dadurch kommst du an die processid, über diese kannst du dann mit

    OpenProcess

    an das handle des processes kommen.



  • Die Sache is die,ich hatte probiert ein Control (Das Programm auf dem das Control ist schrieb ich selber) im Debug-Modus zu füllen.
    d.h Programm2 füllt das Control von Programm 1.
    Im Debug-Modus klappt alle wunderbar,aber solbal ich Programm 1 zu ner Exe mache dann heißen die Control's anders und ich kann sie irgendwie nicht mehr ermitteln.



  • 😕 vor lauter controls verliert man da den überblick drück dich mal verständlicher aus.



  • FindWindow findet die Control's im Degub-Modus.
    Aber wenn das Programm zu ner Exe gemacht wird und gestartet wird,dann findet FindWindow überhaupt nix...



  • vieleicht deshab weil du die funktion FindWindow falsch interpretierst!?!

    MSDN schrieb:

    FindWindow
    The FindWindow function retrieves a handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows. This function does not perform a case-sensitive search.

    HWND FindWindow(
    LPCTSTR lpClassName, // pointer to class name
    LPCTSTR lpWindowName // pointer to window name
    );

    Parameters

    lpClassName
    Pointer to a null-terminated string that specifies the class name or is an atom that identifies the class-name string. If this parameter is an atom, it must be a global atom created by a previous call to theGlobalAddAtom function. The atom, a 16-bit value, must be placed in the low-order word of lpClassName; the high-order word must be zero.

    lpWindowName
    Pointer to a null-terminated string that specifies the window name (the window's title). If this parameter is NULL, all window names match.
    Return Values
    If the function succeeds, the return value is a handle to the window that has the specified class name and window name.

    deine Controls werden keine Strings sein, wenn mir meine Glaskugel das richtig verrät, sondern definitionen in der resourcen.h, oder irre ich mich!!



  • Es kann 100% nicht an FindWindow liegen.
    Kann ich nicht irgendwie den Handle rauskriegen mit der Control-ID?



  • Oder ich habe die Process-ID wie kann ich so den Handle rauskriegen?



  • es liegt daran das du FindWindow nicht verstehst

    der rest...

    ohne worte



  • Ich glaube du verstehst nicht was ich meine.
    Ich habe eine Form dann ein Frame dann ein Webbrowser und 1 Textbox im Webbrowser.
    Und ich kann das TextFeld nicht ermitteln.
    Im Debug-Modus klappt es.
    Ich suche nach der Fenster-Classe nicht nach dem Namen.

    Und wie kann das Handle des Controls über die Process-ID/Control-ID rauskriegen?



  • xxChillerzz schrieb:

    Im Debug-Modus klappt alle wunderbar,aber solbal ich Programm 1 zu ner Exe mache dann heißen die Control's anders und ich kann sie irgendwie nicht mehr ermitteln.

    Im Debug-Modus 'wird das Programm auch zu ner Exe gemacht' - LOL. Das was Du da schreibst ist total unlogisch. Weißt Du was der Unterschied bzw. der Sinn zwischen Release und Debug Modus ist?

    xxChillerzz schrieb:

    FindWindow findet die Control's im Degub-Modus.
    Aber wenn das Programm zu ner Exe gemacht wird und gestartet wird,dann findet FindWindow überhaupt nix...

    Sorry, aber das ist Schwachsinn... wie verwendest Du denn die Funktion (zeig mal Code!)?

    PS: Eine Alternative wäre EnumWindows bzw. EnumChildWindows, siehe MSDN.


Anmelden zum Antworten