猿问

WinForm设置ShowInTaskBar=false无法正常执行API

程序只启动一个窗口,如果再次启动则激活以前运行的窗口,大部分功能我已经实现,但是如果设置ShowInTaskBar为false就运行不正常了,经过测试问题如下:

winForm中如果设置ShowInTaskBar为false,API函数为什么不能正常的执行?如果为true运行正常。

还有一个问题,

winForm中如果设置ShowInTaskBar为false,使用process.MainWindowHandle窗口句柄为0,如果设置为true,也就是显示任务栏按钮,可以得到窗口句柄。已经通过使用api得到窗口句柄了,但是其它的api函数还是运行不正常。

详细可以参考:

http://www.cnblogs.com/houleixx/archive/2008/04/15/StartOnly.html


慕村9548890
浏览 538回答 2
2回答

萧十郎

IntPtr handler = FindWindow(null, "Form1");MainWindowHandle 是空,说前 MainWindow就是空了,MainWindowTitle当然就是空的,你用窗口标题名就OK,我测试了。

开满天机

ShowInTaskBar=false;不能执行API,是转为 false时句柄发生了改变,变为true时又会发生改变。只需要重新获取下 句柄就可以了。
随时随地看视频慕课网APP
我要回答