Announcement

Collapse
No announcement yet.

Programm im Hintergrund

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programm im Hintergrund

    Schreibe gerade eine Kosolenanwendung die jeden Tastendruck in eine Textdatei speichert.
    Wollte eigentlich nur wissen wie die Anwendung dies auch macht, wenn das Programm Minimiert ist.
    Danke im vorraus.

    mfg.

  • #2
    Sicher nicht, da diese Anwendung dann keine Tastendrücke mehr registieren kann,wenn sie nicht den Focus hat
    Christian

    Comment


    • #3
      und den Focus kann man auch nicht irgendwie setzen

      Comment


      • #4
        Was solltest du davon haben? Dann kann keine andere Anwendung funktionieren.

        "Es kann nur einen geben"

        Wenn du anwendungsübergreifend Ereignisse aufzeichnen möchstes musst du einen Hook verwenden.

        siehe SetWindowsHookEx
        Christian

        Comment


        • #5
          Hatte zwar schonmal was von einen hook gehört habe soetwas aber noch nicht selbst gemacht. Hatte auch nach einen Tutorial gesucht. Jedoch habe ich kein passendes gefunden wo das schritt für schritt erklärt wird.
          Kennst du da vll etwas ?

          Comment


          • #6
            http://www.marquardtnet.info/cecke/dlls.3/3_chhook.html

            Schicke dir gerne den Quellcode
            Christian

            Comment


            • #7
              Hallo

              hab deine dll mal geladen und eingebunden...Klappt super...

              Aber wie bekomm ich das hin das er wenn ich zb 'x' drücke er nen 'v' sendet? mit keybd_event?

              Wenn ich nämlich

              Code:
              void __fastcall TForm1::FormCreate(TObject *Sender)
              {
               StartTastaturHook(Form1->Handle,88,KEY_NONE);  // 88 = x
              
              }
              
              void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
                    TShiftState Shift)
              {
              if (Key==88)
              {
              keybd_event(86, 0, 0, NULL);
              }
              }
              benutze dann macht er wenn ich irgendwo x drücke immer ein v hinterher ( xv anstatt nur v)... er soll ja aber nur das v machen und nicht auch noch das x dazu....

              Ich werd daraus net schlau... kannste mir vllt auch die source senden oder erklären wie ichs versuchen soll...?

              gruss und danke
              Zuletzt editiert von Stephan J.; 28.05.2010, 16:54. Reason: } vergessen....
              Windows Mobile Tools

              Comment


              • #8
                Key auf V setzen
                Christian

                Comment

                Working...
                X