Autor Thema: Drucker und Druckoptionen einstellen  (Gelesen 27886 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #21 am: 24.04.03 - 10:57:05 »
Also bei mir scheint alles zu funktionieren!
@ata: Hast du gleich nach dem wechseln versucht etwas zum Drucker zu schicken? Die Funktion SendMessage braucht nämlich anscheinend eine Zeit bis sie zurückkehrt, d.h. mein Debugger hat zumindest eine Zeit gebraucht das ganze auszuführen.

@all:
Werde heute abend versuchen alle Sachen in meine DB einzupflegen also Drucker wechseln, Einzug wechseln, Ausrichtung wechseln etc., wenn es funktioniert bekommt ihr morgen eine TestDB

MfG

Enny
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Drucker und Druckoptionen einstellen
« Antwort #22 am: 24.04.03 - 12:26:21 »
... ich habe noch eine Zeitverzögerung drin aus diesem Grund - damit kann ich natürlich noch spielen...

ata
Grüßle Toni :)

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #23 am: 25.04.03 - 08:12:25 »
Also wie versprochen gibt es heute eine TestDB!!! Sie funktioniert für Wechsel des Standard Druckers, Wechsel der Orientierung, Wechsel des Einzugs und beim Rest wie z.B. Skalierung kann ich jetzt nicht genau sagen ob es nicht funktioniert oder ob mein Drucker das einfach nicht unterstützt! genau das selbe war es mit dem Format hab halt mal A5 gewählt kann mein Drucker aber nicht! Deswegen könnte auch funktionieren!  ;D
Es ist auch noch erweiterbar siehe DEVMODE Type in Skriptbibliothek.
Ach ja ich habe keine Aktionen gemacht da ich das ganze noch übern Debugger laufen lassen wollte! So have a lot of fun ...  ;D
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #24 am: 25.04.03 - 10:45:06 »
Ich hätte da vielleicht noch eine kleine Performance verbesserung, kann sie aber leider nicht implementieren,
da ich diesen Tip nicht ganz umsetzen kann!

Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function
to obtain a unique message for inter-application communication.

(Quelle MSDN)
siehe:
SendMessage:
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/
messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/sendmessage.asp


RegisterWindowMessage:
http://msdn.microsoft.com/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues/
MessagesandMessageQueuesReference/MessagesandMessageQueuesFunctions/RegisterWindowMessage.asp


hat vielleicht einer von euch eine Idee was ich der guten funktion übergeben muß, dass sie auch mit LN redet. SendMessage braucht
nämlich anscheinend je nach konfiguration oder vielleicht auch laufenden Programmen ganz schön viel Zeit. (Bei mir daheim hab ich
ca. 10 sec. warten müssen und ich habe keinen 386er  ;) )
« Letzte Änderung: 25.04.03 - 14:38:42 von enny »
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline muR

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
  • Rock my life
Re:Drucker und Druckoptionen einstellen
« Antwort #25 am: 25.04.03 - 12:09:26 »
Hallo,

ich kämpfe auch eine Weile mit dem Problem. Mir würde es schon reichen wenn Notes den umgestellten standard Drucker akzeptieren würde. Habe einige Sachen von Euch ausprobiert. Windows (Nt4SP6) und andere Programme stellen sich um nur nicht Notes (5.0.11).
Ich hab' es jetzt mit einem externen VB6 Programm probiert. Dabei hat sich gezeigt, das Notes erst nach einem zweiten SendMessage auf die Umstellung reagiert.


Public Sub SetDefaultPrinter(ByVal PrinterName As String, ByVal DriverName As String, ByVal PrinterPort As String)
   
 Dim DeviceLine As String

 DeviceLine = PrinterName & "," & DriverName & "," & PrinterPort
 Call WriteProfileString("windows", "Device", DeviceLine)
 Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, ByVal "windows")
 'Nach dem zweiten Aufruf kommt auch bei Notes 5 der Wechsel an
 Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, ByVal "Windows")
 
