> 自分のデスクトップや画像を送る処理なので、

jpg にする必要ないんじゃないの。

> ファイルを作成する必要はないのですが。

そうですね、TBitmap に写し取って、SaveToStream() でメモリストリームにして
そのメモリイメージをそのまま送れば、すべてメモリ上の処理で済む。

> HDCの情報を直接送ることができればわざわざ

HDCの情報がそのビットマップに相当する