Italia
Foro

Globaler Speicherbereich...

 
Hallo Profaner...

Ich möchte von einem Programm einen Speicherbereich füllen lassen und diesen dann mit einem anderen Programm auslesen.
Folgende Idee:
- Ich stelle mittels GlobalAlloc globalen Speicher bereit.
- Durch den Flag GMEM_FIXEDerhalte Io l' Pointer auf diesen Bereich.
- Ich kopiere mit RtlMoveMemory alias CopyMemory una variabile in diesen Speicherbereich.
- Mittels Usermessage übermittele Io l' Pointer des Bereichs an ein zweites Programm.
- Mit CopyMemory kopiere ich dort dann den Bereich in un Profan Bereichsvariable, die ich dann auslesen kann.

Leider bekomme ich auf diesem Weg nur Müll zurück. Warum? Hat jemand schon mal so etwas ähnliches gemacht??
 
20.01.2005  
 




Uwe
''Pascal''
Niemeier
Hallo Andreas!

Das mit dem GLOBAL solltest du nicht so wörtlich nehmen!
Jeder Prozess hat seinen Speicherbereich, der per andere Anwendungen normalerweise tabu ist.
Eine Lösung wäre die Message WM_COPYDATA. Damit kann man einen Pointer auf einen Datenbereich an ein Fremdfenster senden; der Pointer wird dabei angepasst.
Nachteil: Zur Auswertung ist ein Eingriff in das Message-Handling des Zielfensters nötig, geht also erst ab XProfan8. Und das hat zur Folge, dass vordefinierte Dialoge (LoadFile, SaveFile, Input, Messagebox) keine brauchbaren Ergebnisse mehr liefern, u.U. geht auch Create(Dialog... nicht mehr.
Zwar lässt sich die MSG-Erweiterung einfach ein-und ausschalten, (SetWindowLong mit alter bzw. neuer WndProc-Adresse), trotzdem sollte RGH da mal was machen...

Stark vereinfachte Demo anbei.

HTH
Pascal

2 kB
Hochgeladen:23.01.2005
Downloadcounter375
Download
1 kB
Hochgeladen:23.01.2005
Downloadcounter179
Download
 
23.01.2005  
 



Komisch - die attachments funzen nicht - die Files liegen auch nicht auf dem Server - potuto Du vielleicht nochmal die Files als .zip posten?

SAlve, iF
 
24.01.2005  
 




Frank
Abbing
Hi,

kannst du das nicht übers Clipboard lösen, Andeas? Würde ich so machen.
 
24.01.2005  
 



Würde mir ein Prog mein Clipboardinhalt zerschießen würde ich es würgen.

Salve, iF
 
24.01.2005  
 




Jörg
Sellmeyer
Hallo Andreas,
Könntest Du dem 2. Programm nicht das Handle eines (unsichtbaren) Edits oder Textfeldes geben?
Saluto
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.01.2005  
 




Rolf
Koch
Hi If,

wenn ich z.B. irgendwelchen Inhalt des Clipboars verändere, dann mach ich es immer so, daß der alte gesichert wird und nach Aktion wieder hergestellt wird.

Rolf
 
24.01.2005  
 



Kla Rolf - da bin ich mir sicher - es nutzt aber nix. :|

Clearclip löscht meiner Meinung mehr als nur z.B. den Text.

Es gibt ja z.B. auch OLEObjekte im Clipboard, Bilder bzw. Fremd/Thirdpartyformate - wo halt eine bestimmte Software das Clipboard nutzt um Daten im eigenen Format zu hinterlegen. Nehme man z.B. Goldwave (ein guter Shareware-WavEditor) - dieser speichert bei Copy den markierten Bereich ins Clipboard in einem eigenen Format. - So auch viele andere Programme.

Also Finger wech vom Clipboard.

Salve, iF
 
24.01.2005  
 




Frank
Abbing
Ciao,

warum denn das Clipboard löschen?
Warum nicht als Clipboardformat CF_DSPTEXT wählen.
KompilierenMarkierenSeparieren
 
24.01.2005  
 




Rolf
Koch
Hi If,


[quote:7e47098e7f]
Es gibt ja z.B. auch OLEObjekte im Clipboard, Bilder bzw. Fremd/Thirdpartyformate - wo halt eine bestimmte Software das Clipboard nutzt um Daten im eigenen Format zu hinterlegen. Nehme man z.B. Goldwave (ein guter Shareware-WavEditor) - dieser speichert bei Copy den markierten Bereich ins Clipboard in einem eigenen Format. - So auch viele andere Programme.
[/quote:7e47098e7f]
Also sollte die Funktion Clipboard überflüssig sein, oder?
Wie wäre es?
Erweiterung XPSE?
Realclip() (Idee hat ja Frank bereits geschrieben)
Wäre super, da ich jetzt wirklich drin bin in XPSE!!!
Rolf
 
24.01.2005  
 



[quote:1eb0564b6e=Rolf Koch]Hi If,


[quote:1eb0564b6e]
Es gibt ja z.B. auch OLEObjekte im Clipboard, Bilder bzw. Fremd/Thirdpartyformate - wo halt eine bestimmte Software das Clipboard nutzt um Daten im eigenen Format zu hinterlegen. Nehme man z.B. Goldwave (ein guter Shareware-WavEditor) - dieser speichert bei Copy den markierten Bereich ins Clipboard in einem eigenen Format. - So auch viele andere Programme.
[/quote:1eb0564b6e]
Also sollte die Funktion Clipboard überflüssig sein, oder?
Wie wäre es?
Erweiterung XPSE?
Realclip() (Idee hat ja Frank bereits geschrieben)
Wäre super, da ich jetzt wirklich drin bin in XPSE!!!
Rolf[/quote:1eb0564b6e]
Nein um Gottes Willen überflüssig ist sie nicht - nur Sie sollte nur dann genutzt werden wenn der User es auslöst. Sonst weiß er ja nicht das sein Clipboard überschrieben wird.

Salve, iF
 
24.01.2005  
 



Hallo allee zusammen...

erst einmal vielen Dank per eure zahlreichen Antworten!

@Frank: Es geht mir hier mal wieder ums Lernen und nicht ums Anwendungen schreiben. Trotzdem besten Dank per deinen Vorschlag - so gehts naturalmente auch.

@Jörg: Das war finora auch meine Lösung, circa Usermessage Handle eines Textelementes senden und dann auslesen.

@Uwe Pascal Niemeier: Was ist dann der Unterschied zwischen LocalAlloc und GlobalAlloc? Und was sind dann Atome?? Sollen Atome nicht global auslesbare Strings sein???

@Rolf: Deine Ansicht circa das Clipboard teile ich - ist aber wohl Ansichtssache...
 
24.01.2005  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

12.291 Views

Untitledvor 0 min.
Jörg Sellmeyer12.06.2020
Ernst08.05.2016
H.Brill16.11.2013
Michael Borowiak22.12.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie