Modem Problem



  • Hi, ja ich habe es mit Spy++ versucht aber leider nur rausbekommen das es sich um ein SysTreeView32 handelt.

    Das mit der Tastertursimulation habe ich mir auch schon überlegt aber leider ist da das Problem das das Programm auch ein Bekannter haben möchte (erarbeitet mit den CardPhones und hat das gleiche Problem), der leider 3 Rechner hat die dieses Modem Benutzen und leider alle eine andere Configkuration haben daher ist es etwas mist für jeden Rechner ein nues Programm zu schreiben.

    Mit FindWindowEx hats leider aus irgentweinem grund nicht geklappt ich habe das Parentfenster (Gerätemanager) eingegeben und nach SysTreeView32 suchen lassen ich habe nie ein Handle bekommen.

    Mit EnumChildWindows komme ich irgentwei nicht richtig zu rande dort muss ich eine Callback angeben. Ich habe in der Doku nachgesehen aber irgentwie nicht richtig den Sinn verstanden könntest du mal grob ein beispiel posten wie man die Funktion benutzt?

    Ich wäre dir sehr dankbar.



  • Nobody schrieb:

    Mit FindWindowEx hats leider aus irgentweinem grund nicht geklappt ich habe das Parentfenster (Gerätemanager) eingegeben und nach SysTreeView32 suchen lassen ich habe nie ein Handle bekommen.

    Evtl. ist es ja kein direktes Child - du siehst in Spy++ aber du die Fenster in einer Baumstruktur. Dort solltest du es sehen 🙄



  • soweit ich gesehen habe war der TreeView tiefer im Baum unter dem Handle des Fenster aber warum bekomme klappt das denn nicht?

    Danke



  • Das klappt dann trotzdem, allerdings musst du dann eben öfter FindWindowEx aufrufen 😉



  • Sorry wegen meiner Blöden fragerrei und danke dass du mir hilfst.

    Ich habe jetzt folgenden Code:

    HWND hWndGM = FindWindow(NULL, "Geräte-Manager");
    
    						if (hWndGM == NULL) {
    							g_iReboot = 9;
    							bError =  true;
    							return 0;
    						}
    
    						HWND hWnd = FindWindowEx(hWndGM, NULL, "SysTreeView32", NULL);
    
    						if (hWnd == NULL) {
    							g_iReboot = 9;
    							bError =  true;
    							return 0;
    						}
    

    Leider ist hWnd immer NULL und wie meist du das öfters aufrufen es gibt doch nur ein SysTreeView32.

    Danke



  • Ich meine mal im Richter gelesen zu haben, das Du zwar einfach an die Daten (Einträge) von fremden "standard"-Controls kommst, aber nicht an CommonControls (ListView, TreeView usw.) fremder Prozesse...

    An die standard kommst Du weil sie aufgrund der Abwärtskompatibilität zu 16-bit Windows nicht geschützt werden, die CommonControls aber sind 32bit und dementsprechend im geschützten Prozessmemory...

    Kann mich aber auch irren...



  • Also zumindest bei mir (Win2000) ist das SysTreeView32 kein direktes Child des Geräte-Manager-Fensters. Du musst dich also, um an das SysTreeView32 zu kommen, quasi mit FindWindowEx immer eine Ebene Tiefe hangeln, bis du dort angekommen bist - falls du verstehst, was ich damit meine 🤡



  • Achso geht ein FindWoindowEx nicht den ganzen Baum durch sondern nur die Direkten Child? Also muss ich den Kompletten baum vonm Gerätemanager bis runter zum TreeView Durchgehen?

    Ich probiere es direkt aus danke!



  • Nobody schrieb:

    Achso geht ein FindWoindowEx nicht den ganzen Baum durch sondern nur die Direkten Child? Also muss ich den Kompletten baum vonm Gerätemanager bis runter zum TreeView Durchgehen?

    Genau so ist es 😉



  • geht 👍

    VIELEN VIELEN DANK!!!


Anmelden zum Antworten