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);
    }