Domino 9 und frühere Versionen > ND8: Entwicklung

keybd_event in Lotus Notes 8

(1/2) > >>

hupfi:
Hallo Notes Gemeinde,

wir sind kurz vor der Umstellung auf Notes 8. Jetzt bin ich auf eine Funktion in unserem System gestoßen, die mit Notes 8 anscheinend nicht mehr richtig funktioniert.

Um eine Vorlage mit Briefkopf richtig Auszudrucken manipulieren wir die Seitenränder, indem wir einfach die Tastenkombinationen über das keydb_event absenden. Dies funktioniert in Notes 7 einwandfrei. Da sich die Tastenkombination in Notes 8 geändert hat, habe ich dies zuerst angepasst. Wenn ich jetzt das Script ausführe, sieht es so aus wie wenn das Script die Tastenkombinationen zu schnell ans System senden. Und nur die Alt und "D" Taste (Öffnen des Menue "Datei") funktioniert. Alle weiteren gesendeten Buchstaben z. B. zum Öffnen des Druckdialoges haben keine Auswirkungen.

Hat jemand von Euch damit schon Erfahrungen unter Lotus Notes 8 gemacht und könnten mir eventuell weiterhelfen?


Schönes Wochenende wünscht
hupfi

koehlerbv:
Bist Du sicher, dass Du auch die korrekten Tastencodes an den Keyboard-Buffer von Windows schreibst? Der 8er Client müsste ja andernfalls beim Öffnen der Dialogbox selbständig den Buffer leeren ...

Was passiert, wenn Du eine Verzögerung einbaust?

Bernhard

hupfi:
Hallo Bernhard,

ja ich bin mir sicher, dass ich den richtigen Tastencode sende. Wenn ich es in der Datenbank von Hand auf der Tastatur eingeben funktioniert es auch.

Habe eine Verzögerung eingebaut. Leider keine Veränderung. Funktioniert trotzdem nicht.

koehlerbv:
Stell mal den relevanten Codeteil ein, damit wir das nachstellen können (wenn Du willst).

Bernhard

hupfi:
Hier ist mal der Codeschnipsel den ich verwende. Es handelt sich hierbei um den Code für einen englischen Notes Client. Dieser sollte das Fenster für die Seiteneinstellungen öffnen und dort in das Feld "Above body" springen. Es wird jedoch nur das "File"-Menue geöffnet.

------------------------------------------------------------------------------------------------------------------------

If Not Instr( 1, Strtoken( session.NotesVersion, "|", 1), "8" ) = 0 Then
      
      keybd_event 18,0,0,0 'Alt key down
      char = Asc("F")
      keybd_event char,0,0,0 'F key down
      keybd_event char,0,2,0 'F key up
      char = Asc("G")
      keybd_event char,0,0,0 'G key down
      keybd_event char,0,2,0 'G key up
      char = Asc("B")
      keybd_event char,0,0,0 'B key down
      keybd_event char,0,2,0 'B key up
      keybd_event 18,0,2,0 'Alt key up
      
   End If

------------------------------------------------------------------------------------------------------------------------------

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln