Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Capture Desktop

Capture Desktop
25.08.2005 19:55:22
Frank
Hallo,
ich versuche den Desktop einzufangen :
DesktopHwnd = user32.GetDesktopWindow()

DesktopHdc = user32.GetDC(DesktopHwnd)

Call user32.GetWindowRect(DesktopHwnd, Desktop)

hBitmap = CreateCompatibleBitmap(DesktopHdc, Desktop.Width, Desktop.Height)

hWnd = mod_Main.GetUserFormHandle(Me)

h = user32.GetWindow(user32.GetWindow(hWnd, GW_CHILD), GW_CHILD)

hdc = user32.GetDC(h)

gdi32.BitBlt hdc, 0, 0, Desktop.Width, Desktop.Height, DesktopHdc, 0, 0, SRCCOPY

Call user32.ReleaseDC(h, hdc)

Call user32.ReleaseDC(DesktopHwnd, DesktopHdc)
der Code funktioniert nur leider ist immer das Userform zu sehen!
gibt's irgendeine Möglichkeit von Desktop (wie man ihn sieht wenn Application geöffnet sind) einen Screenshot zu machen ohne UserForm zu sehen? Denn
wenn ich Me.Hide dann den Screenshot und danach dann Me.Show sieht man nix
(ist ja auch klar, da das Frame kein Autoredraw hat).
In eine Image kriege ich es auch nicht weil die keim hDc hat!
Gruss
Frank

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Capture Desktop
25.08.2005 20:55:24
Ralf
Hallo Frank,
direkt helfen kann ich Dir momentan auch nicht, aber schau mal unter

http://www.allapi.net/
vorbei. Da kannst Du Dir einen wundervollen Api-Guide herunterladen (sogar kostenlos). Mit zig Beispielen. Zwar unter VB, doch die meisten lassen sich gut für VBA anpassen. In diesem Guide kannst Du auch nach Stichworten suchen. Ist zwar in englisch, dürfte aber das kleinste Problem sein.
Ciao, Ralf
AW: Capture Desktop
26.08.2005 06:09:05
Nepumuk
Hallo Frank,
was hast du genau vor? Aus deinem Code werde ich nicht schlau, da mir diese Syntax nicht geläufig ist. Willst du einen Teil der Tabelle in einem Image eines Userforms anzeigen? Das geht nämlich mit den Mitteln, die dir Excel zur Verfügung stellt.
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Capture Desktop
26.08.2005 12:00:32
Frank
Hallo,
Ich möchte einen Screenshot meines Desktop (so wie er ist) erstellen.
Ich habe in VB begonnen VNC (Virtual Network Computing) zu portieren.
Ich möchte jetzt einen Viewer in Excel programmieren. Da der Code sehr viel API
Funktionen beinhaltet ist nicht schön, aber nicht zu vermeiden. Mein Problem ist
in VBA sind viele Controls (Image, Button, ...) gezeichnet und verfügen deshalb
nicht über ein Handle (..Findwindow) oder über eine Handle auf einen Devicecontext (DC)
somit füllt das Codefragment einen Frame, der allerding kein Autoredraw besitzt.
Weiterhin ist es ein Problem wenn mein Desktop eine Auflösung von 1600x1200 aber das
UserForm nur 600x600 Pixel besitzt, über Scrollbars den Inhalt des Frames zu Scrollen.
Um nun das Redrawproblem zu lösen könnte man die Windows-Prozedur "Subclassen" um auf ein WM_PAINT reagieren und das Codefragment erneut ausführen, aber ich dachte sowas hätte der eine oder der andere...
Gruss

Frank
Anzeige
AW: Capture Desktop
26.08.2005 13:48:56
Nepumuk
Hi,
wenn du den Screenshot im Clipboard hast, dann füge ihn mit Paste in eine Exceltabelle ein. Darin kannst du dann die Abmessungen auslesen und ein Chartobjekt mit den Maßen erstellen, in den du das Bild kopierst. Dieses Chartobjekt kannst du als .jpg exportieren und dann mit LoadPicture in ein Image laden.
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Capture Desktop
29.08.2005 02:33:15
Frank
Hallo,
ich weiss nicht ob das der richtige Weg ist, weil ich die Bilder eerzeugen möchte sobald ich eine Taste drücke oder mit der Maus bewegungnen ausführe. Sonst muss ich das
Frame "subclassen" und bei jeder Aktion dann neu laden.
Gruss
Frank
Anzeige
AW: Capture Desktop
29.08.2005 02:33:22
Frank
Hallo,
ich weiss nicht ob das der richtige Weg ist, weil ich die Bilder eerzeugen möchte sobald ich eine Taste drücke oder mit der Maus bewegungnen ausführe. Sonst muss ich das
Frame "subclassen" und bei jeder Aktion dann neu laden.
Gruss
Frank
AW: Capture Desktop
29.08.2005 02:33:28
Frank
Hallo,
ich weiss nicht ob das der richtige Weg ist, weil ich die Bilder eerzeugen möchte sobald ich eine Taste drücke oder mit der Maus bewegungnen ausführe. Sonst muss ich das
Frame "subclassen" und bei jeder Aktion dann neu laden.
Gruss
Frank
die Antwort soolte nur einmal drinstehen ;-) o.T.
29.08.2005 02:36:56
Frank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige