我的程序没有结束。
form1.create:  wnd :=findwindow(nil,'form1');
  //在右下角添加图标
  tid.cbSize:=sizeof(TNOTIFYICONDATA);
  tid.Wnd :=Wnd;
  tid.uID :=2000;
  tid.uFlags:=nif_Message or nif_Icon or nif_Tip;
  tid.uCallBackMessage:=wm_TRAYNOTIFY;
  tid.hIcon:=LoadIcon(hInstance,'MAINICON');
  tid.szTip:='  wnd :=findwindow(nil,'微机计费管理ver1.0');
    TrayHandle := FindWindow('Progman', nil);
 //在右下角添加图标
    tid.cbSize:=sizeof(TNOTIFYICONDATA);
    tid.Wnd :=Wnd;
    tid.uID :=2000;
    tid.uFlags:=nif_Message or nif_Icon or nif_Tip;
    tid.uCallBackMessage:=wm_TRAYNOTIFY;
    tid.hIcon:=LoadIcon(hInstance,'MAINICON');
    tid.szTip:='双击弹出';
    Shell_NotifyIcon (nim_Add,@tid);';
  Shell_NotifyIcon (nim_Add,@tid);
然后程序正常运行,任务栏中也有图标,但只要鼠标移过(刷新),就没有了?

解决方案 »

  1.   

    上一个帖子些乱了:前一部分我在另一个新程序中执行没问题;
      但我后一部分wnd也找到了,这句没问题。
      wnd :=findwindow(nil,'微机计费管理ver1.0');
     
     //TrayHandle := FindWindow('Progman', nil);这句没有用
     //在右下角添加图标
        tid.cbSize:=sizeof(TNOTIFYICONDATA);
        tid.Wnd :=Wnd;
        tid.uID :=2000;
        tid.uFlags:=nif_Message or nif_Icon or nif_Tip;
        tid.uCallBackMessage:=wm_TRAYNOTIFY;
        tid.hIcon:=LoadIcon(hInstance,'MAINICON');
        tid.szTip:='双击弹出';
        Shell_NotifyIcon (nim_Add,@tid);
    不知道谁碰见过这个问题?否则恐怕很难找
      

  2.   

    我找到原因了,在后期程序运行中,我设 form1.BorderStyle:=bsNone;,去掉这一句就可以了。但此时ico相当于已经添加完了,为何borderstyle还影响它,应该如何防止?