1、如何实现这样的功能,直接在Windows桌面上写字?
2、如果能实现1,能否让这些字在我的程序不是当前活动应用时也存在?
3、如果2也能实现,可否在这个写字程序结束运行后桌面上仍存在这些字?  

解决方案 »

  1.   

    1. 
      
      var
        aDC: HDC;
      begin
        aDC := GetDc(0);
        TextOut(adC,....) 就行了。
        RelaseDC(aDc,0);2.桌面刷新就没了3.要保持的话给桌面设一背景bmp,你画就画在这个bmp上了,可以满足 2,3
      

  2.   

    好象www.2ccc.com有相关的东西,楼主去搜索一下把。
      

  3.   

    给你个在桌面显示时间的例子,可以解决1,2
    var
      hScreenDC: hdc;
      SystemTime: _SYSTEMTIME;
      Temp: string;
      MyOutput: PChar;
    begin
      while true do
      begin
        Sleep(100);
        hScreenDC := GetDC(0);
        GetLocalTime(SystemTime);
        Temp := format('Current Time is %d-%d-%d %d:%d:%d', [SystemTime.wYear,
          SystemTime.wMonth,
            SystemTime.wDay,
            SystemTime.wHour,
            SystemTime.wMinute,
            SystemTime.wSecond]);
        MyOutPut := Pchar(temp);
        TextOut(hScreenDC, 0, 0, MyOutPut, lstrlen(MyOutPut));
        ReleaseDC(0, hScreenDC);
      end;
    end;
    要实现3,可以将上面的程序做成dll,用线程插入
      

  4.   

    "要实现3,可以将上面的程序做成dll,用线程插入" 这个什么意思?
      

  5.   

    要实现3,可以将上面的程序做成dll,用线程插入" 
    就象杀毒软件一样