控制壁纸
控制Windows 95的壁纸,以下程序使壁纸变为我们想要的位图,如果THEPCHAR为空,那么就取消壁纸,变为Win默认色彩; 但这种方法只是暂时的,在WINDOWS重新启动后还是原来的位图,这时就需要对WIN.INI文件进行写操作,才能保存住我们改动的图片不被替换。
var THEPCHAR:pchar;
begin
THEPCHAR:=''e:\a.bmp'';
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, THEPCHAR, SPIF_SENDWININICHANGE)
end;
辨别分辨率
要得到显示器的分辨率,由下列程序得到:
var
x:longint;
a:string;
begin
x := GetSystemMetrics(SM_CXSCREEN);
Str(x,a);
Label1.Caption := ''显示器水平分辨率'' + a;
x := GetSystemMetrics(SM_CYSCREEN);
Str(x,a);
Label2.Caption := ''显示器垂直分辨率'' + a;
end;
启动屏幕保护
执行下列语句开始Windows屏幕保护程序
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);
取系统颜色
要取得系统颜色,把参数换一下就可以
COLOR_SCROLLBAR 滚动条
COLOR_BACKGROUND 桌面背景
COLOR_ACTIVECAPTION 活动窗口标题
cOLOR_INACTIVECAPTION 非活动窗口标题
cOLOR_MENU 菜单
COLOR_WINDOW 窗口背景
cOLOR_WINDOWFRAME 窗口框
COLOR_MENUTEXT 窗口文字
COLOR_WINDOWTEXT 3D 阴影 (Win95)
COLOR_CAPTIONTEXT 标题文字
COLOR_ACTIVEBORDER 活动窗口边框
COLOR_INACTIVEBORDER 非活动窗口边框
COLOR_APPWORKSPACE MDI 窗口背景
COLOR_HIGHLIGHT 选择条背景
COLOR_HIGHLIGHTTEXT 选择条文字
COLOR_BTNFACE 按钮
COLOR_BTNSHADOW 3D 按钮阴影
COLOR_GRAYTEXT 灰度文字
COLOR_BTNTEXT 按钮文字
COLOR_INACTIVECAPTIONTEXT 非活动窗口文字
COLOR_BTNHIGHLIGHT 3D 选择按钮}
var i:integer;
begin
//取得活动窗口标题颜色
i :=GetSysColor(COLOR_ACTIVECAPTION);
end;
动态修改显示器分辨率
Windows提供给我们两个API函数,可以动态调整显示器的分辨率,他们是EnumDisplaySettings() 和ChangeDisplaySettings(),下面这个例子就是了
function DynamicResolution(X, Y: word): BOOL;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := X;
lpDevMode.dmPelsHeight := Y;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if DynamicResolution(640, 480) then
ShowMessage(''Now is 640*480'');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if DynamicResolution(800, 600) then
ShowMessage(''Now is 800*600'');
end;
隐藏桌面上的图标
使桌面上的图标消失,连桌面上的右键功能也不能使用如果不让初学者乱用“我的电脑”的话,那么把程序放到“启动”里,顺便把“Windows资源管理器”也去掉, 再加上个多用户密码,那么想破坏电脑文件也无从下手了。该程序Delphi 4里通过
var
hDesktop : THandle;
begin
hDesktop := Fi