WowButtons with the GdiDrawStream を Windows 2000で
WowButtons with the GdiDrawStream function - CodeProject
Remote Desktop Client 6.0以降は GdiDrawStream というAPIを内部でコールしてるんですが、全く中で何をやってるかわからず、手が付けられない状態でした。
取りあえず関数を使わずに起動するとこんな感じ。
わけわかりませんね。
次にXPで起動。
こんな感じになります。
というわけで、頑張って関数実装してみました。
透過処理も再現して、割と近くなったと思います|。・ω・)
gdi32: add a stub for GdiDrawStream
[ros-bugs] [Bug 4784] GDI32: GdiDrawStream is unimplemented, please try again later.
最近の Wine とか ReactOSでも実装できてないので XP以降でないOSの実装では初めてかも
対応してるフラグは DTBG_DRAWSOLID と DTBG_OMITBORDER と DTBG_MIRRORDC
他は何してるかよくわからない
というわけで、拡張カーネル v2.2f に実装してみました。
Windows 2000 Kernel32 改造計画【BM】
体感してみたい人で、コンパイルできない人はこちらをどうぞ WowButtons.zip
Comments