lpstringの内容が実際に入力した値とずれる
easyhookを利用してExtTextOutをフックしました。
実際にコンソールに出力してみるとテキストの内容が実際の入力と29ほどずれてしまいます。
例えばabcと入力するとコンソールにはDEFと表示されます。
なぜなのでしょうか?
フックしている箇所のコードは下記のとおりです。
それ以外の部分は
https://github.com/EasyHook/EasyHook-Tutorials/tree/master/Managed/RemoteFileMonitor
を参考に作成しています。
bool ExtTextOut_Hook(
IntPtr hdc,
int x,
int y,
uint fuOptions,
[In] ref RECT lprc,
string lpString,
uint cbCount,
[In] IntPtr lpDx)
{
try
{
lock (this._messageQueue)
{
this._messageQueue.Enqueue(string.format("{0}", lpString);
}
}
catch
{
}
return ExtTextOutW(
hdc,
x,
y,
fuOptions,
ref lprc,
lpString,
cbCount,
lpDx);
}