Kann man irgendwie den PrintScreen bei seinem Programm sperren?
Habe versucht, über das On KeyDown Event, eine Lösung zu finden, aber anscheinend toleriert er den PrintScreen Button gar nicht als Key.
Problem ist folgendes, bin gerade an einem kleinen Screensaver am Programmieren. Die Inhalte(Bilder) sind aber CopyRight geschützt, und sollen nicht einfach via PrintScreen "geklaut" werden.
moin,
printscreen sperre naja mit system mitteln würde das bestimmt funktionieren
aber eine andere möglichkeit wäre
bildschirmschoner startet
zwischenablager speichern
bildschirmschoner ende
zwischenablager wiederherstellen
somit kan der anwender print drücken soviel er will und bekommt nichts in die zwischenablage zumindest nicht deine bilder
mfg
Hallo Alcedo,
also ich denke, dass das Kopieren der Bilder im Rahmen der Privatkopie zulässig wäre. Wenn dir gelänge, einen wirksamen Kopierschutz zu realisieren, würde du den Benutzer dieses Rechts berauben. Deine Idee gefällt mir daher gar nicht.
herbivore
@herbivore:
Es gibt aber leider kein Recht auf Privatkopie. Es gibt nur den - allein aus praktischen Erwägungen vorhandenen - Bereich, der dekriminalisierten Kopie zur privaten Verwendung.
@Alcedo:
Mir ist zumindest keine Möglichkeit bekannt, dies effektiv zu unterbinden, ausser halt der Überwachung des Clipboards.
Allerdings verstehe ich auch dein Problem nicht ganz: solange du die entsprechenden Rechte an den Bildern hast, um sie verwenden zu dürfen, kann es dir doch egal sein, was der Nutzer damit macht. Nach aktueller Gesetzgebung kannst du nichts dagegen unternehmen, dass er Kopien der Bilder erzeugt. Erst wenn er diese nicht lizenzgemäß nutzt (das Anschauen der Bilder - und damit auch deren Kopien - ist ja durch die Installation deines Bildschirmschoners lizensiert worden), kann der Rechteinhaber dagegen vorgehen.
Ansonsten bleibt dir wohl nur, auf Windows Vista zu warten, wo so etwas integriert sein wird.
Hallo Borg,
Es gibt aber leider kein Recht auf Privatkopie.
ich weiß. Es ist aber auch nicht so, dass es das Recht auf Privatkopie nicht gibt. Die pauschalen Urheberrechtsabgaben ist ja gerade zur Abgeltung der Privatkopien eingeführt worden. Jedenfalls sind Privatkopien zulässig, solange sie nicht durch einen Kopierschutz wirksam verhindert werden. In diesem Sinne ist zu verstehen, dass man durch den Kopierschutz des "Rechts" beraubt wird.
herbivore
Hallo,
ist das nicht so was ähnliches wie zu versuchen das "stehlen" von Bildern aus Webseiten dadurch zu verhindern, daß man das Kontextmenü der Seite sperrt? Ich würde einfach mal davon ausgehen, dass alles, was auf dem Bilschirm des Benutzers angezeigt wird, dieser auch in irgendeiner Form speichern kann. Ob das so einfach über PrintScreen geht oder man noch ein bisschen Aufwand treiben muss -> an das Bild wird man IMHO auf jeden Fall irgendwie kommen (wenn man wirklich will).
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hi
Ich würde mal sagen, wenn ihm die Bilder so gefallen dass er sie Beispielsweise als Desktophintergund nehmen will, soll er doch.
Eine kommerzielle Weiterverwendung könntest du doch durch ein kleines Wasserzeichen "Unterbinden"
So wäre dann wenigstens zweifelsfrei klar, dass die Bilder von dir stammen und gestohlen wurden wenn sie z.B. auf einer fremden Website auftauchen.
Gruss dechavue
Hm, frag die WindowsMessages ab bei protected override void WinProc und ermittle die entsprechenden gesendeten Keys über WPARAM oder LPARAM, dafür einfach in die kostenlos erhältliche Windows SDK reinschauen. Wenn die entsprechende Teste gesendet wird, einfach return; zurückgeben und es erfolgt keine weitere Verarbeitung.
Nur, muss man aufpassen ob bei protected override void WinProc nicht bereist schon zu spät ist. Sollte das der Fall sein, dann über SubClassing das ganze Lösen.
Das würde aber nur funktionieren solange dein Programm läuft, blöd ist nur möchte der Benutzer dann ScreenShoots währenddessen machen während dein Programm läuft klappt das dann auch nicht mehr für andere Programme.
Frage ist wirklich, ob das sein muss? Wenn ja, dann musst den Kunden darauf hinweisen das während der Betriebnahme deines Programms keine ScreenShoot funktionalität gegeben ist.
Natürlich ist aber auch klar das ThirdParty Tools immer noch gehen. Alles abfangen geht nicht.
Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(
Für sowas gibt es Digital Rights Management. Microsoft hat dafür einen speziellen Client für Windows (Gibts kostenlos via Windows Update). Ich hab mich allerdings noch nicht mit der Erstellung DRM geschützter Inhalte beschäftigt.
Da es für DRM glaube ich eine eigene APi gibt (sicher bin ich mir nicht), sollten sich damit auch Bilddaten eines Bildschirmschoners schützen lassen. Den Bildschirmschoner würden dann nur zahlende Kunden verwenden können.
Aber gibt wirklich jemand Geld für einen Bildschirmschoner aus?
Also grundsätzlich bin ich ja auch nicht scharf, dem Benutzer möglichst viel vorzuenthalten. Und ich persönlich stelle meine Bilder immer frei zur verfügung. Aber ich verstehe auch so manchen Fotografen(oder dergleichen) der es satt hat. Wenn er des öfteren auf Inhalt stösst, den er fotografiert hat, aber nicht freigegebenm hat. Dass man an das Bildmaterial kommt ist schon klar, irgendwie gehts immer, auch wenn ich mit dem Fotoapparat vom Bildschirm abfotografiere.
Aber man möchte dem normal sterblichen User nicht gleich die Bilder aufbinden.
Weil bei irgend einem x-belibigen Bild, ist die Gefahr auch nicht gross das es gleich überall anklang findet und von jedem verwendet werden will. Aber wenn du ein einfach nur absolut fantastisches Bild auf deiner Festplatte hast, wird es auch verwendet, wenn es auch 5 Jahre später ist, und man schon gar nicht mehr weiss von wo man es hat.
Grundsätzlich ist meine Idee zum Eigenschutz. Und vor zu einfachem Missbrauch.
Hab das Thema vorerst mal zur Seite geschoben, und hoffe das der durchschnittsanwender gar nicht auf solche 'bösen' gedanken kommt.
Trotzdem danke für eure Hilfe
Hi Alcedo,
bitte übersieh den Beitrag von blackcoin nicht, denn das löst dein Prob absolut.
Ein Screensaver bricht ja immer ab, wenn "irgendwas" passiert. Wenn du in genau dem Moment die Zwischenablage löschst, dann funktioniert PrintScrenn nicht mehr so wie es der Benutzer erwartet ...
🙂
cu Xynratron
PS: dass immer alle über Nutzungsbedingungen philosophieren - tss^^
Herr, schmeiss Hirn vom Himmel - Autsch!
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
Hallo Xynratron,
die Informatik hat große gesellschaftliche Auswirkungen. Vielleicht nicht das einzelne Programm, aber die Summe der vielen Anwendungen und Systeme, die realisiert wird. Jeder hat somit einen kleinen Anteil an der gesellschaftlichen Verantwortung. Die Gesamtveränderung ergibt sich aus der Summe der Einzelentscheidungen, euer Einzelentscheidungen, die getroffen werden. Wir alle müssen anschließend in der Gesellschaft leben, die sich daraus ergibt.
Deshalb finde ich es durchaus sinnvoll, dass hier die Fragen nicht nur technisch/inhaltlich beantwortet werden, sondern dass auch die Wirklungen diskutiert werden. Das zeichnet ein gutes Forum aus, auch wenn es vielleicht im Einzellfall den einen oder anderen nervt. 🙂
herbivore
Guten Morgen.
Mit C# habe ich noch keine so großen Erfahrungen und ich frage mich welcher Klasse sich das bewerkstellen läßt:
bildschirmschoner startet
zwischenablager speichern
bildschirmschoner ende
zwischenablager wiederherstellen
In der Hilfe kann ich da nichts finden.
Freundlichen Gruß,
Karl
was von beidem?
Bildshirmschoner oder Zwischenablage --> Clipboard
mfg
Die Clipboard-Klasse ist mir sicher bekannt.
Aber eben keine Klasse, die mir einen Bildschirmschoner oder einen Zugriff darauf offeriert.
der initiator dieses Post schreibt den bildschirmschoner ja selber ansonsten per windows hook versuchen an die druck taste dranzuhängen
Ein bildschirmschoner ist soweit ich weiß eine ausführbare datei!!
die kannste mit process.start ausführen
mfg