End Sub


Innerhalb eines Notes Scripts hat das aber auch nicht viel gebracht.

Das VB Programm kann mit dem Namen des gewünschten Druckers als Parameter gestartet werden. Dann stellt es den standard Drucker um. Ich werde dieses externe Programm in mein Notes script zum Umschalten einbinden.

Vielleicht kommt jemand mit dem VB Programm weiter und kann es in Notes besser einbinden

Gruß muR  :P
« Letzte Änderung: 28.04.03 - 09:04:54 von muR »

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #26 am: 25.04.03 - 12:17:06 »
Ich habe jetzt natürlich das Problem das ich kein NT4 aber ich werde dein zeug mal ausprobieren!

MfG

Enny
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Drucker und Druckoptionen einstellen
« Antwort #27 am: 25.04.03 - 13:31:51 »
ich bekomm das leider nicht hin!
Funktioniert das auch wenn man nur netzwerkdrucker hat?
mir gibt er bei nRet immer -1 zurück.
Was sollte bei hPrinter drinnen stehen!! Da steht bei mir auch nichts drinnen!!

der drucker heisst bei mir "PRT52_EDV" und den Port hab ich auf "NE04:" gesetzt oder kann ich ihm auch irgendwie die ip-adresse angeben?
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #28 am: 25.04.03 - 14:20:07 »
Also um es genau zu wissen wie sich dein Drucker nennt auf welchem Port und vor allem wie
dieser sich nennt, kannst du via VB (wenn du es besitzt) über das Printer Objekt alle Daten
auslesen. Dazu erstellst du einfach ein Projekt, schreibst irgend eine Zeile Code rein die er
abarbeiten muss, lässt das ganze über den Debugger laufen und fügt in der Überwachung das
globale Printer objekt ein. Dann solltest du schon mal alle Daten zu deinem aktuellen std-Printer
haben. Übrigens nRet war glaub ich doch bloß im zweiten Skript dieses ändert ja bloß die
Einstellungen des Druckers und benötigt lediglich den Namen des Druckers. Du solltest eher mal
schauen ob nach der ausführung überhaupt noch ein Standarddrucker ausgewählt ist, wenn nicht
dann passt sicherlich etwas mit dem Namen vom Port nicht!
« Letzte Änderung: 25.04.03 - 14:34:06 von enny »
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Drucker und Druckoptionen einstellen
« Antwort #29 am: 25.04.03 - 14:49:34 »
das problem mit dem druckernamen hab ich gelöst der hat anders geheissen!
("\\srveb05\PRT52_EDV").
Ich hab es mir über  vba im excel mit application.activeprinter ausgeben lassen das ergebnis war : \\srveb05\PRT52_EDV auf Ne04:
der port müsste dann also Ne04: sein.
Er ist mir das script im notes jetzt komplett durchgelaufen und hab auch keine fehler zurückbekommen nur wen ich dann auf drucken gehe und das ganze ausdrucken möchte dann druckt er es mir nicht so wie es in der maske printadmin eingegeben habe!! Er druckt es mir immer im hochformat.
Wenn ich aber vorher auf querformat umschalte und dann in die erste form gehe wo ich hochformat in der printadmin eingestellt habe dann stellt er um aber wenn ich dann im hochformat bin und dann die zweite form öffne dann wechselt  er nicht auf quer!!
Wo kann jetzt der fehler liegen?
« Letzte Änderung: 25.04.03 - 14:54:53 von robertpp »
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #30 am: 25.04.03 - 14:58:12 »
@mur: Also win2k macht keine Probleme, nach dem ich diesen blöden Übergabeparameter bemerkt habe der wohl noch von dir stammt. Nun ja ich bin nicht unbedingt das genie in Sachen Programmierung aber wenn ich mich nicht verlesen hab müssten die Funktion SendMessage auf NT4 genauso funktionieren wie unter NT5 so I don't know!?!
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #31 am: 25.04.03 - 15:16:23 »
@robertpp:
Ich kann bloß soviel sagen: Bei mir gehts! Hin und Her auch die Papiergröße usw. hatte jetzt zwar auch ein Problem das er mir meinen Standardeinzug nicht mehr geändert hat aber auf meinem zweiten Drucker gings wieder.  ???
Angepasst hast du ja wahrscheinlich nichts mehr außer deiner Druckerconfig deswegen!  ???
Hier nochmal meine letzte Version der DB da dürfte sich aber kaum bis gar nichts geändert haben!
« Letzte Änderung: 25.04.03 - 15:18:33 von enny »
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Drucker und Druckoptionen einstellen
« Antwort #32 am: 25.04.03 - 15:33:21 »
@enny

