在A中判断条件,如果需要关闭B,可以给B法消息:
PostMeaage(B.Handle,WM_CLOSE,0,0);
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————
       

解决方案 »

  1.   

    我得意思是:b用来执行一定功能;
    其他程序启动时先调用b,在b中若满足条件就关闭调用他的程序(a.z.x....)所以调用程序的句柄是不定的,没有办法在b中向调用他的程序发消息关闭.
      

  2.   

    用FineWindow来找到调用b的程序的句柄(可根据类名和窗口名,具体可用spy++)
    然后用lxpbuaa(桂枝香在故国晚秋) 的postmessage方法即可
      

  3.   

    调用b的程序的类名和窗口名不也是不定的吗?
    findwindow中参数怎麼写?
      

  4.   

    那只好在调完B后传给B个消息告诉B此时的A的类名和窗口名。