この質問はthisとそのaccepted answerと一緒にここに投稿されました。カスタムフォーマットのクリップボードデータをTMemoに貼り付けるには?
私はWindows APIで快適に感じません。 Topografixによって道EasyGPSを探る
は、クリップボード操作を処理し、私はそれが(GPXは正確には)という名前GPX
ウィッヒは、実際にプレーンXMLテキストであるカスタムクリップボード形式を使用していることを発見しました。 Clipboard.AsTextの使用は除外されています。
私はこの段階でつまずく:
program ProbeClipboard;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows,
ClipBrd;
var
CF_GPX: Cardinal;
ClipboardData: THandle;
begin
CF_GPX:=RegisterClipboardFormat('GPX');
if ClipBoard.HasFormat(CF_GPX) then
begin
Writeln('GPX format available in clipboard');
//
OpenClipboard(0);
ClipboardData := GetClipboardData(CF_GPX);
if ClipboardData = 0 then
raise Exception.Create('Clipboard data Error');
/// How to use GlobalLock and GlobalUnLock
/// so that I can paste the Clipboard data
/// to a TMemo instance for example
CloseClipboard;
end;
end.
、私はそのプログラムを修正する助けてください。
FWIWあなたは 'OpenClipboard'を保護するためにここで最後に試してみる必要があります。また、 'OpenClipboard'の呼び出しでエラーチェックが必要です。 –