... das werde ich mir heute Abend mal anschauen...

ata


PS: danke für das umbrechen der LINKS - die Seitenbreite ist wieder normal...
Grüßle Toni :)

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #33 am: 25.04.03 - 15:53:24 »
Ach ja Ata weil du gerade sagst du willst es auch testen.
Wie ihr wahrscheinlich merken werdet schluckt diese blöde Funktion SendMessage verdammt viele Ressourcen (bzw. ist einfach mit Kanonnen auf Spatzen geschossen).
Deswegen fänd ich es echt cool wenn sich noch jemand finden würde der uns erzählen kann was man der anderen Funktion übergeben muss damit sie funktioniert.
Ich glaube wenn ich das so bei uns implementiere und das ein paar Leute auf Citrix nutzen gibt es dann bei uns in der Firma bald lange Wartezeiten!  :-\
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Drucker und Druckoptionen einstellen
« Antwort #34 am: 25.04.03 - 21:50:45 »
... einen anderen Weg wie über SendMessage kenne ich auch nicht. Ich habe bei mir noche einen Sleep drin, damit Notes sich noch überlegen kann, ob er alles wahrnehmen will - in Win98 alles noch im grünen Bereich - unter Win2000 habe ich weiterhin Probleme - entgegen den Aussagen, das es funktioniert...

... wenn es aber wo anders funzt, dann müßte das doch zu knacken sein - doch jetzt ist erst mal WE - Familie - gutes Wetter - RELAX

ata
« Letzte Änderung: 27.04.03 - 13:37:45 von ata »
Grüßle Toni :)

Offline muR

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
  • Rock my life
Re:Drucker und Druckoptionen einstellen
« Antwort #35 am: 28.04.03 - 07:12:16 »
@enny, sorry, hat ich vergessen vor dem Speichern zu löschen. Eine andere Möglichkeit als mit SendMessage die Programme zu informieren ist mir nicht bekannt. Im Internet ist auch nur diese SendM.. Möglichkeit zu finden. Ich frag mich auch warum Notes erst auf die zweite SendMessage reagiert. Hat das schon mal jemand mit Notes 6 probiert? Geht's da einfacher?

Es schein auch ein Unterschied zu sein ob Du in der Systemsteuerung den Drucker umstellst oder per Programm. Bei einer Umstellung in der Systemsteuerung reagiert Notes sofort darauf beim Programm nicht. Hat jemand hierfür eine Erklärung? ???


Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Re:Drucker und Druckoptionen einstellen
« Antwort #36 am: 28.04.03 - 07:55:29 »
@mur: Dafür habe ich eine Erklärung:
Wenn du über die Systemsteuerung den Drucker umstellst übernimmt Windows selber die Aufgabe die Programme davon zu informieren! Wenn du genau aufpasst merkst du das auch, denn die Umstellung dauert auch eine gewisse Zeit und das müsste dann der HWND_Broadcast sein.
Übrigens muss es eine andere Lösung als SendMessage geben. Wenn Du dir mal den Link zur SendMessage Beschreibung bei MSDN anschaust den ich gepostet habe, steht dort nämlich das man gerade für solche Programme, die sowas bloß über Broadcasts verstehen, eine andere Funktion nutzen soll. Ich habe bloß das Problem das ich keine Ahnung hab was ich dieser Funktion übergeben soll!!!
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline muR

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
  • Rock my life
