DirectShow Source filter using Dekstop window as source
In DirectShow SDK there is a sample filter called PushSource and inside there is PushSourceDesktop. Compile it, register ("regsvr32 PushSource.ax") and insert into your graph as a source filter.