Hi,
I do not have experience with this, but I hope this help to find your way.
1) For capture ethernet frame, check www.winpcap.org which is used by some of ethernet monitor programs.
(I am not sure, if is posible to send RAW packet)
2)or maybe you can do experiment with Windows socket, with protokol set to SOCK_RAW or IPPROTO_RAW.