Почему окна позволяют Вам привлечь целый экран?

Заглушки используются в методах с ожидаемым возвращаемым значением, которое вы установили в своем тесте. Насмешки используются в методах void, которые проверяются в утверждении, что они вызываются.

5
задан Lucas Jones 16 July 2009 в 12:24
поделиться

8 ответов

Тот факт, что вы можете делать довольно злые вещи, не означает, что окна не должны позволять вам это делать. Подумайте обо всех других злых вещах, которые вы могли бы сделать:

  • Запускать бесконечный цикл и поглощать все время процессора.
  • Записывать случайные биты в файл, пока не заполнится весь жесткий диск.
  • Удалить случайные файлы повсюду.
  • Выделяйте память как сумасшедшую, пока компьютер не перестанет сканировать.

То, что вы МОЖЕТЕ делать это, не означает, что окна не должны препятствовать вам записывать на жесткий диск или выделять память или удаление файлов.

Цель Windows - предоставить среду, в которой могут работать программы. Чем гибче они делают эту среду, тем больше интересных (и, к сожалению, хитрых) программ могут создавать разработчики.

33
ответ дан 18 December 2019 в 05:12
поделиться

почему Windows позволяет вам так легко писать на жесткий диск?

вы можете делать довольно злые вещи, например перезаписывать каждый файл на жестком диске.

10
ответ дан 18 December 2019 в 05:12
поделиться

Безопасность рабочего стола предоставляется пользователю, работающему с рабочим столом, вы не можете использовать его, если не являетесь привилегированным пользователем.

Обратите внимание, что CreateDC обычно не используется. () на рабочем столе, но обычно GetDC () для определенного окна во время обработчика сообщений WM_PAINT.

Программа также может удалить файловую систему или уничтожить реестр (при наличии соответствующих разрешений), рабочий стол является разрешенным пользователем ресурс как и любой другой. Если они запускают приложение со своими учетными данными, они могут делать все, что захотят.

Однако на практике можно создать окно и раскрасить его.

7
ответ дан 18 December 2019 в 05:12
поделиться

Потому что это должно быть так просто.

Это так просто, потому что введение правил и элементов управления означало бы, что вы сократите то, что вы можете делать с языком и рамки Windows. Если бы это произошло, то с другой стороны забора раздались крики, кричащие о том, что нельзя делать то и то.

Именно эти способности делают язык мощным, но с этой силой приходит опасность. То, что вы можете что-то делать, не означает, что вы должны это делать. Вы можете отформатировать свой жесткий диск ... не означает, что вы должны делать это при запуске приложения часов.

Если вас не устраивает такой уровень «ответственности», выберите другой язык или другой фреймворк для записи. .

4
ответ дан 18 December 2019 в 05:12
поделиться

Все является окном, и каждое окно имеет РУЧКУ. Итак, если у вас есть DesktopHandle , то вы можете рисовать на нем что угодно. В чем проблема.

Конечно, приложению, которое делает злые вещи (как вы сказали), разрешено запускать на машине самостоятельно, поэтому оно может делать больше зловредных вещей, чем это, например, форматировать ваш жесткий диск и т. Д.

3
ответ дан 18 December 2019 в 05:12
поделиться

Потому что может быть время, когда вам нужно будет это сделать. Я уверен, что в настоящий момент вы не можете ни о чем думать, но запись на экране может быть полезной.

В OS X есть много приложений, которые пишут прямо на экране. Полезная информация, такая как время процессора или даже календарь. Это круто!

Но не все, что можно сделать, нужно делать.

1
ответ дан 18 December 2019 в 05:12
поделиться

Если метод, который вы используете (получение экрана DC), был отключен, это не помешало бы людям делать следующее.

Вы можете создать окно, вы можете рисовать в окне, вы можете установить размер окна, чтобы он покрыл весь экран, поэтому вы можете рисовать на всем экране.

И вы можете получить растровое изображение весь экран, чтобы вы могли раскрасить основное содержимое экрана в окне, а затем внести в него изменения.

Таким образом, было бы очень легко смоделировать тот же эффект, используя комбинацию вещей, которые сами по себе совершенно верны и чрезвычайно полезно.

2
ответ дан 18 December 2019 в 05:12
поделиться

Одна из основных причин, по которой Windows так поражена вредоносным ПО, - это отсутствие безопасности в отношении описанных вами вещей. Другие приводили такие примеры, как заполнение жесткого диска, стирание случайных файлов или потребление процессорного времени ... все это проблемы безопасности, и все они предотвращаются двумя другими основными операционными системами (Linux и OSX). Это не означает, что вы не можете делать аналогичные вещи в этих операционных системах, но это означает, что обычный пользователь не может этого сделать. Им нужно было бы предоставить соответствующие разрешения и, как правило, также заставить использовать очень ограниченный API, чтобы ограничить свои действия. Итак, ответ на ваш вопрос: «потому что он не был разработан с учетом требований безопасности». Это дает программистам значительно большую гибкость, и эти возможности можно использовать во благо,

-3
ответ дан 18 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: