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
(da mettere in un modulo).codice:<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Public Function FindWindow( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As IntPtr End Function