应用程序可以将剪贴板用于自己的目的吗? (阅读:谁拥有剪贴板?)

时间:2009-07-23 16:53:58

标签: windows clipboard

在PowerBuilder的IDE中,代码自动完成功能使用剪贴板将完成的文本传递到代码窗口。通过这样做,它会覆盖之前存储在剪贴板上的内容。所以,如果您将下一个lottary的中奖号码存储在剪贴板上,并且您使用自动完成功能将 m_goodfor 转换为 m_goodfornothing ,那么您刚刚失去了唯一的机会变得越来越富有,你的剪贴板上只剩下 nothing 了。

这些特征是the reason I hate software。它似乎是由一些实习生实施的,没有人照顾。然而,我也有机会一无所获,并且使用剪贴板是完全合法的。那么,应用程序可以将剪贴板用于自己的目的吗?谁被认为是剪贴板的所有者?

(奖励投票给那些让自己代替该功能的程序员的人,并提供一些有意义的推理,假设用户实际上会从中受益)

6 个答案:

答案 0 :(得分:4)

你可能正确的实习推理。应用程序绝对没有理由使用剪贴板来传递除纯懒惰之外的信息。即使在流程之间,也有其他更好的信息交流方式。

除了让用户在另一个应用程序中粘贴信息之外,没有理由使用剪贴板。

答案 1 :(得分:2)

程序员这样做是因为它很简单,并且将他的需求置于最终用户的需求之上。有许多程序可以执行此操作,特别是Outlook,VB等的加载项,它们将按钮复制/粘贴到工具栏上。任何运行剪贴板扩展器的用户(比如我自己的ClipMate)都会非常讨厌这种行为(并且你会立即被“破坏”)。

这是我最喜欢的关于这个主题的引用:

“如果没有用户的明确指示,程序不应将数据传输到我们的剪贴板中。” - Charles Petzold,Windows 3.1编程,Microsoft Press,1992

答案 2 :(得分:1)

如果用户未启动该操作,应用永远不应更改剪贴板上的任何内容。反正我的.02。

答案 3 :(得分:1)

  

奖励任何将自己置于该功能程序员位置的人,并为此故意提供一些推理

Using clipboard for application communication

答案 4 :(得分:0)

他们总是更好的方式。程序员可能已经这样做了,因为它实现OR的速度更快,因为他真的想在动作之后将这个值放在剪贴板中。至少,如果他不想将它放在剪贴板中,他可以从剪贴板中获取值,存储其值然后替换剪贴板内的剪贴板的旧内容,一切都会更“透明”而且更少令最终用户感到沮丧。

答案 5 :(得分:0)

我在使用剪贴板的应用程序中构建了一项功能。业务部门要求用户无缝捕获屏幕截图并上传。

我与该公司合作开发它,我们想出的是用户只需点击打印屏幕键并点击我的应用程序中的“上传”。

在后台运行的Java Applet将图像从剪贴板中拉出并向用户显示格式化的预览,然后用户添加了文件名和描述并单击了保存。

使用剪贴板以这种方式为用户节省了必须捕获屏幕截图的时间,将其保存在某处,然后通过上传界面找到它。即使我们确实通过用户点击打印屏幕来捕获图像,但他们已经首先覆盖了剪贴板上的任何内容。

使用剪贴板并不是一件坏事,但我当然同意在IDE中使用它是def no no。