Delphi2007-Delphi2010 程序不出现在任务栏的方法

来源:互联网 发布:知乎发帖 编辑:程序博客网 时间:2024/05/17 05:18
  1. 以前的代码: 
  2. /////////////////////////////////////// 
  3. ShowWindow(Application.Handle,SW_HIDE); 
  4. /////////////////////////////////////// 
  5. 在 Delphi2007/2009/2010 已经失效! 
  6. 原因是 Delphi 在 Form 改写代码,在工程文件中多了: 
  7. /////////////////////////////////////// 
  8. Application.MainFormOnTaskbar := True; 
  9. /////////////////////////////////////// 
  10. 这个主要是修正 Delphi 编译出来的 EXE 文件让它在任务栏的右键菜单和 系统的一样而已; 
  11. 好了,进入正题;方法有二: 
  12. 第一: 
  13. 你可以将工程文件中的: 
  14. Application.MainFormOnTaskbar := True; 
  15. 这句注释掉,然后就可以用 
  16. ShowWindow(Application.Handle,SW_HIDE); 
  17. 这句了,结果是一夜回到解放前;因为在系统任务栏的右键菜单又只有三个了。。。 
  18. 第二个方法: 
  19. ///////////////////////////////////////////////////////// 
  20. procedure HideApplication(HideOnStartUp: Boolean = False); 
  21. begin {sail2000#126.com} 
  22. if HideOnStartUp then 
  23. Application.ShowMainForm := False; 
  24. if Application.MainFormOnTaskBar and (Application.MainForm <> nilthen 
  25. begin 
  26. ShowWindow(Application.MainForm.Handle, sw_Hide) 
  27. end 
  28. else 
  29. begin 
  30. ShowWindow(Application.Handle, sw_Hide); //唉。。。 
  31. end
  32. end
  33. //调用方法一: 
  34. procedure TForm1.FormCreate(Sender: TObject); //构建窗体时用 
  35. begin {sail2000#126.com} 
  36. HideApplication(True); 
  37. end
  38. //调用方法之二: 
  39. procedure TForm1.Button1Click(Sender: TObject);//其他需要 
  40. begin {sail2000#126.com} 
  41. HideApplication; 
  42. end
  43. ///////////////////////////////////////////////////////// 
0 0