Закрепление управления третьей стороны, которые используют USER32.dlluser32 ShowWindow .net
public partial class Form1 : Form
{
TheForm theForm;//empty form
public Form1()
{
InitializeComponent();
theForm = new TheForm();
}
internal const int SWP_SHOWWINDOW = 0x0040;
[DllImport("user32.dll", CharSet = CharSet.Auto)]
internal static extern int ShowWindow(IntPtr hWnd, short cmdShow);
private void button1_Click(object sender, EventArgs e)//shows theForm when it wants to
{
ShowWindow(theForm.Handle, SWP_SHOWWINDOW);
}
private void button2_Click(object sender, EventArgs e)//shows theForm always
{
theForm.Show();
}
}
Почему после вызова user32 ShowWindow, большинство из окна раз "застрял в подвешенном состоянии"? Он захватывает потерю фокуса и располагает, но не захватывает события мыши и не рисует сам.
Что на зеленой земле Бога, которую вы пытаетесь сделать? – siride
пытается исправить сторонний компонент ... –