Einzelnen Beitrag anzeigen

r29d43

Registriert seit: 18. Jan 2007
287 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Toolbar-Auslesen klappt nicht auf einem 64bit-Win7?

  Alt 23. Okt 2012, 12:17
@DeddyH

Grundsätzlich stimme ich dir da natürlich zu. (Wenn allerdings "FindWindow" schon die Taskbar nicht mehr findet, dann ist das System sowieso höchstwahrscheinlich abgestürzt und es wird da wesentlich mehr nicht mehr funktionieren als nur mein Prog.)


@sx2008

Diese Idee hatte ich in der Zwischenzeit tatsächlich auch schon. Allerdings geht es mir in diesem Fall auch einfach etwas ums Prinzip. Dass nämlich ein relativ einfacher Code, der auf einem Win32 bestens läuft, dieses auf einem Win64 jetzt nur wegen eines wahrscheinlich winzigen Fehlers nicht mehr tut... und ich, bevor ich da jetzt also irgendeinen anderen Lösungsweg einschlage, doch lieber erstmal versuche, diesen höchstwahrscheinlich nur "winzigen" Fehler rauszukriegen...


@himitsu

thx für deinen Codehilfe. Leider hat mein Delphi dieses elegante Exit('...') nicht, so dass ich in einem solchen Fall immer so eine relativ globige 4 Zeilen lange begin-end-Struktur brauche.

Ist dein "IntPtr" eigentlich ein normales ^integer? Habe diesbezüglich mal alles etwas ausprobiert, was der Compiler allerdings nie akzeptiert hat. Habe das dann wieder durchs Cardinal ausgetauscht.

Und direkt unter der fraglichen SendMessage-Zeile ist das "if (L=0)..." wohl durch ein "if (R=-1)..." auszutauschen, oder? Denn das L hattest du davor ja nirgendwo initialisiert etc...

Wie auch immer, dass Ergebnis nach dieser SendMessage-Zeile lautet auch mit deinem Code nach wie vor für das R = -1 und für die Übersetzung des GetLastError-Resultates: "[Error: SendMessage] Der Vorgang wurde erfolgreich beendet".

(PS. Hatte den Code mal vor einigen Jahren hier aus dem Forum aufgegabelt und auch ganz gut verstanden ...und deswegen auch nicht nochmal extra in die Dokumentation einer jeden Anweisung reingeguckt.)


@Alle,

imo müsste die eigentliche Fehlerursache immer noch in einer falschen Record-Umwandlung liegen. Weil der doch auch irgendwie das einzigste Teil ist, das sich am ganzen Code wirklich geändert hat! ???
  Mit Zitat antworten Zitat