ime reconversion (k2editor) · 再変換 h.24/08/11 egtra...
TRANSCRIPT
![Page 1: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/1.jpg)
再変換
H.24/08/11
Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料
![Page 2: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/2.jpg)
前書き
•それはまだ私がVimもEmacも知らなかった頃の話
•私はK2Editorを使っていた
![Page 3: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/3.jpg)
再変換
•あっ、打ち間違えた
•→すかさず変換キー
![Page 4: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/4.jpg)
再変換 (2)
•再変換使えない
•→大幅減点 •(個人的感想です)
![Page 5: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/5.jpg)
だから
•自分の手でなんとかする
•ターゲット:
–K2Editor
![Page 6: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/6.jpg)
だから (2)
•ソースが公開されている
![Page 7: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/7.jpg)
だから (2)
•ソースが公開されている
_人人 人人_
> Delphi <
 ̄Y^Y^Y^Y ̄
![Page 8: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/8.jpg)
作戦変更
•ソースを書き換えないで
•DLLを乗っ取る
•K2Regexp.dll
![Page 9: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/9.jpg)
イージーモードDLL乗っ取り
•偽K2Regexp.dllを作る
–本物のDLLに処理を渡す
+
–自分のやりたいことをやる
![Page 10: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/10.jpg)
やりたいこと
•ウィンドウをサブクラス化
•再変換関係のウィンドウメッセージを処理
![Page 11: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/11.jpg)
内部データへのアクセス
•エディタ部分のテキスト (公開情報)
•公開APIで読み書きできた
–Windows互換
![Page 12: IME Reconversion (K2Editor) · 再変換 H.24/08/11 Egtra 私立プログラミングキャンプ2012 東京大会 LT発表資料](https://reader034.vdocuments.us/reader034/viewer/2022050110/5f4773b532d2882b2b09ff8e/html5/thumbnails/12.jpg)
ソースコード:
https://github.com/egtra/k2reconv
This work is licensed under a Creative Commons Attribution-ShareAlike 2.1 Japan License.