Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
3 / 3 / 5
Регистрация: 15.05.2015
Сообщений: 265

Вывод скриншота на весь экран поверх всех окон

11.05.2016, 14:17. Показов 3785. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Сразу объясню - хочу сделать программу для друга. Он любитель ставить мне всякие пакостные програмки на комп, типа снега на рабочем столе, или фейковых уведомлений об удалении виндовса.

Суть программы в следующем: на форме всего 1 кнопка и таймер. Как только друг нажмет на кнопку - программа делает скриншот и сразу ставит его поверх всех окон. (у друга начинается паника и т.д.) и как только таймер прозвенит - всё становится как прежде. Как это сделать??

Заранее всем спасибо!!!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2016, 14:17
Ответы с готовыми решениями:

Вывод графики на экран, поверх всех окон.
Здравствуйте! Интерисует такой вопрос, как можно выводить графику на экран, не в область окна приложения, а поверх всего. К примеру, как...

Вывод картинки (из файла jpg) на весь экран, поверх всех окон в MFC
Если ли класс у mfc для вывода изображений из файла,на весь экран? Чтобы можно было показывать слайд-шоу из выбранных файлов(т.е....

Развернуть форму на весь экран поверх всех окон при ее загрузке
Как реализовать? На лоаде формы this.WindowState = Maximized; не работает. 2) Что надо прописать что бы форма отображалась...

2
44 / 41 / 44
Регистрация: 08.05.2016
Сообщений: 119
11.05.2016, 14:42
Лучший ответ Сообщение было отмечено Oxik как решение

Решение

Создаёте пустую форму. В конструкторе после инициализации компонентов прописываете:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            Size size = Screen.PrimaryScreen.Bounds.Size;
            Bitmap screenshot = new Bitmap(size.Width, size.Height);
            Graphics g = Graphics.FromImage(screenshot);
            g.CopyFromScreen(0,0,0,0, size);
 
            this.FormBorderStyle = FormBorderStyle.None;
 
            PictureBox box = new PictureBox();
            box.Dock = DockStyle.Fill;
            box.Image = screenshot;
            this.Controls.Add(box);
 
            this.WindowState = FormWindowState.Maximized;
После этого, если надо, добавляете таймер с событиями и проч.
0
3 / 3 / 5
Регистрация: 15.05.2015
Сообщений: 265
11.05.2016, 15:35  [ТС]
Я немного по другому сделал, но тоже не плохо работает!

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
private void timer1_Tick(object sender, EventArgs e)
        {
 
            IntPtr hDC = GetDC(IntPtr.Zero);
            using (Graphics g = Graphics.FromHdc(hDC))
            {
                Image img = Image.FromFile("C:/scr.jpg");
                g.DrawImage(img, new Point(0, 0));
                ReleaseDC(IntPtr.Zero, hDC);
            }
        }
 
private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.Image = ImageFromScreen();
 
            Bitmap bmpSave = (Bitmap)pictureBox1.Image;
            bmpSave.Save("C:/scr.jpg");
 
            timer1.Enabled = true;
        }
 
        public Bitmap ImageFromScreen()
        {
            Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height,
                PixelFormat.Format32bppRgb);
            using (Graphics gr = Graphics.FromImage(bmp))
            {
                gr.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y,
                    0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
            }
            return bmp;
        }
Добавлено через 23 минуты
А... такой вопрос. Как теперь убрать скриншот не отключая программу?

Добавлено через 16 минут
Просто this.Hide(); вполне подошло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.05.2016, 15:35
Помогаю со студенческими работами здесь

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

Вывод формы поверх всех окон.
Вопрос конечно примитивный, но как чтобы при вызове новой формы, она была поверх основной формы?

Вывод картинки поверх всех окон
Каким образом можно отобразить графический файл (bmp или jpg) без привязки к элементам программы (CDialog или CView), просто поверх всех...

Вывод прозрачного слоя графики поверх всех окон
Пришла в голову мысль написать программу для стумуляции скорости печати. Идея такая: при печати на клавиатуре по краям экрана появляется...

Почему сервис выполняется с ошибкой (вывод картинки поверх всех окон)
Здравствуйте. Мне нужно реализовать вывод картинки поверх всех окон (в android 4.4.2 KitKat), по примеру этого -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru