![]() |
AW: Zugriff auf die Clipboard Historie von Windows 10
Oh, ich bemerke gerade, dass Du vermutlich der Verfasser dieser Anleitung bist :thumb:
Nehmen wir einmal an, es sind ganz normale Eingabefelder in verschiedenen Programmen. Wenn die das Format zum Einfügen unterstützen, dann unterstützt doch auch die Zwischenablage das Format und hält es in der Zwischenablage. Oder habe ich da einen Denkfehler? Gibt es Erfahrungswerte, ob es ein solches Format gibt, das werte in Programmen einfügen lässt, aber keine Spuren in der ZA hinterlässt? |
AW: Zugriff auf die Clipboard Historie von Windows 10
Zitat:
Ich muss mich korrigieren, was Ctrl+V etc. angeht: Das wird man doch selbst implementieren müssen, da ja die normalen Edit-Felder mit einem eigenen Clipboard-Format gar nichts anfangen können. |
AW: Zugriff auf die Clipboard Historie von Windows 10
Hallo jaenicke,
hallo Mitleser, gutes Neues 2021 und bitte bleibt gesund! ein kurzer of topic: Zitat:
Gruß |
AW: Zugriff auf die Clipboard Historie von Windows 10
Zitat:
Zitat:
Zitat:
![]() Du packst quasi nur einen Platzhalter in die Zwischenablage und Windows fragt die Anwendung dann danach. Wie sich das dann mit der Clipboard History verhält und ob einmal gerenderte Inhalte danach dann trotzdem darin landen, weiß ich nicht. Das müsste man ausprobieren. Ansonsten würde ich die genannte WinRT API verwenden um den Eintrag explizit zu löschen. Zitat:
|
AW: Zugriff auf die Clipboard Historie von Windows 10
Ich habe die Lösung gefunden, wie man die Daten zumindest nicht in der Windows Zwischenablage sieht!
Unter ![]() Nachfolgender Code versteckt den Inhalt meiner Zwischenablage, lässt den Text aber über Strg+V und "Einfügen" in alle Texteditoren und Eingabefeldern einfügen!
Delphi-Quellcode:
procedure SetDataCB(myCF: Word; pBData: TBytes);
var MemHandle: THandle; MemPtr : Pointer; begin begin MemHandle := GlobalAlloc(GHND, Length(pBData)); if MemHandle <> 0 then begin MemPtr := GlobalLock(MemHandle); try Move(pBData, MemPtr, High(TBytes)); finally GlobalUnlock(MemHandle); end; end else MessageDlg('Global Alloc failed!', mtError, [mbOK], 0); end; // Now we call SetAsHandle to write it to the clipboard. Clipboard.SetAsHandle(myCF, MemHandle); end;
Delphi-Quellcode:
Mit der Anmeldung der anderen ClipBoardFormate CanIncludeInClipboardHistory und CanUploadToCloudClipboard und der Übergabe des false Wertes, lässt sich auch die Übertragung der Daten in die Cloud verhindern.
var
bFalse, bTrue : TBytes; cf : Word; const cfnNoMonitorProc = 'ExcludeClipboardContentFromMonitorProcessing'; // cfnHistory = 'CanIncludeInClipboardHistory'; // cfnCloud = 'CanUploadToCloudClipboard'; begin ClipBoard.Open; bFalse := TBytes.Create(0, 0, 0, 0); bTrue := TBytes.Create(1, 0, 0, 0); cf := RegisterClipboardFormat(CfnNoMonitorProc); if(cf = 0) then ShowMessage('Unable to register ' + CfnNoMonitorProc +'!') else SetDataCB(cf, bTrue); // cf := RegisterClipboardFormat(CfnCloud); // if(cf = 0) then // ShowMessage('Unable to register ' + CfnHistory +'!') // else // SetDataCB(cf, bFalse); // // cf := RegisterClipboardFormat(CfnHistory); // if(cf = 0) then // ShowMessage('Unable to register ' + CfnCloud +'!') // else // SetDataCB(cf, bFalse); Clipboard.AsText := 'Mein Text in der Zwischenablage'; ClipBoard.Close; end; Nachteil: andere Clipboard Viewer, wie z.B. der von GExperts liest die Daten weiterhin aus. Aber mir reicht es grundsätzlich erst einmal so. Ich danke euch für die Denkanstöße! |
AW: Zugriff auf die Clipboard Historie von Windows 10
Zitat:
Für den Fall, dass Du dazu was gelesen hast: Gibt es für einen Clipboard-Viewer auch eine einfache Möglichkeit, diese Flags auszulesen? Dann könnte ich das in GExperts einbauen, dass solche Einträge optional ignoriert werden. Auf den ersten Blick habe ich dazu aber nichts gesehen. Aber zumindest Einträge im Format CanIncludeInClipboardHistory bzw. CanUploadToCloudClipboard müsste man ja einfach auslesen und darauf basiert umschalten können. Mal sehen, ob ich Zeit dafür finde. Edit: ExcludeClipboardContentFromMonitorProcessing wird aber nicht so verwendet, wie Du das machst. Laut Dokumentation schreibt man den Text einfach in diesem Format ins Clipboard statt als Text. |
AW: Zugriff auf die Clipboard Historie von Windows 10
Also ich habe zum Auslesen der ClipBoardFormate testweise die Demo Anwendung "FMXDesktopDemoXE2Plus" von der Komponente "CCR.Clipboard" verwendet.
![]() In der Demo werden die Formate korrekt ausgelesen und namentlich aufgelistet:
Code:
ExcludeClipboardContentFromMonitorProcessing
CanIncludeInClipboardHistory CanUploadToCloudClipboard Unicode Text Locale Identifier Text OEM Text Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 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