Delphi剪贴板程序(悬赏10分数以上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi剪贴板程序(悬赏10分数以上)相关的知识,希望对你有一定的参考价值。

procedure TForm1.Button1Click(Sender: TObject);
var
I:Integer;
begin
//检测剪切板中所有数据格式类型
for I:=0 to Clipboard.FormatCount-1 do
begin
case Clipboard.Formats[I] of
CF_TEXT:Memo1.lines.Add('TEXT');
CF_BITMAP:Memo1.lines.Add('BITMAP');
CF_METAFILEPICT:Memo1.lines.Add('METAFILEPICT');
CF_SYLK:Memo1.lines.Add('SYLK');
CF_DIF:Memo1.lines.Add('DIF');
CF_TIFF:Memo1.lines.Add('TIFF');
CF_OEMTEXT:Memo1.lines.Add('OEMTEXT');
CF_DIB:Memo1.lines.Add('DIB');
CF_PALETTE:Memo1.lines.Add('PALETTE');
CF_PENDATA:Memo1.lines.Add('PENDATA');
CF_RIFF:Memo1.lines.Add('RIFF');
CF_WAVE:Memo1.lines.Add('WAVE');
CF_UNICODETEXT:Memo1.lines.Add('UNICODETEXT');
CF_ENHMETAFILE:Memo1.lines.Add('ENHMETAFILE');
CF_HDROP:Memo1.lines.Add('HDROP');
CF_LOCALE:Memo1.lines.Add('LOCALE');
CF_MAX:Memo1.lines.Add('MAX');
CF_OWNERDISPLAY:Memo1.lines.Add('OWNERDISPLAY');
CF_DSPTEXT:Memo1.lines.Add('DSPTEXT');
CF_DSPBITMAP:Memo1.lines.Add('DSPBITMAP');
CF_DSPMETAFILEPICT:Memo1.lines.Add('DSPMETAFILEPICT');
CF_DSPENHMETAFILE:Memo1.lines.Add('DSPENHMETAFILE');
CF_PRIVATEFIRST:Memo1.lines.Add('PRIVATEFIRST');
CF_PRIVATELAST:Memo1.lines.Add('PRIVATELAST');
CF_GDIOBJFIRST:Memo1.lines.Add('GDIOBJFIRST');
CF_GDIOBJLAST:Memo1.lines.Add('GDIOBJLAST');
else Memo1.lines.Add('其它格式);
end;
end;
end;

如上请问ENHMETAFILE,HDROP,LOCALE,MAX,OWNERDISPLAY,DSPTEXT,PRIVATEFIRST,PRIVATELAST,GDIOBJFIRST,GDIOBJLAST,GDIOBJLAST各自代表什么数据格式,O(∩_∩)O谢谢,回答正确5个以上另外悬赏5分数,10个以上10分数,O(∩_∩)O谢谢,高人不一定为了分数,但是请帮忙( ⊙ o ⊙ )!

这些格式 具体不清楚,看样子好多都是图形方面的格式 参考技术A 你真大方啊

需要将粘贴命令从一个程序发送到另一个程序?

【中文标题】需要将粘贴命令从一个程序发送到另一个程序?【英文标题】:Need to send a pasting command from one program to another? 【发布时间】:2010-03-19 18:34:21 【问题描述】:

我正在使用一个程序来监视键盘的输入,但想使用同一个程序来填充剪贴板,然后自动粘贴到另一个程序的光标位置?这个可以吗...我用的是Delphi 4 Pro。

【问题讨论】:

【参考方案1】:

这是可能的,但这是非常糟糕的设计。提供剪贴板是为了用户的利益和使用,而不是程序员。您最终将丢弃预先存在的剪贴板数据。不可能 100% 忠实可靠地缓存剪贴板内容并在以后恢复。 也就是说,您可以将 Ctrl+V 击键或 WM_Paste 消息发送到另一个窗口。

【讨论】:

您是正确的,但将是控制粘贴消息的用户。我只是想缩短 Ctrl+V,因为它会通过击键知道用户想要做什么。基于组合键,一个程序将从列表中读取并基于该列表进行粘贴?我希望从那以后。有没有更好的办法?【参考方案2】:

向目标窗口发送wm_Paste 消息。

在用户告诉您的情况下将数据放在剪贴板上。剪贴板应该始终处于用户的控制之下,否则您将面临破坏用户已经存储在那里的其他数据的风险。

【讨论】:

我对发送 Windows 消息有点陌生,但这正是我想要做的......而且它将是使用分配的键加载和控制它的用户。我只想使 Ctrl+V 自动。谢谢...如果你有一个简单的例子,我可以使用它。

以上是关于Delphi剪贴板程序(悬赏10分数以上)的主要内容,如果未能解决你的问题,请参考以下文章

Delphi的windows剪切板操作函数

delphi 如何编辑剪贴板工具,就是象word的那样!!!

如何用delphi实现剪贴板

如何在Delphi中使用剪贴板

Delphi操作剪贴板

Delphi中如何将剪贴板中图片保存到文件中