質問: Windows で、 KeePass X を使っていると、「一回だけ張り付けることができるようにクリップボードにコピーする」 のような挙動をしていることがわかります。具体的には: * 「パスワードをコピー」を選択すると、パスワードを「貼りつけ」できるようになる。 * パスワードを入力しおわって、しばらくすると、直前のコピー/切り取りはこのパスワードだったはずだが、おもむろに貼りつけしようとすると何も貼りつけられない * ただ、確認用に 2 回パスワードを入力する画面では、問題なく貼りつけられる クリップボードは OS が管理するので、この挙動をうまく取り扱えるような仕様が、 windows の OS に組み込まれているのではないか、と思っているのですが、一体どのような実装になっているのかちょっと想像できずにいます。 質問: * KeePassX で利用されているような、「1回だけ貼りつけるようにクリップボードにコピーする」の Windows OS の API 仕様はどうなっていますか?具体的には、何がトリガーになって、クリップボードがクリアされますか?
回答: KeepassXはC++のQt5でグラフィックインターフェースを作っており、そのQtのClipbordを使っています。 githubで公開されているこの部分をwindowsの方では拡張していると思われます。 試しにパスワードをコピーして、すぐにKeePassXを終了し、テキストエディタに貼り付けると、 ペーストできなくなっていると思います。