しばらく前に取り組んでいたプロジェクトでこれを行いましたが、ソースコードが手元にありませんが、実際には次のようになったと思います。
//program.cs
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length > 0)
{
//launch same form as normal or different
Application.Run(new Form1(args));
}
else
{
Application.Run(new Form1());
}
}
アプリケーションが正常に起動されたときはargsは空ですが、.xyzファイルへの関連付けで適切にリンクされている場合、それらのファイルの1つが選択されると、アプリケーションは文字列の最初の要素としてファイルの場所で起動されます[]。確かに、program.cs または起動フォームのいずれかに検証を追加しますが、基本レベルでは、これが必要なことだと思います。