Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2011, 12:20   #11
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

В который раз ловлю себя на мысли, что уважаемый ТС пишет вирус...
Простите, если не прав, и простите за оффтоп...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 23.03.2011, 12:23   #12
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Johnson нет не прав, просто наткнулся на тему на другом форуме и понял что не знаю как это сделать, вот и разгорелось желание узнать
fate вне форума Ответить с цитированием
Старый 23.03.2011, 12:24   #13
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> типа не предусмотренно это виндой

так это и не предусмотрено виндой. По-вашему Win-D придумали просто от скуки? Оно как раз и придумано для того, чтобы быстро вывести десктоп поверх других окон. Без исключений.


> значит можно сделать

если что-то можно сделать, это ещё не значит, что это нужно делать. Можно придумать тысячи способов обхода Win-D, начиная от таймера и заканчивая редактированием системных DLL. Вопрос только зачем? Если окно не исчезает после Win-D, это значит, что автор программы клал на юзеров большой болт, думая, что его прога умнее самих юзеров.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 23.03.2011, 12:26   #14
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

вот исходник примера на бэйсике
Код:
Procedure Draw(Image) ; Рисование кругов на форме
 If CreateImage(Image,200,200) And StartDrawing(ImageOutput(Image))
   x = 100
   y = 100
   For Radius = 100 To 10 Step -10
      Circle(x, y, radius ,RGB(Random(255),Random(255),Random(255)))
   Next
   StopDrawing()
   SetGadgetState(Image, ImageID(Image))
 EndIf
EndProcedure
 
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_BorderLess|#PB_Window_ScreenCentered) 
  StickyWindow(0,1)
  SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,GetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE) | #WS_EX_LAYERED|#WS_EX_TRANSPARENT|#WS_EX_TOPMOST) 
  SetLayeredWindowAttributes_(WindowID(0), 0, 120, #LWA_ALPHA)
  ImageGadget(2,100,10,200,200,0)
  Draw(2)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf
ну тут нет не редактированием системных DLL не таймера
fate вне форума Ответить с цитированием
Старый 23.03.2011, 12:33   #15
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

а, ну, походу, полупрозрачные topmost окна не прячутся по Win-D. Недоработка )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 23.03.2011, 12:37   #16
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

topmost пробовал на делфи, не помогает
fate вне форума Ответить с цитированием
Старый 23.03.2011, 12:59   #17
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Угу, тут сочетание 2-х факторов:

1) стиль формы должен быть fsStayOnTop
2) "главное" окно должно быть спрятано.

Прозрачность не при чём, кстати.

Т.е. создаём новый проект, ставим стиль формы в fsStayOnTop, в OnShow добавляем:
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
end;
и всё, Win-D нам не страшны.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 23.03.2011, 13:11   #18
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

хм... точно, спасибо тебе, все просто оказалось
fate вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет закрытия окна coNsept Общие вопросы C/C++ 5 21.08.2010 16:56
Запрет разтягивание окна KoBRaAndrey Общие вопросы Delphi 5 01.10.2009 22:27
Запрет закрытия чужого окна DV-Karpov Общие вопросы Delphi 2 20.09.2009 10:26
Запрет изменения размера окна? unicode Общие вопросы Delphi 3 23.04.2009 14:12
Запрет на закрытие окна Bayazet Общие вопросы Delphi 4 25.12.2008 11:29