AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Das Desktopbild unter meinem Formular
Thema durchsuchen
Ansicht
Themen-Optionen

Das Desktopbild unter meinem Formular

Ein Thema von Popov · begonnen am 10. Mär 2012 · letzter Beitrag vom 11. Mär 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

Das Desktopbild unter meinem Formular

  Alt 10. Mär 2012, 13:59
Trotz dem ich mich schon mal mit so einer ähnlichen Frage ins Fettnäpfchen gesetzt habe und eine einfache Funktion als Lösung bekam, frage ich trotz, vielleicht gibt es auch hier eine einfache Funktion.

Das ganze ist nur eine Idee, kein richtiges Programm, mehr eine Machbarkeitübung. Ich hab es vor Monaten mal gesehen und seit dem fällt es mir immer wider ein. Und zwar will ich de facto ein Screenshot von dem Bereich unter meinem Fenster machen. Ich hab mir das eigentlich einfacher vorgestellt als es dann tatsächlich wurde. Was ich gemacht habe war zuerst alle sichtbaren Fenster zu ermitteln, dann deren Rect Bereiche, dann überprüft ob die sich mit meinem Fenster überschneiden und wenn ja, Screenshot von dem überschneidendem Bereichen gemacht. Dann alle Screenshots passend zusammengefügt und fertig ist das Bild unter meinem Formular.

Das klappt auch, aber sehr sehr langsam. Wenn ich mein Fenster bewege, dann ruckelt es stark. Also viel mehr optimieren kann man da kaum. Ein wenig, aber das wird es nicht bringen.

Also entweder ist mein Ansatz falsch oder andere nutzen eine Funktion oder machen es ganz anders.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Das Desktopbild unter meinem Formular

  Alt 10. Mär 2012, 15:04
Was heißt hier "andere"?
Was möchtest du denn eigentlich erreichen?

Eine Form auf dem Bildschirm z.B. mit einer Textverarbeitung und dann den Bereich darunter abfotografieren?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: Das Desktopbild unter meinem Formular

  Alt 10. Mär 2012, 15:10
Der Desktop Window Manager von Vista und Win7 hält ja selber Screenshots von den sichtbaren Fenstern (visible und nicht minimiert), z.B. für dieses komische Win+Tab und die Taskleistenvorschaudinger.
Eventuell kann man diesen irgendwie nach seinen Bildern befragen?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
newmusicslamer

Registriert seit: 27. Feb 2012
29 Beiträge
 
Delphi 7 Personal
 
#4

AW: Das Desktopbild unter meinem Formular

  Alt 10. Mär 2012, 18:37
Du könntest vielleicht auf buttonclick die Form transparent machen und dann müsste man mit dieser Klasse einen Screenshot erstellen (ich habe sie zwar noch nicht ausprobiert, aber es sollte funktionieren!
newmusicslamer
Delphi for the win!
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Das Desktopbild unter meinem Formular

  Alt 10. Mär 2012, 19:47
Was heißt hier "andere"?
Was möchtest du denn eigentlich erreichen?
Was man damit erreichen kann? Ich will damit vorerst nichts erreichen. Das ist einen Technik die ich das erste Mal vor etlichen Jahren in TV in einer Computersendung bei einer Bildschirmlupe gesehen habe. Und seit der Zeit beschäftigt mich die Machbarkeit. Es ist einfach so, dass hier der Bereich unter dem Fenster vergrößert wird, also muß der Bereich irgendwie ausgelesen werden. Und so wie ich es bis jetzt geht zwar, es ist aber nicht flüssig.

@newmusicslamer
Das habe ich schon schon früher getestet. Machbar ist es, auch flüssig, aber das Fenster flackert.

@himitsu
Ich schätze auch, dass Windows irgendwas da bietet, und wenn man sich überlegt, so verkehrt ist meine Idee auch nicht. Nur aus irgendeinem Grund langsam.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Das Desktopbild unter meinem Formular

  Alt 10. Mär 2012, 20:47
Windows bietet sogenannte Zugangsmöglichkeiten, z.B. über sogenannte Dupplicationstreiber, worüber man eine Kopie des Desktops bekommt. (mein kleiner USB-Beamer nutzt sowas)

Dann gibt es auch Möglichkeiten direkt in den Videopuffer zu schreiben, wie es z.B. bei Videos oft genutzt wird, wo man dann bei einem Screenshot vom Video nichts sieht.

Man könnte auch mit mehreren Desktops arbeiten, also einem Zweiten, wo man nur eine Kopie des eigentlichen Desktops anzeigt und dazu dann noch mehr, wie eben diese Lupe.

Oder man läßt sich alle Zeichenoperationen mitteilen, so wie es z.B. vom RDP genutzt wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Das Desktopbild unter meinem Formular

  Alt 11. Mär 2012, 08:09
Ich habe mal ein winziges Beispiel geschrieben, siehe Anhang. Das erhebt keinen Anspruch die beste Lösung zu sein, aber es funktioniert, vermutlich ab Vista. Unter alten Systemen wie XP funktioniert das nicht.
(Ich wollte damit gleichzeitig Generics für einen anderen Thread demonstrieren, deshalb der Record, eigentlich braucht man den natürlich nicht.)
Angehängte Dateien
Dateityp: zip Bildschirmlupe.zip (1,91 MB, 13x aufgerufen)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (11. Mär 2012 um 08:12 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Das Desktopbild unter meinem Formular

  Alt 11. Mär 2012, 08:18
Ich habe das mal so gelöst, das ich das Fenster unsichtbar mache, dann einen Screenshot anfertige und dann das Fenster wieder sichtbar mache. Ein Dreizeiler und man merkt es kaum.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Das Desktopbild unter meinem Formular

  Alt 11. Mär 2012, 09:28
Die Lösung aus meinem Beispiel geht ja auch direkt. Da muss man nur noch an den Bildschirmrändern ein wenig prüfen, aber ansonsten funktioniert das doch so auch ohne derlei Tricks.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#10

AW: Das Desktopbild unter meinem Formular

  Alt 11. Mär 2012, 11:12
Ich habe das mal so gelöst, das ich das Fenster unsichtbar mache, dann einen Screenshot anfertige und dann das Fenster wieder sichtbar mache. Ein Dreizeiler und man merkt es kaum.
Wenn es nur um einen Screenshot geht, dann reicht ein Dreizeiler, da hast du Recht, aber bei einer Bildschirmluppe klappt es nicht, denn dann flackert es.

@Sebastian
Also bei XP funktioniert es auch, allerdings weiß ich nicht ob richtig. Bei mir wird der Bereich neben dem Fenster vergrößert. Um mir den Code anzugucken ist noch zu früh, das Gehirn ist noch nicht angelaufen.

Übrigens, ich hab ein wenig gesucht und so ein Teil gefunden: http://www.4neurons.com/other/Magnifying_Glass/ Da kann man sehen, dass es funktioniert. Schnell und ohne flackern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz