Announcement

Collapse
No announcement yet.

mausbefehle und nt!!!

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

  • mausbefehle und nt!!!

    ich habe eine syshotkey-komponente mit der kann ich systemweite
    hotkeys ohne hookfunktion programmieren. das ganze klappt prima,
    wenn man programnme starten läßt oder tastenkombination(strg+c)
    simuliert!!! man kann mehrer tastenbelegungen speichern und die zu
    letzt geladenene ist beim nächsten programmstart automatisch
    geladen und funktionstüchtig!!! jetzt habe ich eine tastenbelegung
    definiert die eine tastaturmaus simulieren soll!!!
    mit getcursorpos,mouse_event usw. wenn das programm startet
    und ich die entsprechenden tasten drücke, passiert erst mal gar
    nichts. wenn ich dann so zu als ob ich was ändere an den hotkeys
    dann geht es plötzlich!!! da ich dieses phänomen bisher noch nicht
    gehabt habe mit meinem programm, beschleicht mich der verdacht, daß
    es am zusammenspiel zwischen mausbefehle und nt liegt. hagen
    reddmanns tastaturmaus, hatte auch probleme unter nt und unter win9x
    nicht!!!!!! wer weiß rat???
    hotkeykomponente funktioniert verblüffender weise ohne dll(hook)!!

    mfg

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,

    in diesem Fall die die verwendete Komponente sicherlich die API-Funktion <b>RegisterHotKey</b> verwenden. Schaue doch einmal dort nach, ob diese API-Funktion im Sourcecode auftaucht. Wenn ja, musst Du nur noch prüfen, ob als erster Parameter der Wert 0 oder ein Fenster-Handle für das "Empfängerfenster" aufgeführt wird.

    In der Platform-SDK-Hilfe (bzw. MSDN) sind keine Einschränkungen vermerkt, die API-Funktion steht ab Windows 95 und ab Windows NT 3.1 zur Verfügung.

    Allerdings steht dort der Hinweis, das eine Anwendung, die diese API-Funktion aufruft, sicherstellen muss, das der verwendete ID-Wert auch im System einmalig ist. Die Anwendung sollte <b>GlobalAddAtom</b> aufrufen, um einen eindeutigen Identifier zu erhalten. Du schaust am besten auch nach, ob GlobalAddAtom von der Komponente korrekt aufgerufen wird

    Comment


    • #3
      besten dank, werde ich tun!!!

      mfg

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        tag andreas,

        hier aus der komponente der aufruf von registerhotkey:

        procedure TSysHotKey.RegisterHotKeyNr(Index : Integer);<br>
        begin<br>
        with PHotKeyItem(FList.Items[Index])^ do<br>
        Registered := WordBool(RegisterHotKey(Handle, Index, ModifiersToFlag(Modifiers), VirtKeys[VirtKey]));<br>
        end;<br>

        <b>GlobalAddAtom</b> kommt in der komponente nirgends vor!!!!

        und was jetzt???

        mfg

        marku
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Hallo Markus,

          in diesem Fall würde ich in Deinem Programm dafür sorgen, das die Komponenten-Methode RegisterHotKeyNr für jeden Hotkey unmittelbar beim Programmstart aufgerufen wird (ohne das der Dialog sichtbar wird und manuell bestätigt werden muss)

          Comment


          • #6
            ist mir nicht so ganz klar wie, aber ich schau mal!!

            mfg

            marku
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment

            Working...
            X