怎样改变其他程序(进程)窗体的字体颜色?
比如其他程序进程上一个Edit的字体颜色?
我用CreateRemoteThread或者插入DLL的方法在另外一个进程中执行WM_SETFONT成功实现了修改字体样式。但是不能够修改字体颜色,因为Windows的字体信息HFONT不包含颜色信息。请教高手如何得到和修改另一个进程中窗体的字体颜色。

解决方案 »

  1.   

    用句柄得到其DC,再用SelectObject把你的新字体属性设置上去.
      

  2.   

    我不是要修改字体,而是要修改字体的颜色,修改字体我已经实现了。问题是字体信息HFONT不包含颜色信息。所以无法做到设置颜色。
      

  3.   

    这个我很早就试过了。
    但是我现在知道对方句柄Handle
    现在执行SetTextColor(GetDc(Handle),clRed);无效阿。
    请指教。
      

  4.   

    我这试了也不行:(,真奇怪,API大全上明明写了这是设置文本色的.
    要不你直接用WM_GETTEXT得到EDIT的文本,再用TextOut画上去算了...
      

  5.   

    "再用TextOut画上去算了"
    这个是不可能的,因为都不知道该画在哪儿。
      

  6.   

    为什么不可能,都知道控件句柄了。
    GetWindowRect
      

  7.   

    "为什么不可能,都知道控件句柄了。"
    问题是别人不一定画到windowRect区域阿,
    别人可以写:TextOut(Dc , 30, 45, "test", 4)阿
    "要来干嘛的"
    在写一个工具
    难道只有hookAPI?