>>318
hProcessがnullなんじゃね?

Process.Startの戻り値は

>プロセス リソースに関連付けられた新しい Process コンポーネント。
>プロセス リソースが起動されなかった場合は null (既存のプロセスを再利用した場合など)。

シェル(explorer.exe)の場合、新しいフォルダを新規プロセスで開く設定にしてないと
プロセスは作られないよ