Autor Thema: keybd_event  (Gelesen 1931 mal)

Offline GerhardK

  • Frischling
  • *
  • Beiträge: 15
keybd_event
« am: 22.05.06 - 15:51:18 »
Hallo Zusammen,

ich suche eine Lösung zum Druckerwechseln im uiDokument. Nach ewigen googeln und probieren  denke ich es geht nur über den Druckerdialog. Nun möchte ich diesen per keybd_event starten. Aber das Event wird durch folgenden Code leider nicht gestartet.
Mache ich einen Denkfehler oder woran liegt das?

Declare Sub keybd_event Lib "user32" (Byval _
bVk As Byte, Byval bScan As Byte, Byval dwFlags _
As Long, Byval dwExtraInfo As Long)

sub Drucken
   keybd_event &H12,0,0,0 'AltD,D
   keybd_event &H44,0,0,0
   keybd_event &H44,0,2,0
   keybd_event &H12,0,2,0
   keybd_event &H44,0,0,0
   keybd_event &H44,0,2,0
   
   keybd_event &H4D,0,0,0 'Druckername max..
   keybd_event &H4D,0,2,0
   keybd_event &H41,0,0,0
   keybd_event &H41,0,2,0
   keybd_event &H58,0,0,0
   keybd_event &H58,0,2,0
   
   keybd_event &HD,0,0,0 'Enter
   keybd_event &HD,0,2,0
end Sub



Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: keybd_event
« Antwort #1 am: 22.05.06 - 16:24:58 »
Hallo,

hier gibt es mehrere Lösungen.

1. Ich würde nicht die API nutzen sondern mit SendKey und DoEvents arbeiten

2. Man kann per API die Drucker auslesen und wechseln (leider hab ich den Code zur Zeit nicht griffbereit. Kann Ihn aber morgen Abend posten.)

R.
Rainer Zaske

MCSD - C#

Offline GerhardK

  • Frischling
  • *
  • Beiträge: 15
Re: keybd_event
« Antwort #2 am: 22.05.06 - 16:30:24 »
zu 1. Lotus Notes kann nur Sendkeys nach außen nicht zu sich selbst (warum auch immer?). Daher der Ausweg über die API

zu 2. Man kann per API die Drucker wechseln, nur Notes bekommt dies nicht mit, denn der letzte benützte Drucker ist der gewählte. Daran beis ich mir schon 2 Tage die Zähne aus.

Der einfachste Weg wäre Notes zum Standarddrucker zu zwingen, dann hätte ich die Lösung aber wie?

Gruß Gerhard

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Re: keybd_event
« Antwort #3 am: 22.05.06 - 16:57:44 »

Offline GerhardK

  • Frischling
  • *
  • Beiträge: 15
Re: keybd_event
« Antwort #4 am: 22.05.06 - 17:15:10 »
Hallo Moritz,

über beide Threads bin ich schon gestolpert.

Frage zum 1. Thread
wie kann ich in Lotus Script den Befehl @Command( [FilePrintSetup] ) absetzten?

zum 2. Thread
ich möchte wie Don Pascale den Druckerdialog meiden, aber da es meiner Meinung nach auf keinem anderen Weg geht,  möchte ich diesen Dialog wenigstens automatisch abwickeln, von wegen User ist zu dumm und zu faul um den richtigen Drucker zu wählen.

und Cheffe sagt programmier mal schnell

Gruß Gerhard

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Re: keybd_event
« Antwort #5 am: 22.05.06 - 17:19:01 »
Zu 1:
"Call notesUIDocument.Print" oder "Call notesUIView.Print".

Zum Cheffe: Da hilft wohl nur ein "Call notesUICheffe.DeletePermanently (True, False)"

Moritz

Offline GerhardK

  • Frischling
  • *
  • Beiträge: 15
Re: keybd_event
« Antwort #6 am: 22.05.06 - 17:23:17 »
Hallo Moritz,

den Befehl kenne ich. Aber wenn der Printdialog offen ist, wie schicke ich dann von Lotus Script aus die Tastaturbefehle. Der Printdialog ist ja dann modal gebunden und der Code erst mal unterbrochen.

das mit delete Cheffe is gut hi hi
Gruß Gerhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz