選択文字列中で 7-bit ASCII 以外の部分を \x80 に置換するマクロです。
その文字列が「バイト単位の parse しかしてくれないプログラムからどう見えるか」を調べるのに便利かもしれません。
(例)
C:\某プロジェクト\システム構成
↓
C:\・^・v・・・W・F・N・g\・V・X・e・・・\・・
(※実際は \x80 に置き換えるんですが、IE だと とか表示されて見にくいのでここでは中点にしています。)
use strict;
use warnings;
use Win32::Clipboard;
# 選択状態を取得
my $is_text_selected = IsTextSelected();
exit 0 unless $is_text_selected; # 未選択時は終了
# 選択文字列の取得
my $seltext = GetSelectedString();
# 7-bit ASCII 以外の文字を \x80 に置換
$seltext =~ tr/\x81-\xff/\x80/;
# 置換後文字列の出力
if ($is_text_selected == 2) {
# 矩形選択時→矩形貼り付け
Win32::Clipboard::Set($seltext);
PasteBox();
}
else {
# 通常選択時→挿入
InsText($seltext);
}
#...............................................................................