Вывод скриншота на весь экран поверх всех окон - C#
Формулировка задачи:
Здравствуйте!
Сразу объясню - хочу сделать программу для друга. Он любитель ставить мне всякие пакостные програмки на комп, типа снега на рабочем столе, или фейковых уведомлений об удалении виндовса.
Суть программы в следующем: на форме всего 1 кнопка и таймер. Как только друг нажмет на кнопку - программа делает скриншот и сразу ставит его поверх всех окон. (у друга начинается паника и т.д.) и как только таймер прозвенит - всё становится как прежде. Как это сделать??
Заранее всем спасибо!!!
Решение задачи: «Вывод скриншота на весь экран поверх всех окон»
textual
Листинг программы
- 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д