Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отключение заставки 
:(
    Опции темы
amt
  Дата 20.12.2004, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



smile Кто знает - подскажите, плиз.
У меня прога при работе может выполнять действие двовольно долго.
Как сделать, чтобы экранная заставка не включалась и комп не "засыпал"?
Буду очень благодарен. smile
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
~FoX~
Дата 21.12.2004, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Есть АПИ, но я правил прям в реестре:
HKEY_CURRENT_USER\Control Panel\Desktop
вот по этому адресу лежит все связанное с хранителями, обоями и эноргосбережениями.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 21.12.2004, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



amt, но будь аккуратен с реестром! smile Один шаг в сторону и тебе конец smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
~FoX~
Дата 23.12.2004, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Вот кусок модуля на делфи по работе со скринсавиром

Код

var
 Form1: TForm1;
 SysPath: string;              //Путь к системной папке
 procedure GetScreenSawer();   //Получение списка хронителей экрана
 procedure SetSSTimeOut();     // Установка времени
 procedure SetActiveSS();      //Установка активного хранителя экрана

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
 ScreenSaveTimeOut: integer;
begin
 GetScreenSawer;
 SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT,0, @ScreenSaveTimeOut,0);
 Form1.SpinEdit1.Value := ScreenSaveTimeOut div 60; //Время
end;


procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
begin
 for i:= Form1.CheckListBox1.Items.Count-1 downto 0 do
   begin
     Form1.CheckListBox1.Items.Delete(i);
   end;
 GetScreenSawer;
end;

procedure GetScreenSawer();
var
 Cpath: array[0..255] of Char;
 sr: TSearchRec;
 FileAttrs: Integer;

 Registry: TRegistry;
 S: string;
 i: integer;
begin
 Registry:=TRegistry.Create;
 Registry.RootKey:=HKEY_CURRENT_USER;
 Registry.OpenKey('Control Panel\Desktop',False);
 s:=Registry.ReadString('SCRNSAVE.EXE');
 Registry.Free;

 i:=0;

 FileAttrs := faArchive;
 GetSystemDirectory(Cpath,256);
 SysPath:= StrPas(CPath);
 FindFirst(SysPath + '\*.scr', FileAttrs, sr);
 repeat
   begin
     Form1.CheckListBox1.Items.Add(sr.Name);
       if s = (SysPath+'\'+sr.Name) then
         begin
           Form1.CheckListBox1.Checked[i] := True;
         end;
     i:=i+1;
   end;
 until FindNext (sr) <> 0;
 FindClose(sr);
end;

procedure SetSSTimeOut();
var
 SSTIME: integer;
begin
 ssTIME := Form1.SpinEdit1.Value * 60;
 SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, ssTIME, nil, SPIF_UPDATEINIFILE);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 SetSSTimeOut; //Установка времени
 SetActiveSS;  //Установка активного хранителя экрана
end;


procedure SetActiveSS();
var
 r: integer;
 i: integer;
 k: integer;
 PathToSS: Array of string;
 FullPathToSS: string;
 Registry: TRegistry;
begin
 randomize;
 r:=0;
 for i:= 0 to Form1.CheckListBox1.Items.Count-1  do
    begin
      if Form1.CheckListBox1.Checked[i] = true then
        begin
          r:=r+1;
        end;
     end;

 SetLength(PathToSS,r);
 k:=random(r);

 r:=0;
 for i:= 0 to Form1.CheckListBox1.Items.Count-1 do
    begin
      if Form1.CheckListBox1.Checked[i] = true then
        begin
           FullPathToSS:=SysPath + '\' + Form1.CheckListBox1.Items.Strings[i];
           PathToSS[r] := FullPathToSS;
           r:=r+1;
        end;
    end;

 Registry:=TRegistry.Create;
 Registry.RootKey:=HKEY_CURRENT_USER;
 Registry.OpenKey('Control Panel\Desktop\',False);
 if Form1.RadioButton3.Checked = true then
   begin
     Registry.WriteString('SCRNSAVE.EXE', PathToSS[k]);
   end
 else
   begin
     Registry.WriteString('SCRNSAVE.EXE', PathToSS[0]);
   end;
 Registry.Free;
end;


procedure TForm1.Button4Click(Sender: TObject);
begin
 Form1.Close;
end;




--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
amt
Дата 26.12.2004, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



FoX,
Конечно, большое спасибо, но я давно работал с паскалем (еще под MS_DOS) и поэтому с делфи плохо дружу. Может чего на VB есть.
буду очень благодарен.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
~FoX~
Дата 27.12.2004, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 10
Всего: 68



Все очень просто из ветки: HKEY_CURRENT_USER\Control Panel\Desktop удаляем ключь SCRNSAVE.EXE, естественно предварительно его запомнив где нить. По окончании работы твоей проги/процедуры, записываем его обратно.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.2135 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.