"Realtime" Keyboard/Maus Macro Recorder Tool (ähnlich AutoIT) gesucht

Hallo,

heute suche ich ein Tool zum Nachvollziehen von Benutzeraktivitäten (Tastatur und Maus) welches alle Tastatur- und Mausaktivitäten aufzeichnet und sie danach wieder abspult.

Ziel ist es, ein Programm zu beobachten und jede Tastatur- und Mausaktivität aufzuzeichnen, um den Weg des Benutzers später exakt nachfahren zu können, und zwar annähernd in der gleichen Geschwindigkeit wie es der Benutzer selbst getan hat. Angesetzt werden soll das Ganze auf ein zickiges Stück CAD Software das sich sporadisch aufhängt. Dem Hersteller fällt nichts mehr ein, und daher vermutet er, „Der Benutzer“ habe wohl „irgend etwas“ falsch gemacht, denn an seiner Software könnne es selbstverständlich nicht liegen.

Ich verwende ein Tool das dem nahe kommt: AutoIt!. Es zeichtet alle Tastatur- und Mausaktivität in einem „Makro“ auf. Leider behält der AutoIt Macro Recorder aber das „Timing“ nicht bei, er spult alle aufgezeichneten Tastenanschläge auf einmal ab. Und er kennt auch keine parallelen Aktivitäten, also Taste gedrückt während die Maus bewegt wurde geht nicht, statt dessen setzt er dann die beiden Aktivitäten unmittelbar hintereinander ab, und das ist leider für meine Anwendung nicht gut genug.

Abgesehen davon muss das Tool mit ordentlichen Größenordnungen zurecht kommen, mit dem CAD System wird normalerweise von früh bis spät durchgearbeitet, das Tool muss also genau genommen einen ganzen Tag lang aufzeichnen können. Und das entstandene „Makro“ soll in irgendeiner Form so wie bei AutoIt als editierbarer Klartext vorliegen, damit man in späteren Phasen der Fehlersuche als irrelevant erkannte Sequenzen eliminieren kann.

Ich vermute, dass man solche Tools für automatisierte Tests einsetzen könnte, eventuell gibt es in der Ecke etwas?

Thx für Hinweise

Armin.

Du willst also einen bewegten Screenshot.

Dann nimm ScreenToGif. Macht genau, was du willst.

https://screentogif.codeplex.com/

Hi Robert,

danke für den Link, ich habe die Homepage durchgesehen … ich zweifle, dass das Tool Tastatur- und mausaktivitäten aufzeichnet. Man kann wohl den Mauscursor aufzeichnen lassen oder auch nicht, aber ob geklickt wurde oder nicht und wenn ja welche Maustaste - das kann man wohl nur am Resultat sehen, aber nicht in irgendeiner Einblendung. Dasselbe gilt auch für Tastenanschläge.

Hab das Tool aber nur überflogen … weißt Du es besser?

Thx

Armin.

Hallo!
Mindestens seit Windows 7 (kann auch schon Vista gewesen sein…) ist von Microsoft die „Problemaufzeichnung“ von Haus aus mit an Bord:
Einfach mal „psr“ aufrufen.
Das Teil zeichnet alle Schritte auf, die ein Anwender durchführt und man kann sogar beliebige Kommentare zu bestimmten Problembereichen einbinden.
Am Schluß kommt eine ZIP-Datei heraus, die man sich zuschicken lassen kann.
Das enthaltene mhtml-Dokument zeigt alle Schritte und enthält außerdem noch einige Infos zur Systemumgebung.

Gruß,
Martin

Hi Robert,

danke für den Link, ich habe die Homepage durchgesehen … ich
zweifle, dass das Tool Tastatur- und mausaktivitäten
aufzeichnet.

?? Das Tool zeichnet den Bildschirminhalt auf und malt kleine gelbe Kreise um den Mauszeiger, wenn geklickt wurde.

Tastenanschläge haben ja oft auch Auswirkungen auf den Bildschirm, etwa weil Text in einem Textfeld erscheint. Oder weil sich ein Fenster nach einer Tastenkombination öffnet. Oder weil wie durch Zauberhand Inhalte erscheinen, wo vorher keine waren (Copy/Paste)

Aus meiner Sicht erschlägt das alle deine Anforderungen.

Hab das Tool aber nur überflogen … weißt Du es besser?

Warum hast du es nicht einfach mal probiert?

Einfach mal „psr“ aufrufen.
Das Teil zeichnet alle Schritte auf, die ein Anwender
durchführt und man kann sogar beliebige Kommentare zu
bestimmten Problembereichen einbinden.

Warum bitte ist das kein öffentlich gemachtes Feature?

Hallo Fragewurm,

Das ist schon ein öffentliches Feature, allerdings nur für Programmierer und den Service gedacht. In „Windows Hilfe und Support“ ist es unter „Problemaufzeichnung“ zu finden.

Wenn da der normale User dran rum spielt, bekommt der Support dann Anfragen, wieso die Festplatte immer voller wird … :frowning:

MfG Peter(TOO)

Nachschlag zur Präzisierung
Hi,

ich hatte es leider nicht klar herausgestellt: das Tool soll nicht nur protokollieren, es soll auch in der Lage sein, den gleichen Vorgang noch einmal abzuspulen, also die CAD Software genau so fernzusteuern wie es der User getan hat.

Ich möchte damit herausfinden, ob die Fehler zufällig auftreten.

Ich möchte auch - wenn der Fehler reproduzierbar ist - den Makroablauf nachträglich ändern, also Teile, die als nicht problemverursachend erkannt wurden, entfernen. Ziel ist am Ende zu möglichst kleinen Sequenzen zu kommen, die ab Programmstart zum Absturz führen, damit der Hersteller überhaupt eine Chance bekommt, das Problem zu reproduzieren.

Daher ist psr von vornherein nicht in Frage gekommen, das Tool kann nur aufzeichnen, aber nicht abspielen. Abgesehen davon hat es ein eingebautes Limit von 100 Screenshots das es für das Beobachten eines ganzen Tags ungeeignet macht.

Gruss Armin.

Hallo Fragewurm,

ROFL!

Das ist schon ein öffentliches Feature, allerdings nur für
Programmierer und den Service gedacht. In „Windows Hilfe und
Support“ ist es unter „Problemaufzeichnung“ zu finden.

Naja, ich bin jetzt auch nicht unbedingt Lieschen Müller und kannte das Tool dennoch nicht. SOOO öffentlich wird diese Perle also offenbar nicht gemacht.

Wenn da der normale User dran rum spielt, bekommt der Support
dann Anfragen, wieso die Festplatte immer voller wird …

Halte ich für vernachlässigbar. Mit ein paar gezockten zur Sicherheit kopierten DVDs ist die Platte viel schneller voll.

-(

:smile:)

Roberti

ich hatte es leider nicht klar herausgestellt: das Tool soll
nicht nur protokollieren, es soll auch in der Lage sein, den
gleichen Vorgang noch einmal abzuspulen, also die CAD Software
genau so fernzusteuern wie es der User getan hat.

Und das Ganze dann am liebsten noch auf einem anderen System?

Ich möchte damit herausfinden, ob die Fehler zufällig
auftreten.

Ich möchte auch - wenn der Fehler reproduzierbar ist - den
Makroablauf nachträglich ändern, also Teile, die als nicht
problemverursachend erkannt wurden, entfernen.

Ich kann mir nicht vorstellen, dass es sowas leicht zu bedienbar gibt.

Was du nämlich eigentlich suchst, ist GUI-Testing.

https://en.wikipedia.org/wiki/Graphical_user_interfa…

Denn… Nach einer Reihe von Benutzerinteraktionen stellt sich eventuell ein Zustand ein, der nicht vorgesehen war. Und genau das decken die GUI-Testtools ab. Der Link beinhaltet am Ende eine Liste von entsprechenden Tools.

Ziel ist am
Ende zu möglichst kleinen Sequenzen zu kommen, die ab
Programmstart zum Absturz führen, damit der Hersteller
überhaupt eine Chance bekommt, das Problem zu reproduzieren.#

Wie wäre es mit ein bisschen altehrwürdiger Adminarbeit? Also sich mal neben den Benutzer setzen und ihm auf die Finger schauen, bis der Fehler auftritt. Dazu muss man natürlich die Software recht gut kennen, um zu sehen wann der Benutzer die vorgesehenen Wege verlässt. Und wenn das dann auftritt, dann versucht man genau das manuell wieder zu provozieren.

Das ist aus meiner Sicht erheblich schneller als den Benutzer noch die Bedienung eines weiteren Programms aufzuzwingen. Sowas verursacht nämlich Stress und der zieht eventuell weitere Fehlbedienungen nach sich, die das eigentliche Problem überdecken.

Daher ist psr von vornherein nicht in Frage gekommen, das Tool
kann nur aufzeichnen, aber nicht abspielen. Abgesehen davon
hat es ein eingebautes Limit von 100 Screenshots das es für
das Beobachten eines ganzen Tags ungeeignet macht.

Einen ganzen Tag jedwede Aktion des Benutzers aufzeichnen ist auch keine Art, Fehler zu suchen! Wie willst du das jemals nachstellen? Du müsstest dir ja den ganzen Tag auch ansehen, um den Fehler eingrenzen zu können. Da kannst du dich auch gleich neben ihn setzen.

Hi …

Und das Ganze dann am liebsten noch auf einem anderen System?

Erst mal nein. Ziel #1 ist immer Reproduzierbarkeit. Dann Ziel #2: Reproduzierbarkeit auf der Anlage des Entwicklers. Warum? Weil ich ihm meine Anlage notfalls zur Fehlersuche zur Verfügung stellen kann.

Ich kann mir nicht vorstellen, dass es sowas leicht zu
bedienbar gibt.

Das ist auch nicht das Ziel. Man muss bereits ziemlich verzweifelt sein. Die Gesamtsituation: Du hast da ein CAD System angeschafft, das mit allen Modulen und der Hardware pro Arbeitsplatz auf gut 100.000 Euro kommt. Du hast Mitarbeiter eingeschult, und bereits größere Datenbestände in diesem System stecken.

Das System abzulösen würde einen Schaden verursachen der locker siebenstellig werden kann.

Die Software läuft anfangs zufriedenstellend. Dann beginnen die Mitarbeiter zu jammern, dass sie jeden Tag ein, zwei mal abstürzen. Dass es jahrelang lief kann viele Gründe haben, zum Beispiel auch Einarbeitung: die Mitarbeiter versuchen nun mehr und exotischere Features zu nützen als am Anfang. Oder sie dachten früher, sie haben was falsch gemacht, und haben die Abstürze verschwiegen.

Eine Fehlermeldung produziert das Programm nicht, es schließt sich einfach, was schon mal die üblichen Verdächtigen ausschließt. Muss ein innerer Fehler in der Software sein, die Notbremse die gezogen wird, wenn die reguläre Bremse (Error-Handler) nicht zieht.

Du meldest das dem Hersteller, und bekommst nur vage, nichtssagende, ausweichende, unkonkrete Antworten. Kann nicht sein, muss an der Hardware liegen. im Klartext: er weiß auch nicht weiter, und schiebt deshalb das Problem erst mal so weit wie möglich von sich. Kann er entspannt tun, schließlich stürzen nicht seine Computer ab, und er weiß genau, dass man von derartig exotischen und teuren Systemen nach Jahren so abhängig ist, dass man ihn nicht erfolgreich mit „ich schmeiß das raus“ bedrohen kann.

Was du nämlich eigentlich suchst, ist GUI-Testing.

https://en.wikipedia.org/wiki/Graphical_user_interfa…

So ungefähr. Ein GUI Testing Tool würde möglicherweise das können was ich suche. Anders herum setze ich oft AutoIt ein, um GUIs zu testen. Aber in diesem Fall lässt es mich hängen, weil ich die Tests immer manuell zusammenstelle und nicht auf Basis einer Aufzeichnung von Benutzeraktivitäten. Der AutoIt Makro Recoder hat die genannte Schwäche, dass er das Timing bei Tastatur- und Mauseingaben nicht beachtet. Andereseits brauche ich als Basis eine Aufzeichnung der Benutzeraktivität, diese Funktion fehlt den mit bekannten GUI Test Tools.

Denn… Nach einer Reihe von Benutzerinteraktionen stellt sich
eventuell ein Zustand ein, der nicht vorgesehen war. Und genau
das decken die GUI-Testtools ab. Der Link beinhaltet am Ende
eine Liste von entsprechenden Tools.

Bedenke auch, dass an einem CAD Arbeitsplatz anders garbeitet wird als an einem gewöhnlichen PC. Es gibt einen Digitizer, und eine (exotische) 3D Maus, aber die wirklich schnellen Entwickelr machen ganz viel über Tasteturkommandos, weil sie dann die Hände nicht von den Tasten nehmen müssen. Durch das direkte Eingeben von Korrdinaten kann man Teile exakt positionieren, ohne afwändige Fangfunktionen zu bemühen.

