1

これは、私の指先で Unicode の素晴らしい機能を追加しようとしている私のスクリプトのスニペットです。

::\iff::
    SendUnicode("⇔")
    return

; many rules later...

SendUnicode(char){
    ClipSaved := ClipboardAll ;;;
    ;apparently this is the only way AHK can handle Unicode.
    Transform, Clipboard, Unicode, %char%
    SendInput ^v
    Clipboard := ClipSaved ;;;
    return
}

;;;残念ながら、クリップボードの内容を保持する際に一貫性のない結果が得られたため、 でマークされた行をコメントアウトする必要がありました。特に、私が経験した最も頻繁な問題は、既存のクリップボードの内容をchar.

上記が失敗する理由と、問題を解決するために私ができる解決策についてのアイデアはありますか?

4

1 に答える 1

2

Windows では、クリップボードはさまざまな種類のデータを保持できます。貼り付けると、アプリケーションは使用可能なデータの種類を確認し、1 つ以上の種類を要求してから、その使用方法を決定します。クリップボードに既にデータがあり、AutoHotkey が Unicode をクリアせずにクリップボードに追加する場合、アプリケーションは Unicode の代わりに他のデータを参照して要求する可能性があります。

これらは、Windows で使用できる標準のクリップボード形式です: http://msdn.microsoft.com/en-us/library/ms649013(VS.85).aspx

Autohotkey が CF_UNICODE 形式で貼り付けられ、アプリケーションが古い CF_TEXT データを要求している可能性があります。

Autohotkey_L の Send 関数を使用して、クリップボードの要件をバイパスできるはずです。http://www.autohotkey.net/~Lexikos/AutoHotkey_L/

このフォーラム投稿のコードを Autohotkey_L で試してみてください: http://www.autohotkey.com/forum/viewtopic.php?p=272379#272379

于 2010-03-15T16:03:07.160 に答える