Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Desktoänderungen mitbekommen (https://www.delphipraxis.net/59327-desktoaenderungen-mitbekommen.html)

gsh 20. Dez 2005 18:50


Desktoänderungen mitbekommen
 
Hi DPler

Ich wollt mal ein Programm schreiben des den Desktop von einem PC zum anderen übertragt (Übertragung ist kein problem). Mein Problem ist jetzt des ich nicht immer alles übertragen möchte. Also muss ich irgenwie heraus finden ob und was sich verändert hat doch wie mach ich des? :gruebel:

eddy 21. Dez 2005 08:35

Re: Desktoänderungen mitbekommen
 
Hallo gsh,

ich weiß zwar nicht genau, was Du willst, aber wirf mal einen Blick in das Verzeichnis:

C:\Dokumente und Einstellungen\Administrator\Desktop (bei Win2000)

bzw. das entsprechende bei WinXP

mfg
eddy

meisteralex 21. Dez 2005 08:39

Re: Desktoänderungen mitbekommen
 
ich denke du meinst ob sich dein bildschirmbild änder oder ?

Nuclear-Ping 21. Dez 2005 09:59

Re: Desktoänderungen mitbekommen
 
Im letzten Entwickler-Mag war ein Artikel darüber, per API den Desktop zu sichern und wiederherzustellen. Das sah recht komfortabel aus und würde glaube auch zu deinem Vorhaben passen (Abgleich von Objekten). Schau mal, ob du den irgendwie ranbekommst.

gsh 21. Dez 2005 14:08

Re: Desktoänderungen mitbekommen
 
@meisteralex: Genau

@Nuclear-Ping: Naja des ganze sollte möglichst ressourcen schonend sein. Also möchte ich nicht alle Fenster speichern und immer vergleichen. Mir wärs lieber wenn windos mir ne Botschaft inclusive Handle schickt. :mrgreen:

meisteralex 21. Dez 2005 14:11

Re: Desktoänderungen mitbekommen
 
hmm, also ich programmiere gerade auch sowas in der richtung

mit bltbit kannst du zimlich resourcenschonen die änderung mitbekommen und sogar die differenz speichern (bei mir dauerst so um die 15 Millisekunden!)

gsh 21. Dez 2005 14:14

Re: Desktoänderungen mitbekommen
 
cool klingt gut aber was ist bltbit? :gruebel:

meisteralex 21. Dez 2005 14:20

Re: Desktoänderungen mitbekommen
 
Soweit wie ich das verstanden habe, ist es eine Funktion, die irgendwie direkt auf den Grafikkartentreiber zugreift
Ist auf jeden Fall sau schnell

Was willst du denn genau machen `????

gsh 21. Dez 2005 14:49

Re: Desktoänderungen mitbekommen
 
Genau des was ich oben geschrieben habe.

Also laut meines Vaters heisst es aber bitblt (nicht: bltbit). Aber was hast du darüber weisst du wie man des anspricht bzw. verwendet?

Angel4585 21. Dez 2005 14:57

Re: Desktoänderungen mitbekommen
 
Sag mal Gsh, ich weis ich werd jetzt OffTopic, aber deine Signatur beschäftigt mich irgendwie.

Ich meine diesen Spruch:

"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus

Heisst das wenn man ne positive Kritik bekommt und sich nicht darüber ärgert hat man sie nicht verdient? :gruebel:

gsh 21. Dez 2005 15:03

Re: Desktoänderungen mitbekommen
 
1. Ja des ist wirklich sehr OT

2. Meines wissends gibt es nur negative Kritik (des sagt des wort ja schon aus)

3. Wenn du noch über was sagen willst dann bitte per pn

meisteralex 21. Dez 2005 20:45

Re: Desktoänderungen mitbekommen
 
wenn du mir genau sagen würdest, was du proggen willst könnte ich dir sagen ob ich weiß wie du es mit bitblt machst

Aenogym 21. Dez 2005 21:02

Re: Desktoänderungen mitbekommen
 
zur info: BitBlt operiert mit zwei DeviceContext-handles (Delphi-Referenz durchsuchenTCanvas.Handle). eine operation ist zB. die copy-operation, die den inhalt des einen canvas in den anderen hineinkopiert. und zwar sauschnell ;)
desweiteren gibt's noch operation zum multiplizieren etc.

die copy-operation ist also wie geschaffen für dich, gsh, da du anscheinend den aktuellen bildschirminhalt über ein netzwerk verschicken möchtest.

aenogym

gsh 21. Dez 2005 21:03

Re: Desktoänderungen mitbekommen
 
zwei programme einen server und einen client

der client soll desktop änderungen mitbekommen und diese (nur diese) über des netzwerk zum server übertragen. der server soll des dann darstellen


NAchtrag: @Aenogym: Ja aber wie verwendie ich des was bringt mir de???

gsh 22. Dez 2005 17:39

Re: Desktoänderungen mitbekommen
 
*push*

Also mein Vater hat gemeint des Windows mir da ne Msg schickt wenn was geändert wird. Weiss jemand wie ich die abfange?

meisteralex 22. Dez 2005 18:12

Re: Desktoänderungen mitbekommen
 
hmm also willst du sowas wie vnc machen ?
jo windows schickt ne message wenn was geändert wird, aber wie man da rankommt weiß ich leider auch nicht.
mir hat heute ein kollege versucht zu erklären wie das bei dem rdp von windows funktioniert.
er meinte da würden die verktorgrafikbefehle direkt am grakatreiber abgegriffen und die dann übertragen, deshalb ide geschwindigkeit.
hab jedoch keine ahnung wie das zu realisieren ist, bin jetzt erstmal an der reinen bitmap-übertragung dran + optimierungsalgorithmen

gsh 22. Dez 2005 18:21

Re: Desktoänderungen mitbekommen
 
naja also ich möchte wenns des wirklich gibt schon mit den Messages machen.
Hat einer eine Idee wie des geht?

ichbins 22. Dez 2005 19:12

Re: Desktoänderungen mitbekommen
 
Du kannst sowieso davon ausgehen dass der Bildschirm jedesmal geändert wurde. (Mauszeiger verschoben, Cursor blinkt, Trayicon, etc.)

Du musst nur noch mithilfe von Bitblt den geänderten Bildschirmbereich ermitteln.

gsh 23. Dez 2005 11:26

Re: Desktoänderungen mitbekommen
 
nein davon kann ich nicht ausgehen

Khabarakh 23. Dez 2005 11:29

Re: Desktoänderungen mitbekommen
 
Warum nicht? Der Flaschenhals ist ja wohl eindeutig das Netzwerk. Also sollte es für den Server nichts ausmachen, in einem bestimmten Intervall den Desktop zu überprüfen. Wenn sich nichts geändert hat, wird auch nichts zum Client geschickt.

gsh 23. Dez 2005 11:49

Re: Desktoänderungen mitbekommen
 
nein ich will des aber nicht
wenn dann will ich des gleich richtig schreiben

meisteralex 23. Dez 2005 15:30

Re: Desktoänderungen mitbekommen
 
wenn du sehr viel zeit hast, dann guck dir mal folgendes an
www.rdesktop.org
da ist ein sorcecode von einer clientapplicatin, welche mit dem remotedesktopprotokoll kommuniziert und
nicht bitmpaps sondern steuerbefehe überträgt.
guck mal ob du damit was anfangen kannst, da sind auf jeden fall dokumentationen zum protokolle etc.

gsh 23. Dez 2005 16:43

Re: Desktoänderungen mitbekommen
 
mal davon abgesehen des ich ich kein c kann ist des ja der Client und deshalb wird er mir nicht viel bringen weil der Client will ja gar nicht die MSG von der Windows empfangen er im die Bildänderung ja egal ist, er nimmt nur die Daten stellt sie dar und sendet neue Daten (Maus, Tastureingaben, ..)

gsh 24. Dez 2005 09:07

Re: Desktoänderungen mitbekommen
 
hmm gibt es hier keinen der die MSG weiss?

Luckie 24. Dez 2005 10:01

Re: Desktoänderungen mitbekommen
 
Zitat:

Zitat von gsh
Also mein Vater hat gemeint des Windows mir da ne Msg schickt wenn was geändert wird.

Warum fragst du dann nicht einfach deinen Vater. Er müsste die ja dann auch kennen. Aber meines Wissens schickt der Desktop keine Nachricht an alle Toplevel-Fenster, wenn sich was geändert hat. Das wäre ja der Performancekiller überhaupt. Überleg doch mal wie oft diese Nachricht schon alleine beim Tippen dieses Textes gesendet würde, gar nicht davon zu reden, wenn ein Video abgespielt würde.

gsh 24. Dez 2005 10:06

Re: Desktoänderungen mitbekommen
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von gsh
Also mein Vater hat gemeint des Windows mir da ne Msg schickt wenn was geändert wird.

Warum fragst du dann nicht einfach deinen Vater. Er müsste die ja dann auch kennen.

Glaubst du wirklich ich würde des in der DP schreiben wenn mir des mein Vater erklären könnte?

Zitat:

Zitat von Luckie
Aber meines Wissens schickt der Desktop keine Nachricht an alle Toplevel-Fenster, wenn sich was geändert hat. Das wäre ja der Performancekiller überhaupt. Überleg doch mal wie oft diese Nachricht schon alleine beim Tippen dieses Textes gesendet würde, gar nicht davon zu reden, wenn ein Video abgespielt würde.

hmm ja hast wahrscheinlich recht aber du has da was von Toplevel-Fenster gesagt. D.h. für mich wenn ich ein Lowlevel-Fenster bin dann bekomm ich die nachricht oder?

Luckie 24. Dez 2005 10:08

Re: Desktoänderungen mitbekommen
 
Nein, weil es sie nicht gibt.

gsh 24. Dez 2005 10:15

Re: Desktoänderungen mitbekommen
 
hmm dann werd ich mich doch mit bitblt anfreunden müssen

meisteralex 24. Dez 2005 10:24

Re: Desktoänderungen mitbekommen
 
ich wüsste auch nicht wie das andere system funktionieren sollte
es wäre mir persönlich zu beschränkt, da z.b. das aussehen der seteuerelemente sich mit jeder windows version ändert
wie willst du das einheitlich realisieren ???

gsh 24. Dez 2005 10:26

Re: Desktoänderungen mitbekommen
 
ahm von was redest du? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz