Non ho idea di che libri tu legga, visto che i libri che ho letto io su VB.NET menzionano l'IDE di striscio per concentrarsi sul linguaggio e sul Framework.
Comunque, per la domanda 1 usa la FindWindow come la useresti normalmente, semplicemente usa come sua dichiarazione
codice:
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Function FindWindow( _
     ByVal lpClassName As String, _
     ByVal lpWindowName As String) As IntPtr
End Function
(da mettere in un modulo).