下面代码为什么不能想桌面写字?(100分)

  • 主题发起人 主题发起人 Gec
  • 开始时间 开始时间
G

Gec

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
; fdc: hdc;
; a:hwnd;
begin
a:=GetDesktopWindow();
; fdc := getdc(a);
// SetBkMode(fdc,TRANSPARENT);
; TextOut(fdc, 5, 5, 'asd444444f', 100);
; // ;releasedc(application.Handle,fdc);
end;
 
用GETDC(0)就是得到桌面的DC ^_^
 
getdc(0)得到后
桌面1刷新,或者窗体一覆盖
字就不见了
我想它得到的是screen不是desktop
另外是不是用画图的方法可以保留到桌面上?
 
var
; DeskTopHandle : HDC;
; DeskTopCanvas : TCanvas;
begin
; DeskTopHandle := GetDC(0); ;//得到桌面的句柄
; DeskTopCanvas.Handle :=DeskTopHandle;
; DeskTopCanvas.TextOut(x,y,'String'); ;
end;
 
不行,4机了
显示delphi50.bpl出现错误

另外getdc(0)得到的是screen的句丙,不是桌面的
如果桌面上有一个全屏幕窗体,字就写到哪个窗体了饿
不知道微软显示版本好是如何实现的
 
多人接受答案了。
 

Similar threads

后退
顶部