Io uso VB.NET, ma essendo basati sullo stesso framework direi che le cose che hai detto si possono tranquillamente fare.
Per librerie esterne al framework (comprese quelle di sistema, per utilizzare le API) esiste una tecnica chiamata Platform Invoke qui esaurientemente spiegata:
http://totemslair.org/guide/viewchap...guida=vb&id=90
Se volessi usare le DirectX invece basta tranquillamente importarle nei riferimenti (esperienza personale )

Spero di aver chiarito i tuoi dubbi,
Ciao