Возможно кому-то пригодится обертка CoAllowSetForegroundWindow для C#.Если при обращении к API на экран выводится диалоговое окно, то в некоторых случаях оно будет размещено на заднем плане, под окном активного приложения. Для того, чтобы окно отображалось на переднем плане и могло получить фокус ввода, необходимо использовать системную функцию Windows CoAllowSetForegroundWindow. За подробностями следует обратиться к MSDN.
Код: Выделить всё
//декларируем CoAllowSetForegroundWindow
[ComVisible(true)]
public static class ComAPI
{
[DllImport("ole32.dll")]
public static extern int CoAllowSetForegroundWindow(
IntPtr pUnk, IntPtr lpvReserved);
}
Код: Выделить всё
//Вызов CoAllowSetForegroundWindow
ComAPI.CoAllowSetForegroundWindow(Marshal.GetIUnknownForObject(Lotsia), (IntPtr)null)