// 激活屏保
procedure TForm1.Button1Click(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
end;
解决方案 »
- 在Delphi DBgrid 控件中编辑数据,保存到数据库相关操作
- 求一段用WinSock获取html代码的程序
- 如何让程序实现 安全删除 u盘 <或> 让在U盘里运行的程序不影响U盘的安全删除????
- 请教棘手的问题
- 谁愿意帮我做个小程序(就一个界面)
- 谁做过高校学生收费注册系统,请提建议!1
- 怎么让post无效?????
- 怎样解决-----高级程序员,系统分析员都要来啊
- 本公司急招熟练使用DEPHI+SQL SERVER2000的程序员4名,专兼职均可
- 有没有类似于这样的combobox控件
- 有哪位大哥可以清楚的讲一下关于char pchar string及字符型数组的区别及操作中要注意的问题
- 怎样用程序关机?
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);
获取屏保窗体,在Win95/98下用:
FindWindow('WindowsScreensaverClass', nil);
在NT/2000/XP下用:
hd := OpenDesktop('Screen-saver', 0, False, 0);
CloseDesktop(hd);
// 判断屏保是否运行。若KillIt参数为True,并且屏保正在运行,则中止屏保
function IsScreenSaverRunning(KillIt: Boolean): Boolean;
var
hd: HDESK;
hw: HWND;
PT: TPoint;
begin
Result := False; if Win32Platform = VER_PLATFORM_WIN32_NT then
// WinNT
begin
hd := OpenDesktop('Screen-saver', 0, False, 0);
if hd <> 0 then
begin
// 正在运行
Result := True;
CloseDesktop(hd);
end
else
begin
// 权限不够
if GetLastError = ERROR_ACCESS_DENIED then
Result := True;
end;
end
else
// Win95/98
begin
// 获取屏保程序窗体handle
hw := FindWindow('WindowsScreenSaverClass', nil);
if hw <> 0 then
begin
// 正在运行
Result := True;
end;
end; if Result and KillIt then
begin
// 获取鼠标指针
GetCursorPos(PT);
// 改变鼠标位置
SetCursorPos(PT.X + 20, PT.Y + 20);
end;
end;