Window API如何显示隐藏窗体(ShowWindowAsync/ShowWindow)
我在程序里做了 一台计算机只允许一个实例  
[DllImport("User32.dll")]  
//返回值:如果窗口原来可见,返回值为非零;如果函数原来被隐藏,返回值为零。
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);             
//API 常數定義  
         private const int SW_HIDE = 0;  
         private const int SW_NORMAL = 1;    //正常弹出窗体  
         private const int SW_MAXIMIZE = 3;    //最大化弹出窗体  
         private const int SW_SHOWNOACTIVATE = 4;  
         private const int SW_SHOW = 5;  
         private const int SW_MINIMIZE = 6;  
         private const int SW_RESTORE = 9;  
         private const int SW_SHOWDEFAULT = 10;  
ShowWindowAsync(instance.MainWindowHandle, SW_RESTORE);  
SetForegroundWindow(instance.MainWindowHandle);  
我发现当我程序最小化到托盘以后,instance.MainWindowHandle就为null了,所以窗体show不出来了。  
这个里面的参数我都试过了,哪个都不好使。难道隐藏窗体之后就无法用API 弹出窗体了吗?
希望真相帝给予支持。
------解决方案--------------------
可以尝试用FindWindow获取窗体句柄,然后再显示