You could try running Process start from a second Form called with a showDialog.
Form2 frm2 =new Form2();
frm2.ShowDialog();
in the Form2 Load event put your
Process p = Process.Start("notepad");
p.WaitForExit();
this.DialogResult=DialogResult.OK;
Have to check syntax on all that it is likely not perfect.
You could even set Form2.Visible to false, so the user never even sees it.
EDIT as HomeToast suggested, This works very well, as long as you don't mind Hiding your Form, If you want to keep your Form visible I would go with my first suggestion
In this Option, we are going to Visible=false the main form, instead if Enable=false
If there is no Form to Drag, the user cannot drag it.
this.Visible = false;
Process p = Process.Start("notepad");
p.WaitForExit();
this.Visible = true;