Ausgewähltes / Aktives Programm ermitteln

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Ausgewähltes / Aktives Programm ermitteln

    Hey,

    da ich derzeit an einem neuen Projekt von mir arbeite bräuchte ich mal etwas Hilfe :P

    Ich habe eine Funktion erstellt welche auch wunderbar funktioniert allerdings soll diese
    nur ausführbar sein wenn ein bestimmtes Programm gerade ausgewählt / fokussiert ist.
    D.h. das wenn ich als Beispiel "notepad" jetzt ausgewählt habe also es fokussiert ist soll
    die Funktion funktionieren, wenn nicht dann nicht. Am besten wäre es hierbei das ganze
    irgendwie über nen Prozess zu checken, falls nicht auch nicht kritisch.

    Ich habe schon einige Sachen ausprobiert und auch schonn reichlich gegoogelt und bin
    immer noch zu keinem guten & funktionieren Ergebnis gekommen.

    MfG
    Tobi :)
    :D
    Der Klassiker ...
    Also, nicht das Problem an sich, sondern die Infos, die zur Verfügung stehen. Die reichen nämlich nicht aus.
    Wie soll diese Funktion ausgelöst werden? Also, nicht unter welchen Umständen darf sie, sondern wie rufst Du sie auf? In nem Timer? Einem Event? Button anklicken? Anders? Wäre insofern wichtig, weil das Einfluss auf die aufzurufenden, tiefen Funktionen haben kann.
    "Ich habe schon einige Sachen ausprobiert" - nämlich? Nicht, dass wir jetzt 20 Sachen auflisten und Du zu allen sagt: Nee, geht nicht, ich such was anderes (btw.: Viele Sachen funktionieren schon, man muss sie nur passend einbauen/anwenden).

    Noch was: Kannst Du ungefähr sagen, was dann passieren soll? Denn wenn dann größere Manipulationen an z.B. notepad vorgenommen werden sollen, dann hast Du das Problem, dass Du sicherstellen musst, dass nicht während der Ausführung Deiner gesuchten Funktion der Benutzer rumwerkelt und den Fensterfokus oder die Maus- oder Cursorposition ändert.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Wie ich es ausführe ist doch komplett egal, ich möchte doch nur die Funktion habe.
    Es ist übrigens einfach nur ein einfacherer Button Klick.

    Was ich im Endeffekt machen möchte wird wohl mein Geheimnis bleiben und ich habe notepad nur als Beispiel genommen.
    :D
    Danke für's Gespräch.
    Dann nur ein abschließender Tip: Wenn Du einen Button klickst, um Deine Funktion auszulösen, dann setzt Du den Fensterfokus automatisch auf Deine Form und der notepad-Fokus (oder welches Programm auch immer Du hast) geht flöten.
    Viel Erfolg.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Mit dieser Geheimniskrämerei kann dir aber niemand weiterhelfen..

    VBCoderYT schrieb:

    ..wird wohl mein Geheimnis bleiben..

    Ich maße mir einfach Mal an hier zu sagen das deine Funktion nichts sein wird womit du die Welt veränderst, also, hast du noch ein paar mehr infos?
    Deine ach-so-geheime-Funktion wird schon niemand klauen
    Warum denn so ein Geheimniss daraus machen? Vllt. bin ich bereit dir die Loesung zu nennen, wenn du uns sagst wofuer das genau sein soll.

    VaporiZed schrieb:

    geht flöten.


    Auch kein problem, in der Klasse der Form einfach die Property CreateParams(ReadOnly) uberschreiben und

    VB.NET-Quellcode

    1. Get
    2. Dim param As CreateParams = MyBase.CreateParams
    3. param.ExStyle = param.ExStyle Or WS_EX_NOACTIVATE
    4. Return param
    5. End Get

    And i think to myself... what a wonderfuL World!
    Es ist doch komplett egal was ich im Endeffekt machen möchte, was ich hier auch ganz bestimmt nicht preisgeben werde.
    Es geht nur um die Funktion um herauszufinden welches Fenster im Fokus ist und dass hat doch wohl nix mit dem zu tun was
    ich letztendlich machen möchte es geht nur darum das Fenster herauszufinden.
    :D

    VBCoderYT schrieb:

    Es ist doch komplett egal was ich im Endeffekt machen möchte

    Nicht ganz. Hier will nämlich niemand Hilfestellung zur Schadsoftware Programmierung geben. Von daher, wenn du das nicht vor hast, weihe uns in dein Geheimnis ein.

    P.s. Sollte deine Idee gut sein, werde ich sie natürlich umgehend kopieren und vermarkten ;)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    VBCoderYT schrieb:

    Funktion funktionieren


    Was soll das heißen? Du hast ne Methode die ausgeführt werden soll, wenn ein ominöses Super-Geheim-Programm, wovon du den Namen nicht sagen willst, vom Benutzer fokussiert wird?

    Du hast Lösungsansätze erhalten, die in etwa soviel Informationen enthalten wie deine Frage:

    Gelöschter Benutzer schrieb:

    Stichwort : Window Handle


    P.S.: Google mal. Da gibt's gefühlt tausende Lösungen dazu. Deine Aufgabe ist zu verstehen und dann auf dein Programm zu übertragen. C&P Code wirst du hier nicht finden.

    mrMo schrieb:

    Sollte deine Idee gut sein, werde ich sie natürlich umgehend kopieren und vermarkten


    Werde ich natürlich auch :thumbsup: ;)
    Hmkay. :|

    VBCoderYT schrieb:

    Es ist doch komplett egal
    Du bittest hier im Forum um Hilfe und bekommst dazu qualifizierte Fragen gestellt. Deine Antwort könnte man so werten, dass Du kein Interesse hast, dass Dir geholfen wird.
    Wenn das nicht so ist, antworte höflich und sachlich auf die Dir gestellten Fragen.
    Bedenke, dass wir alle zusammen uns vielleicht ein paar Nanosekunden länger mit dem Programmieren befassen und da halt Hintergrundprobleme ahnen oder gar sehen, von denen Du gar nicht weißt, dass sie da sind.
    Das eine wäre, was @mrMo schrieb, das andere ist, dass wir uns hier einer gewissen Netikette befleißigen. Das ist zwingend erforderlich, weil wir helfen wollen. Helfen müssen wir nämlich nicht...
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @VBCoderYT Da Du hier Hilfe (zu einem komplexeren Thema) möchtest, musst Du auch die nötigen Informationen liefern. Wenn Du das nicht machst, kann Dir auch nicht ordentlich geholfen werden.
    Das Versteckspiel ist nicht hilfreich und bringt niemanden weiter.
    Das Erbitten von Hilfe in einem Forum geht auch immer mit Eigeninitiative einher. Desweiteren steht eventell der Verdacht von Schadsoftware im Raum. Und ich kann mir auch beim besten Willen nicht vorstellen, was daran so geheim sein soll.
    Also entweder Du offenbarst jetzt mal, was Du vor hast und beschreibst die Problematik ordentlich oder ich mach hier zu, weil der Thread aussichtslos scheint.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: