:: MVP ::
|
|
:: RSS ::
|
|
|
Как узнать Screen Saver, установленный по умолчанию?
uses
{...,} IniFiles, ShellAPI;
function GetLongFileName( const FileName: string ): string;
var
aInfo: TSHFileInfo;
begin
if SHGetFileInfo( PChar( FileName ), 0, aInfo, SizeOf( aInfo ), SHGFI_DISPLAYNAME ) <> 0 then
Result := string( aInfo.szDisplayName )
else
Result := FileName;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
ScreenSaverFile: string;
begin
Ini := TInifile.Create( 'System.ini' );
ScreenSaverFile := GetLongFileName( Ini.Readstring( 'boot', 'SCRNSAVE.EXE', '(Нет)' ) );
Ini.Free;
ShowMessage( ScreenSaverFile );
end;
|
Как определить интервал вызова Screen Saver'a?
procedure TForm1.Button1Click(Sender: TObject);
var
ScreenSaveTimeOut: integer;
begin
SystemParametersInfo( SPI_GETSCREENSAVETIMEOUT, 0, @ScreenSaveTimeOut, 0 );
ShowMessage( IntToStr( ScreenSaveTimeOut div 60 ) );
end;
|
Как включить Screen Saver?
procedure TForm1.Button1Click(Sender: TObject);
begin
SystemParametersInfo( SPI_SETSCREENSAVEACTIVE, 1, nil, 0 );
end;
|
Как отключить Screen Saver?
procedure TForm1.Button1Click(Sender: TObject);
begin
SystemParametersInfo( SPI_SETSCREENSAVEACTIVE, 0, nil, 0 );
end;
|
Как предотвратить запуск Screen Saver'a во время работы программы?
// Screen Saver блокируется на время работы приложения
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure AppMessage( var Msg: TMsg; var handled: Boolean );
end;
procedure TForm1.AppMessage( var Msg: TMsg; var handled: Boolean );
begin
if ( Msg.Message = WM_SYSCOMMAND ) and ( Msg.wParam = SC_SCREENSAVE ) then
Handled := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;
|
При использовании материала - ссылка на сайт обязательна
|
|