Re:Drucker und Druckoptionen einstellen
« Antwort #37 am: 28.04.03 - 08:57:22 »
Hab' mir die SendMessage nochmal angesehen, dabei ist auch der "HWND_BROADCAST" beschrieben.


Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _
  (ByVal hWnd As Long, ByVal Msg As Long, wParam As Any, _
  lParam As Any) As Long

Beschreibung:
SendMessage sendet eine Nachricht an ein anderes Fenster und wartet auf eine Antwort. Die Nachricht umgeht die Nachrichtenwarteschlange und wird unmittelbar verarbeitet.

Parameter:
hWnd Das Handle des Fensters, das die Nachricht erhalten soll. Über die Konstante "HWND_BROADCAST" erreicht man, dass diese Nachricht an alle TopLevel-Fenster gesendet wird.
Msg Legt die zu versendende Nachricht fest.
wParam Zusätzliche Informationen über die Fensternachricht in "Msg".
lParam Zusätzliche Informationen über die Fensternachricht in "Msg".


Beispiele und Infos unter: http://www.vbarchiv.net/vbapi/SendMessage.php

Der Link (enny) zu MSDN funktioniert bei mir nicht, werde es später nochmal versuchen, vielleicht findet sich dort noch etwas.
« Letzte Änderung: 28.04.03 - 09:01:05 von muR »

Offline Manfred

  • Frischling
  • *
  • Beiträge: 5
  • Geschlecht: Männlich
Re:Drucker und Druckoptionen einstellen
« Antwort #38 am: 28.04.03 - 11:20:34 »
Hallo,

da ich mich im letzten Jahr auch mit dem Problem erfolglos rumgeschlagen habe, möchte ich einige Bermerkungen dazu loslassen.

Meiner Meinung nach gibt es keine Möglichkeit, dass der Notes-Client in der Version 5.x richtig auf die Änderung des Standarddruckers reagiert (weder wenn dieser per Hand über die Systemsteuerung noch per Programmbefehl umgestellt wird) - zumindest unter Windows NT und 2000. Liegt wohl daran, dass der Notes-Client eben nicht - oder nicht immer - auf WM_SETTINGCHANGE (alt: WM_WININICHANGE) reagiert. Ich bin mir auch ziemlich sicher, das irgendwo bei Lotus als "eingestandenen Fehler" gelesen zu haben, der ab Version 6 behoben sein soll.

Zu der hier häufig angegeben Methode SendMessage ist zu sagen, dass sie in dem Sinne kein "Ressourcen-Fresser ist", sondern so arbeitet, wie sie eingesetzt wird: Wird als Fenster-Handle HWND_BROADCAST verwendet, werden eben alle Top-Level-Window informiert. Zusätzlich wartet die Methode darauf, bis jedes Top-Level-Window auch die Nachricht verarbeitet hat.

Als Alterrnativen bieten sich an: SendNotifyMessage und SendMessageTimeout. Die erste Methode sendet die Nachricht an alle Fenster ohne auf die Bearbeitung zu warten. Bei der zweiten Methode kann man angeben, wie lange sie jeweils auf die Bearbeitung warten soll.

BOOL SendNotifyMessage(
  HWND hWnd,      // handle to window
  UINT Msg,       // message
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
);

LRESULT SendMessageTimeout(
  HWND hWnd,            // handle to window
  UINT Msg,             // message
  WPARAM wParam,        // first message parameter
  LPARAM lParam,        // second message parameter
  UINT fuFlags,         // send options
  UINT uTimeout,        // time-out duration
  PDWORD_PTR lpdwResult // return value for synchronous call
);

Manfred


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Drucker und Druckoptionen einstellen
« Antwort #39 am: 28.04.03 - 15:28:13 »
@manfred

... das ist auch mein Stand der Dinge...

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz