Button einer anderen Anwendung "Enabled" setzen
-
Hallo,
ich hatte vor etwa 8 Monaten ein kleines C++ Script geschrieben, welches die Startkonfiguration (eintragen von Lizenznummern etc.) in eine Anwendung übernimmt.
Dazu hab ich mittels SendMessage die jeweiligen Felder ausfüllen lassen und Buttons klicken lassen.
Nun gab es eine neue Version, bei der soweit alles genauso aufgebaut ist, jedoch wird nach dem Einfügen des Lizenzcodes der Button "next" nicht freigegeben. - Wie könnte ich diesen Freigeben per Quellcode?
-
Schon 250 Beiträge und du weißt nicht, dass das was du machst, kein Standard C++ ist?
-
Dann halt C, darauf hab ich jetzt weniger geachtet. - Arbeite ein weilchen schon nicht mehr mit C++/C, also entschuldige mir dies bitte.
-
inflames2k schrieb:
Dann halt C, darauf hab ich jetzt weniger geachtet.
Auch C kann das nicht.
Du willst nach "WinAPI" oder so. Je nachdem welches Framework du verwendest.
-
Wobei ich dann dennoch mit C bzw. C++ arbeite. - WinAPI wäre nur eine API, keine eigene Sprache.

Wie auch immer, mag sein dass ich dort richtiger aufgehoben bin.
-
Schau dir die Beschreibung zu den Unterforen an, dann weißt du wo du richtig bist.
-
Ich seh doch ein, dass ich hier falsch gelandet bin. Aber mir fehlen die Möglichkeiten den Thread zu verschieben.

So ganz ohne MFC wäre das ja auch nicht. Müsst ich den Thread ja splitten. Nein Spaß bei Seite. - WinAPI wäre denk ich schon richtig. - Wenn ein Mod irgendwann so lieb wäre

Ich mach nun Feierabend.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich selber hab dass noch nie gemacht, aber das sollte gehen...
Was hast du denn bis jetzt geschafft? Wo hängts?
-
Naja, an sich funktioniert das Script noch was ich damals in meinem Praktikum geschrieben habe. - Es ist eben nur der Punkt, das bei der neuen Version der Button "Next" nur noch bei manueller Eingabe freigegeben wird, also weder Copy&Paste noch per Sendmessage.
Darum würde ich den Button gern irgendwie freigeben, hab aber keine Ahnung wie genau ich dies anstellen soll.
WinAPI ist nicht so meine Welt. In der Ausbildung gabs nur reines C++ OOP und Funktionsorientiert und jetzt im Unternehmen C#. - Hab Google auch schon eine Weile abgegrast, welchen Befehl ich senden muss um den Button freizugeben, aber kein Erfolg.
Das Handle des Buttons hab ich schon. - Hat sich in den Versionen der Zugriff auch nicht geändert. - Nur eben wie beschrieben wird der Button nur bei manueller Eingabe an einer Gewissen stelle freigegeben.
Funktionieren tut folgendes: Start - Next - Next - Auswahl Lizenz - Next - Eingabe sämtlicher Lizenzdaten - und hier stockts. - Als nächstes Kämen die Eingaben der Lizenznummern. - Aber bis dorthin komme ich nicht aufgrund des Buttons. - Auf ein Klick reagiert er im Disabled ja nicht.
-
EnableWindow
-
Danke werds morgen früh direkt probieren.

-
inflames2k schrieb:
Funktionieren tut folgendes: Start - Next - Next - Auswahl Lizenz - Next - Eingabe sämtlicher Lizenzdaten - und hier stockts. - Als nächstes Kämen die Eingaben der Lizenznummern. - Aber bis dorthin komme ich nicht aufgrund des Buttons. - Auf ein Klick reagiert er im Disabled ja nicht.
Ich vermute mal, daß es möglicherweise genügen würde, wenn Du zwischen Eingabe der Lizenznummern und dem Klick auf ein (zunächst) disabled Button einfach eine kurze Pause einfügst (sagen wir mal 500ms)?
Die Applikation braucht anscheinend auch eine gewisse Reaktionszeit nach der Prüfung der Informationen bevor sie den Button freigibt.Natürlich muß ich voraussetzen, daß die eingegebenen (egal ob manuell oder per Skript) Lizenzinformationen auch tatsächlich korrekt sind!
Apropos Skript:
Soviel ichs weiß gibt es kein C-Skript, und auch kein C++-Skript. Welche Skriptsprache bzw. Tool verwendest Du? Vielleicht AutoIt?Martin
-
Damit die andere Anwendung wirklich die Eingabe registriert musst Du evtl. SendInput verwenden. Dnan ist die Eingabe wie von der Tastatur (zumindest fast wie...).
Wenn die Anwednung etwas Anti-Hacker Code einsetzt, dann wirst Du diese Eingabe gar nicht automatisieren können...
-
Apropos Skript:
Soviel ichs weiß gibt es kein C-Skript, und auch kein C++-Skript. Welche Skriptsprache bzw. Tool verwendest Du? Vielleicht AutoIt?Martin
Dann nennen wir es eben ein kleines Programm.

Aber aufgrund der geringen Funktionalität bezeichne ich das "Programm" als "Script".Und nein, auch wenn ich es per Copy&Paste mache und Stunden warte wird der Button nicht frei. - Daher läuft es nun mit der extra Zeile "EnableButton(...)".
Hallo Martin Richter, das EnableButton hat genügt.
Somit funktioniert wieder alles.