Воскресенье, 04.10.2026, 07:58
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Форма входа
Меню сайта
Главная » FAQ [ Добавить вопрос ]

Программирование Delphi [91]
Вопрос-Ответ по программированию

hTaskbar := FindWindow('Shell_TrayWnd', Nil ); Наверх к содержанию


Вопрос :
Как из программы запустить Screen Saver?
Ответ :
Представленная ниже функция демонстрирует как это сделать

 
             function TurnScreenSaverOn : bool; 
             var 
               b : bool; 
             begin 
               result := false; 
               if SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 
                                       0, 
                                       @b, 
                                       0) <> true then exit; 
               if not b then exit; 
               PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0); 
               result := true; 
             end; 
Добавил: casperof

function IsTrueTypeAvailable : bool; 
             var 
              {$IFDEF WIN32} 
               rs : TRasterizerStatus; 
              {$ELSE} 
               rs : TRasterizer_Status; 
              {$ENDIF} 
             begin 
               result := false; 
               if not GetRasterizerCaps(rs, sizeof(rs)) then exit; 
               if rs.WFlags and TT_AVAILABLE <> TT_AVAILABLE then exit; 
               if rs.WFlags and TT_ENABLED <> TT_ENABLED then exit; 
               result := true; 
             end;
Добавил: casperof

Используйте функцию SHFileOperation().

 
             uses ShellAPI; 
 
             procedure SendToRecycleBin(FileName: string); 
             var 
               SHF: TSHFileOpStruct; 
             begin 
               with SHF do begin 
                 Wnd := Application.Handle; 
                 wFunc := FO_DELETE; 
                 pFrom := PChar(FileName); 
                 fFlags := FOF_SILENT or FOF_ALLOWUNDO; 
               end; 
               SHFileOperation(SHF); 
             end; 
 
             procedure TForm1.Button1Click(Sender: TObject); 
             begin 
               SendToRecycleBin('c:\DownLoad\Test.gif'); 
             end; 
Добавил: casperof

Изменить обои можно функцией SystemParametersInfo()Б переслав ей в качестве параметров константу SPI_SETDESKWALLPAPER и имя нового файла обоев.
Пример :

 
               SystemParametersInfo(SPI_SETDESKWALLPAPER, 
                                    0, 
                                    PChar('C:\SOMEPATH\SOME.BMP'), 
                                    SPIF_SENDWININICHANGE);
Добавил: casperof

Используйте функцию FindWindow. (Класс главного окна Delphi / C++ Builder - TAppBuilder)

 
             if FindWindow('TAppBuilder', Nil) <> 0 Then 
               ShowMessage('Delphi and or C++ Builder is running');
Добавил: casperof

Наш опрос
Сколько вам лет
Всего ответов: 20
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск