

Windows で、 KeePass X を使っていると、「一回だけ張り付けることができるようにクリップボードにコピーする」
のような挙動をしていることがわかります。具体的には:

  * 「パスワードをコピー」を選択すると、パスワードを「貼りつけ」できるようになる。
  * パスワードを入力しおわって、しばらくすると、直前のコピー/切り取りはこのパスワードだったはずだが、おもむろに貼りつけしようとすると何も貼りつけられない
  * ただ、確認用に 2 回パスワードを入力する画面では、問題なく貼りつけられる

クリップボードは OS が管理するので、この挙動をうまく取り扱えるような仕様が、 windows の OS
に組み込まれているのではないか、と思っているのですが、一体どのような実装になっているのかちょっと想像できずにいます。

質問:

  * KeePassX で利用されているような、「１回だけ貼りつけるようにクリップボードにコピーする」の Windows OS の API 仕様はどうなっていますか？具体的には、何がトリガーになって、クリップボードがクリアされますか？


CC BY-SA 3.0
2017-08-10T08:12:03.227
37100
2017-08-10T08:32:56.460
2017-08-10T08:30:02.387
754
754
question
windows
KeePass X で、「一時的に張り付けられる clipboard」は clipboard の仕様としてどうなっている？


KeepassXはC++のQt5でグラフィックインターフェースを作っており、そのQtのClipbordを使っています。  
githubで公開されているこの部分をwindowsの方では拡張していると思われます。

<https://github.com/keepassx/keepassx/blob/b654fde9cd43202903c0e9e08b2043315335759b/src/gui/Clipboard.cpp>

試しにパスワードをコピーして、すぐにKeePassXを終了し、テキストエディタに貼り付けると、  
ペーストできなくなっていると思います。


CC BY-SA 3.0
2017-08-10T08:32:56.460
37101
2017-08-10T08:32:56.460
5436
37100
answer