아래 코드를 이용하면 캡쳐를 방지할 수 있습니다.
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowsFormsApp
{
public partial class MainForm : Form
{
private const uint WDA_NONE = 0;
private const uint WDA_MONITOR = 1;
[DllImport("user32.dll")]
private static extern uint SetWindowDisplayAffinity(IntPtr windowHandle, uint affinity);
public MainForm()
{
InitializeComponent();
this.onButton.Click += OnButton_Click;
this.offButton.Click += OffButton_Click;
}
private void OnButton_Click(object sender, EventArgs e)
{
this.onButton.BackColor = Color.White;
this.offButton.BackColor = Color.Transparent;
SetWindowDisplayAffinity(this.Handle, WDA_MONITOR);
}
private void OffButton_Click(object sender, EventArgs e)
{
this.onButton.BackColor = Color.Transparent;
this.offButton.BackColor = Color.White;
SetWindowDisplayAffinity(this.Handle, WDA_NONE);
}
}
}
* 캡쳐도구를 이용해 캡쳐방지를 하지 않고 했을 때와 캡쳐방지를 켜고 했을 때 비교
(캡쳐방지를 켠 경우에는 녹화할 때도 검게변한다^^)
반디캠, 칼무리, 캡쳐도구, Print Screen 을 이용해 캡쳐 동작을 취할경우 검은 화면으로 보이게 된다.
'C# > Winform' 카테고리의 다른 글
[C#] 솔루션 전체 라인 수 알아내기 (0) | 2020.05.27 |
---|---|
[C#] 파일을 선택하여 windows 탐색기 열기 (0) | 2020.05.27 |
[C#] 호출자 정보 알아내기 (0) | 2020.05.20 |
[C#] 자신의 컴퓨터에 설치된 Font 목록 나열하기 (0) | 2020.02.24 |
IIS 에 ASP.NET 등록방법 (0) | 2020.02.07 |