Wie wäre es mit ein bisschen altehrwürdiger Adminarbeit? Also
sich mal neben den Benutzer setzen und ihm auf die Finger
schauen, bis der Fehler auftritt. Dazu muss man natürlich die
Software recht gut kennen, um zu sehen wann der Benutzer die
vorgesehenen Wege verlässt.

Die „vorgesehenen“ Wege existieren bei so einer Software nicht. Alle möglichen Wege sind „vorgesehen“ „Zuschauen“ bzw. User befragen wurde ausprobiert, hat aber kein Ergebnis gebracht. Man könnte nicht reproduzierbar sagen, dass eine bestimmte Funktion das Programm abstürzen lässt. Selbst wenn der gleiche Benutzer gebeten wurde, exakt das gleiche nochmal zu tun, und er sich bemüht hat dem nachzukommen (sofern er bei einem Absturz nach einer mehrstündigen Session dazu überhaupt in der Lage ist), es ist in keinem einzigen Fall gelungen, den Absturz durch normales Arbeiten zu provozieren.

Einen ganzen Tag jedwede Aktion des Benutzers aufzeichnen ist
auch keine Art, Fehler zu suchen! Wie willst du das jemals
nachstellen? Du müsstest dir ja den ganzen Tag auch ansehen,
um den Fehler eingrenzen zu können. Da kannst du dich auch
gleich neben ihn setzen.

Es ist in der Situation der einzige Ansatz. Du kennst die Situation. Die einfachen Möglichkeiten wurden m.E. ausgereizt. Was konkret würdest Du nun anderes tun? Helfen kann nur der Hersteller des Programms. und Hinweise die ihm helfen kann nur ich erstellen. Neblige Beschwerden dass „es abstürzt“ sind völlig sinnlos, ich bekomme selber genügend davon den ganzen Tag lang.

Gruss Armin.

Dann einfach Kamera drüber und aufzeichnen .
wer den fehler dann gerne reproduziert , kann die aufzeichnungen von einem Makro (Tastatur) ja nachvollziehen , keylooger zeitgenau wirds ja wohl geben .

Somit ist wenigstens das warum und wobei tritt es auf sicher gestellt . Der User muss halt nur mitspielen und diesen Tag dann einreichen .

Damit wäre doch ersichtlich wann , das versucht man dann nach zu machen und zu gucken ob es überhaupt an den Befehlen liegt bzw an dem Machen oder was anderes verantwortlich ist, was gar ncihts mit dem Programm an sich zu tun hat .

Ist fummelig , aber geht hier ja auch nicht um kleingeld .

wenns also woanders so funktioniert ist es tatsächlich euer system

Dann einfach Kamera drüber und aufzeichnen .

Sehe ich auch so. Dein Szenario klingt zu komplex für einen irgendwie gearteten Makroeditor. Stell eine HD-Kamera so auf, dass sie Bildschirm und Hände aufnimmt.

Oder stelle 2 Kameras auf, eine für den Bildschirm und eine zweite für die Hände. Vorher die Uhren synchronisieren und die Zeit einblenden.

Dann hat man erstmal einen Beweis, dass es überhaupt einen Absturz gibt und nicht versehentlich Alt+F4 gedrückt wurde. Und du hast deine gewünschte zeitliche Exaktheit.

Aber ich vermute, dass es dann plötzlich geht, weil die Leute sich dann nämlich zusammenreißen und nicht nebenbei Musik auf Youtube hören und auch nicht zwischendrin bei Facebook und bild.de unterwegs sind. Aber DAS kriegst du mit keiner einzigen Aufnahmetechnik in den Griff.

Hallo Armin,

Es ist in der Situation der einzige Ansatz. Du kennst die
Situation. Die einfachen Möglichkeiten wurden m.E. ausgereizt.
Was konkret würdest Du nun anderes tun? Helfen kann nur der
Hersteller des Programms. und Hinweise die ihm helfen kann nur
ich erstellen. Neblige Beschwerden dass „es abstürzt“ sind
völlig sinnlos, ich bekomme selber genügend davon den ganzen
Tag lang.

Da hast du dir was schönes angelacht!

  1. Du weisst gar nicht, ob das Problem über die Benutzeroberfläche überhaupt reproduzierbar ist. Möglicherweise müssen auch noch weitere Bedingungen erfüllt sein.
  2. Bei solchen Systemen kommt es auch vor, dass der Fehler abhängig von Datenbestand ist. Weil zu viele Dateien gefunden werden läuft irgendein Puffer über, aber nur wenn der Dateiname der 5. Datei mit A anfängt :wink:

Ich hatte 1978 so einen lustigen Fehler in CBASIC unter CP/M:
Damals waren die Programme noch übersichtlich und man konnte mit dem Debugger und Disassembler noch etwas ausrichten.

Der Compiler hat sich einfach aufgehängt ohne irgendeine Meldung.
Der Sourcecode war fehlerfrei und wenn man eine Kleinigkeit geändert hat, ging es durch.

Die Ursache lag in der Pufferverwaltung. Der Sourcecode wurde sektorweise in einen Puffer gelesen und es gab eine globalen Pointer, welcher auf das aktuelle ASCCII-Zeichen zeigte. Zeigte der Pointer hinter das letzte Zeichen im Puffer, wurde der Puffer nachgeladen.

An irgendeiner Stelle wurde nun aber manchmal die Position p+1 abgefragt. Das funktionierte fast immer, ausser wenn p gerade auf das letzte Zeichen im Puffer zeigte.
Wenn man dann ein Leerzeichen vor dieser Stelle im Sourcecode eingefügt hat, konnte alles problemlos compiliert werden.

Erstmalig ist der Fehler beim Rumspielen mit dem neuen Compiler aufgetreten. Wir haben dann, unter anderem, eine ganze Finanzbuchhaltung programmiert, dabei ist dieser Fehler dann noch 1-2 mal aufgetreten.

Das mit der Reproduzierbarkeit ist nicht immer einfach!

MfG Peter(TOO)

Hi Peter,

Da hast du dir was schönes angelacht!

Wenigstens einer der mal MITLEID mit mir hat :smile: Was solls aber? Wenn ich es schaffe, bin ich der Held, wenn nicht ist auch nicht viel kaputt. Die ersten Polarforscher standen vor der selben Situation, nur dass ihre Aussichten, wenns nicht klappt, ungleich schlechter waren :smile:

  1. Du weisst gar nicht, ob das Problem über die
    Benutzeroberfläche überhaupt reproduzierbar ist.
    Möglicherweise müssen auch noch weitere Bedingungen erfüllt
    sein.

So isses. Was tun? So lange an allen möglichen Stellen im Dunken stochern bis es irgendwo quiekt, und hoffen dass man die Sau raustreiben kann, um sie dann waidmännisch aus kurzer Distanz mit einer völlig überdimensionierten Waffe zu erledigen :smile:

An irgendeiner Stelle wurde nun aber manchmal die Position p+1
abgefragt. Das funktionierte fast immer, ausser wenn p gerade
auf das letzte Zeichen im Puffer zeigte.
Wenn man dann ein Leerzeichen vor dieser Stelle im Sourcecode
eingefügt hat, konnte alles problemlos compiliert werden.

Teuflische Dinger sind das. Ich sage nur: Turbo Pascal, Editor, unsichtbare Steuerzeichen im Sourcecode. Er jault dann z.B. nach schließenden Anführungszeichen und stellt den Cursor, der den Fehler anzeigt, genau auf das schließende Anführungszeichen.

Oder Microsofts erster täppischer Versuch, Quotierung zu implementieren. Abgesehen davon dass bereits die Grundidee, Dummheit bei der Anwendung von Software mit Software zu bekämpfen immer schon keine gute war, konnte man Accounts, die ein „@“ Zeichen im Accountnamen haben, nicht quotieren. Sie wurden beim Eingeben der Quote einfach nicht gefunden. Blöd wenn ein früher Pionier auf die idee kam, dass es eigentlich toll wäre wenn seine Anwender sich mit ihren E-Mail Adressen anmelden könnten. Der „@“ war damals sowohl in einem Benutzer- als auch in einem Gruppennamen zulässig. inzwischen wurde das geändert. Die Pioniere sind eben immer die, die mit den Pfeilen im Rücken in der Prärie liegen, und meistens sind die Pfeile blau und haben „Greetz by Microsoft“ auf den Federn stehen. :smile:

