主窗口调用了一个名为part1的unit主窗口注册了热键alt+z,当alt+z的时候,调用part1中的函数MarkTaskBarIcon
这个函数里有ShowWindow(Handle,SW_HIDE)句话,使得主窗口最小化,handle是传递进来的主窗口的句柄但我发现一个问题:我随后立即查看主窗口visible的值,发现竟然是true.
而且如果handle是主窗口的application.handle的话,不起作用当然,MarkTaskBarIcon这个最小化到系统托盘的函数如果只是放在主窗口进行调用的话,是没有以上的问题的

解决方案 »

  1.   

    application.handel和frmmain.handel是不一样的;
      

  2.   

    ShowWindow(Handle,SW_HIDE);
    这句话写得不太标准
    如果是Form1的句柄
    你应该这样写啊
    ShowWindow(Form1.Handle,SW_HIDE);
      

  3.   

    看来大家都没弄清楚我要问的是什么.我的问题是ShowWindow(handle,SW_HIDE)是在另一个unit里,只不过主窗口对它对行了调用,但执行这条语句以后的话,就发现主窗口的visible还是true,这就是问题的所在.但如果我把showwindow这条语句直接写在主窗口的文件里,发现执行后visible就是false.我现在就是要把这个showwindow放到另一个unit里,然后进行调用,于是就出现了以上的问题.
      

  4.   


    ShowWindow(Application.MainForm.Handle,SW_HIDE);