怎样实现windows关机时的效果,不是关机!~(100分)

  • 主题发起人 主题发起人 notnoname
  • 开始时间 开始时间
N

notnoname

Unregistered / Unconfirmed
GUEST, unregistred user!
当点击windows开始菜单关闭计算机按钮,整个桌面会成暗色调的半透明状态。并且所有当前<br>窗口都被推到最后。要注意的是那种半透明不是真正的半透明,仔细观察会发现他降低了解相<br>度,使字体图标都变的模糊了。有没有api函数可以实现这个功能。先申明,绝对不是<br>procedure ExitWindowsDialog(ParentWnd: HWND); stdcall;external 'Shell32.dll' index 60;<br>这个调用实现的是关机的功能,但不是我要的那种效果!<br>
 
将屏幕拷贝成位图,降低解像度,然后在画布上画出来。<br>我没有实际做过,想法仅供你参考。
 
给你句代码研究研究,可以象关机一样使屏幕变暗:<br>var bBmp:array[0..15] of integer;<br>begin<br>bBmp[0]:=$55;<br>bBmp[2]:=$aA;<br>bBmp[4]:=$55;<br>bBmp[6]:=$aA;<br>bBmp[8]:=$55;<br>bBmp[10]:=$aA;<br>bBmp[12]:=$55;<br>bBmp[14]:=$aA;<br>end;<br>procedure TForm1.Button1Click(Sender: TObject);<br>var a:HBitmap;<br>pattern:hgdiobj;<br>oldh:THandle;<br>v:hdc;<br>begin<br>a:=createbitmap(8,8,1,1,@bmp);<br>pattern:=createpatternbrush(a);<br><br>v:=getdc(0);<br>oldh:=selectobject(v,pattern);<br>bitblt(v,0,0,800,600,v,0,0,mergecopy);<br>selectobject(v,oldh);<br>releasedc(0,v);<br>deleteobject(a);<br>deleteobject(pattern);<br><br><br>end;<br><br>恢复屏幕<br>procedure TForm1.Button2Click(Sender: TObject);<br>var arect:Trect;<br>begin<br>arect:=rect(0,0,800,600);<br>invalidaterect(0,@arect,true);<br>end;<br><br>end. &nbsp;<br>&nbsp;<br>
 
我要的不是模拟,应该有api函数的。另外如果模拟的话有几个地方我想请教,怎么使别的程序<br>都推到后边,而只让你在前边,现在有很多程序不断的把自己往最前端推。
 
http://www.tommstudio.com/newclub30/<br>上有我写的一篇文章.
 
唉,你的这个问题,我也早问过,http://www.delphibbs.com/delphibbs/dispq.asp?lid=1421150<br>似乎没解,:(
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=0738736
 
看来不会有理想的答案了!
 
多人接受答案了。
 
后退
顶部