例如有一个程序是C:\xxx.exe,我想判断这个程序是否在屏幕的右下角有托盘显示,应该如何判断?
一旦问题解决,全部100分送上,先谢了。

解决方案 »

  1.   

    查找你托盘程序的进程
    uses tlhelp32
    //查找
    procedure TForm1.ProcessList(var PList: TList);
    var
       p:processinfo;
       Ok:Bool;
       ProcessListHandle:Thandle;
       Processstruct:TProcessentry32;
    begin
       PList.Clear;
       ProcessListHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
       Processstruct.dwSize:=sizeof(Processstruct);
       ok:=process32first(ProcessListHandle,processstruct);
       while Ok do
          begin
           p.ExeFile:=Processstruct.szExeFile;
           if ExtractFileName(P.ExeFile):='你要的进程名' then
             
    showmessage('找到进程');
             exit;
           p.ProcessId:=Processstruct.th32ProcessID;
           ok:=Process32Next(ProcessListHandle,Processstruct );
          end;
    end;
      

  2.   

    这个好像没办法吧,反正我是不会了,GZ and UP
      

  3.   


    问题简化一下,知道一个窗口的句柄,如何判断这个窗体在屏幕的右下角有托盘显示呢?
    如此以来,有一个思路就是判断这个窗体的特征,类似的代码有getwindowlong等,但是虽然有一些思路,我具体做起来还是没能成功,大家给想想办法好吗?问题并不难,估计写出来就是几行代码的事情,就是有点偏。
      

  4.   

    问题简化一下,知道一个窗口的句柄,如何判断这个窗体在屏幕的右下角有托盘显示呢?
    如此以来,有一个思路就是判断这个窗体的特征,类似的代码有getwindowlong等,但是虽然有一些思路,我具体做起来还是没能成功,大家给想想办法好吗?问题并不难,估计写出来就是几行代码的事情,就是有点偏。