I have the following problem: I want to be able to tell if my application window is the foreground window in Windows. I am using C#, .Net Framework 3.5 on Windows XP.
I actually can think of two ways to do what I am after
- Use pinvoke,
GetForeGroundWindow
and compare the returned hWnd to the hWnd of my form - Check if
Form.ActiveForm
isnull
or an object reference
Method 1 seems OK, but I would rather not use pinvoke unless I have to. I am not entirely sure about method 2 although it seems to work OK.
Which method should I use, is there any other way?