Erstmalig ist der Fehler beim Rumspielen mit dem neuen
Compiler aufgetreten. Wir haben dann, unter anderem, eine
ganze Finanzbuchhaltung programmiert, dabei ist dieser Fehler
dann noch 1-2 mal aufgetreten.

Das mit der Reproduzierbarkeit ist nicht immer einfach!

Wem sagst Du das (ächz). Ich könnte der endlosen Liste der EDV Anekdoten noch unzählige hinzufügen. Eventuell kann www ja eine eigenes Forum „IT Götter- und Heldensagen“ eröffnen? Es wäre sicher viel lustiges dabei :smile:

Zu Beispiel eine meiner berühmtesten Programmierfehler, es ging um eine Art Raytracer, der Code war so ungefähr so:

For x = 0 to Raumlänge Step Schrittweite\_x
 For y = 0 to Raumbreite Step Schrittweite\_y
 For z = 0 to Raumhöhe Step Schrittweite\_z
 ... langwierige geometrische Berechnungen ...
 Winkel = ....
 // Falle: Tan (90 Grad) wäre nicht definiert wir weichen elegant aus
 if abs(WInkel) = pi/2
 ... irgendeine mathematische Notlösung
 else
 Irgendwas := tan(Winkel) plus, minus, mal bla, schwatz, plapper
 endif
 ... langwierige Berechnungen mit irgendwas ...
 Next z
 Next y
Next x

Programm fliegt in der Zeile mit dem Tangens aus der Kurve, aber nicht immer. Da die Geometriedaten aus realen Raumabmessungen stammten stellte ich nur fest, dass mein Programm bei manchen Räumen auf die Bretter ging und bei ganz, ganz vielen nicht. Ich habe mich zu Tode gesucht, bis ich irgendwann draufgekommen bin, dass der Rundungsfehler durch die endliche Stellenanzahl bei Gleitkommazahlen in der Sicherheitsabfrage mit dem If dafür gesorgt hat, dass manche Winkel die fast, aber nicht ganz, 90 Grad betragen haben, den Test bestanden haben, während die tan() Funktion bereits mit einem Überlauf auf die Nase fiel.

Lösung:

if (WInkel - Pi/2) 

Soweit wäre das einfach nur ein lästiger Anfängerfehler. Aber es geht lustig weiter ... hast Du schon mal gesehen wie ein Epson Nadeldrucker in die Thermosicherung läuft, und wenn ja oder nein, egal, was hat das damit zu tun?

Nun, in meiner Naivität habe ich in der z Schleife Testausgaben aller möglicher Variablenwerte eingefügt, je Durchlauf wurde eine Zeile auf meinem Epson Drucker geschrieben. Der Plan: wenns crasht, kann ich die Variablenwerte in der letzen gedruckten Zeile abholen. Dann habe ich das Programm laufen lassen, ich hatte ja keine Vorstellung davon, wie viele Millionen Durchläufe ich bei x\*y\*z Berechnungen bekomme :smile:

Das Programm lief und lief, der Drucker druckte brav Zeile um Zeile auf Endlospapier, mir wurde langweilig und ich ging Mittagessen. Als ich zurückkam waren mehrere Dinge passiert:

- Der Drucker hatte etwa einen 2/3 Pack Endlospapier durchgejagt. Soweit ich mich erinnere waren so um die 2500 Blatt in einem Karton.
- Der Druckkopf war so heiß dass die Thermosicherung angesprungen ist, was heißt: 1 Zeile drucken, 3 Sekunden verschnaufen (abkühlen), nächste Zeile drucken, verschnaufen. Gepufferte Ausgabe gabs nicht, deshalb hat mein Programm auch brav gewartet bis die Zeile gedruckt war bevor es weiter gerechnet hat. Allzu weit war es noch nicht gekommen :smile:
- Die Papierfahne war bereits meterweit ins Büro vorgedrungen
- Ein Witzbold von Kollege hat das Ganze gesehen und aber nicht etwa mein Programm gestoppt, sondern den Drucker auf einen Rollcontainer gehoben und dann einen Papierkorb so drunter gestellt dass das Papier direkt aus dem Drucker in den Papierkorb lief
- An meinem Bildschirm klebte ein Postit, auf dem stand: "Was soll das? Hardware-Dauertest Epson-Drucker???" (gez: Cheff)



> -)


Armin.

Habt ihr den Untäter dingfest gemacht?