Comments (3)
サクラエディタ開発当時と現代で「当たり前」の基準が変わってますよね。
::OpenClipboard(hwnd);
が成功するまで ::Sleep(0);
して数回リトライすべき、の見解です。
(既にどっかに詳細書いた記憶です。)
from sakura.
試してみましたがこちらでは再現しませんでした。EOF行で実行すると(切り取りするデータが無い為に)Cut()
に失敗するので警告音が鳴って Paste()
が行われます。
ところでサクラエディタのコピーってレイアウト行に限定したコピーなんですね。VS Codeだとロジック行丸ごとのコピーでした。
from sakura.
OpenClipboard は失敗する事が普通にあるんですね、知らなかったです。
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-openclipboard を読んでみると
OpenClipboard fails if another window has the clipboard open.
と書かれてますね。。
あと検索してヒットした https://groups.google.com/g/scintilla-interest/c/HIuFrgTL8RM?pli=1 には
On Windows the OpenClipboard call, used before reading or writing the clipboard, can fail. This may occur because another application has opened the clipboard. Currently Scintilla fails the Cut/Copy/Paste/… operation when it can not open the clipboard. Normally clipboard operations are driven by the user so do not often overlap. However, sometimes another application such as a clipboard viewer or a virtual machine with a bridged clipboard may be acting on the clipboard in the background. On my main Windows box, it appears that DropBox is causing problems by opening the clipboard when it changes.
It would be possible to retry the OpenClipboard call if it fails. Other APIs, such as the .Net Clipboard.SetDataObject include retry parameters with default behaviour of retrying up to 10 times with a delay between attempts of 100 milliseconds.
- 他のアプリがクリップボードを開いてると失敗する
- 通常はクリップボード操作はユーザーが行うので被る事はそんなに無いはずだけど、クリップボードビューワーや仮想マシン、ドロップボックス等のアプリがバックグラウンドで動いていると問題が起きる事がある
- .NETの
Clipboard.SetDataObject
にはリトライ用の引数がある。link
というような事が書かれてました。
from sakura.
Related Issues (20)
- バックアップ方法を手動も追加してほしい HOT 1
- 開いた時の位置
- issueタイトルは一覧で見た時に内容がわかるタイトルにして欲しいので変更をお願いします。
- デフォルトの文字コードをUTF-8に一括変更する方法の提供 HOT 1
- Vistaスタイルのファイルダイアログでファイルの作成確認が余計に行われる HOT 6
- 丸カッコを含むURLの解釈が変 HOT 5
- GUIやグラフィック描画を考慮したプラグイン機構 HOT 2
- Grep実行結果に対してGrepを実行すると検索対象に存在しない行が検索結果に出力される HOT 5
- 結合文字(濁点・半濁点)のサポート
- ディレクトリ指定をプルダウンではなくディレクトリパス式にしてほしい HOT 3
- 複数行にまたがる文字列置き換えの対応 (正規表現)
- 正規表現での検索文字に\xHHが使えない HOT 2
- Build RequirementsでVisual Studio 2022対応明記 HOT 3
- ドキュメント類の整理やリンク切れの対策などを行う HOT 6
- Visual Studio 2019以前をサポート外とする HOT 9
- タイプ別設定の一括設定
- Azure Piplinesで発生しているMinGWビルドのエラーを対応したい
- Shift-JISのうち、IBM拡張文字由来のローマ数字が正常に表示されない HOT 2
- SHAutoComplete関数を使ったフォルダ位置の入力補完
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sakura.