Please see my comment to the question; this is the main answer for you.
All you need to use voice recognition is here:
System.Speech.Recognition Namespace[
^].
There are no any special secrets: read, understand, try out, design, implement. Be careful: presently, speech recognition bundled with Windows gives you amazingly poor fidelity (in contrast to competitor's products). But it will work with small grammars. So, my main advice is only one: create as small grammar as possible. Thoroughly pronounce words.
This is what you need to work with system clipboard:
Clipboard Class (System.Windows.Forms)[
^].
or
Clipboard Class (System.Windows)[
^].
Other system-wide commands will be much harder. Switching between windows will take using raw Windows API you can use through P/Invoke. Nothing too hard though:
Window Functions (Windows)[
^]:
Apparently, you will need to master P/Invoke:
Platform Invocation Services — Wikipedia, the free encyclopedia[
^].
This CodeProject article can also be useful:
http://www.codeproject.com/csharp/EssentialPInvoke.asp[
^].
Unfortunately, this will badly compromise your platform compatibility: your application will work only in Windows. But for you purpose, I guess you won't mind.
That's all.
—SA