Modem Problem
-
ich weis ja nicht wie das den anderen lesern geht, aber ich habe nicht ganz verstanden wie du dir das vorstellst.
aber ich glaube die einfachste sache für dich währe die verwendung eines automatisierungstools (girder,boxwech etc.) das auf ein fenster 'verbindung unterbrochen' mit den notwendigen maus/tastureingaben reagiert
-
Hi, also so einen Dialog gibt es bei diesem tollen Modem nicht (ist ein virtuelles und eigentlich ein NokiaCardfone).
Und jetzt versuche ich ganz einfach zu sagen wass ich will:
Ich möchte die Einträge eines TreeView in einer Fremden *.EXE, die sich in einem Fenster befindet. Das Handle des Fensters habe ich jedoch nicht das des TreeView. (z.B. Die Liste der Downloads von FileSharing programmen)
Dann möchte ich einen Eintag selektieren.
Und dann Einen Button in einer Toolbar dieser Aplication drücken (zb. Zurück bei Internet Explorer)
Danke
-
das handle gibt es relativ einfach wenn du nach einem fenster mit 'SysTreeView32' class suchst
(elegant mit enumchildwindows tw. geht auch findwindowex)aber wie es dann weitergeht kann ich dir auch nicht schreiben
hast du denn dein problemfenster mal mit einem spionageprogramm untersucht ?
(ich weis leider nicht mehr welches hier im forum empfohlen wird, benutze selbst 'sinfo')aber generell würd ich mir nochmal überlegen ob es nicht einfacher ist ereignisse -tastatur/maus- zu simulieren
-
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!!!