Clipboard "selber schreieben"
Da die Clipboard-Klasse mein Programm regelrecht aufbläht (82 KB auf 3XX KB), habe ich hier nach eigenen Clipboards gesucht.
Und ich bin auch fündig geworden: [nonVCL] Send to Clipboard as Name - Eigenbau Funktionier soweit auch ganz gut, nur wollte ich gerne die Funktion vor allen anderen Aufrufen, also so ähnloich wie das:
Delphi-Quellcode:
Das Problem ist nun, dass diese Funktion 2 Parameter erwartet, ich aber nur den 2. liefern kann...
if ParamCount > 0 then
CopyTextToClipboard({???}, PChar(ParamStr(1))); // <!--- //\\ ***** //\\ if (not FileExists(ParamStr(1))) or (ParamCount = 0) then begin wc.hInstance := hInstance; wc.hIcon := LoadIcon(hInstance, MAKEINTRESOURCE(100)); wc.hCursor := LoadCursor(0, IDC_ARROW); wc.hbrBackground := GetSysColorBrush(COLOR_3DFACE); RegisterClassEx(wc); CreateWindowEx(WS_EX_TOOLWINDOW or WS_EX_APPWINDOW, ClassName, AppName, WS_CAPTION or WS_VISIBLE or WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, 119, 103, 0, 0, hInstance, nil); while GetMessage(msg,0,0,0) do begin TranslateMessage(msg); DispatchMessage(msg); end; ExitCode := msg.wParam; end; Wie kann ich nun die Funktion umschreiben, dass sie auch ohne der "hWnd" funktiniert? |
Re: Clipboard "selber schreieben"
Du kannst mal probieren, was passiert, wenn du da 0 angibst. Allerdings wird das Handle gebraucht, um das Fenster in die ClipboardChain einzureihen. Und ich bin nicht sicher, ob und was da passiert, wenn man dies nicht tut. Andere Programme könnten sich dann bei Kopiervorgängen über die Zwischenablage unter Umständen abnormal verhalten.
|
Re: Clipboard "selber schreieben"
Okay danke Luckie ;) Das funktioniert wunderbar :P
|
Re: Clipboard "selber schreieben"
Nun ja:
Zitat:
Zitat:
Auf der andern Seite stellt sich die Frage, ob dein Programm überhaupt in die Kette aufgenommen werden muss. |
Re: Clipboard "selber schreieben"
Zitat:
es wäre doch auch kein Problem, wenn du die Funktion erst nach der Konstruktion deines Fensters aufrufst. Die Funktion bleibt die gleiche, ausser wenn das Programm mit ungültigen Parametern aufgerufen wird, und was sollen die im Clipboard? Ausserdem kannst du das Abspeichern ja auch noch in einem Else-Zweig aufrufen, wenn es doch sein muss. Gruss Reinhard |
Re: Clipboard "selber schreieben"
Es geht hier in erster Linie um Performance, weil er garnicht das fenster anzeigen soll, wenn alles wunderbar ist ;)
Und deshalb wollte ich, wenn alles wunderbar ist, dass er da nur das einzige macht, was er da machen muss: Den Parameter in das Clipboard zu schreiben (auch ein grund, warum ich es nonVCL geschrieben habe)... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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