Self introduction

Hello, world of blogging,

This is Feng Yuan, a software design engineer with Microsoft. I joined Microsoft three years ago, after working on printer drivers for HP for several years. Since then, I have been working on GDI, GDI+, Avalon and printing. So these will be the focus of this blog.

My personal website is


Comments (15)

  1. Sonu Kapoor says:

    Welcome to the blogging world 🙂

  2. William Luu says:

    Yes, welcome to the wonderful world of blogging Feng Yuan 🙂

    Oh, Avalon, that would’ve been fun 😀

  3. James says:

    feng yuan?

    the gay who write the terrfic book "windows graphics programming"?

    I admire you!

  4. assaf says:

    hi feng

    i would like to hire your services.

    i need to develop a screen capture utility.

    however, this utility must be based GDI Hooking alone.

    no mirror driver.

    can you do this?

    if not, can you recomend someone who can?



  5. Feng Yuan says:

    We can discuss the technical problems involved with screen capture, but I’m not for hire.


  6. Assaf says:

    hi Feng

    which functions are responsible for non-client area drawing?

    we cannot capture the caption, frame, scroll bar.


  7. Assaf says:

    hi feng

    i am looking for someone to develop a screen capture utility.

    can you recomend someone to me?


  8. Feng Yuan says:

    I do not know the details either, but you may get some idea from an old document

  9. Have you tried the PrintWindow API call? If you don’t specify PW_CLIENTONLY in the nFlags param then I beleive the entire window (including non-client) is captured.

  10. Kmzh says:

    I think this is the right place to ask my question.

    [Windows XP SP2]

    Recently I tried to use GDI+ to draw something on my non-primary display monitor.

    If I use Graphics.FillRectangle, it draws correctly on the non-primary display monitor, but if I use Graphics.DrawString or other DrawXX methods, it draws on the PRIMARY monitor, not the non-primary display monitor.

    I get the device context either from EnumDisplayMonitors or from CreateDC. The GDI functions(TextOut, etc.) seem to work OK, though.

    Could please explain why?


  11. Hemanshu Srivastava says:

    I am looking for GDI hooking API’s for Windows VISTA. I know its possible but no sufficienty documentation from Microsoft is there. ANyone did this on VISTA? What are the affects on aveo?

  12. Jeff Yu says:

    I am interested in 2D acceleration technology, for example how to draw vast of lines very fast like AutoCAD? Can you give me any hints?

  13. 話題の小向美奈子ストリップを隠し撮り!入念なボディチェックをすり抜けて超小型カメラで撮影した神動画がアップ中!期間限定配信の衝撃的映像を見逃すな