Member 14357788 Ответов: 3

Защита содержимого формы Win C++ /C# от захвата


Я по программированию на C++ приложений для Windows форум, и я хочу использовать эту ссылку
Функция SetWindowDisplayAffinity (winuser.h) | Microsoft Docs[^]

# Как его использовать?
- а ты как думаешь ? является ли это лучшим способом для всех программ записи (при использовании этой функции все записывающие программы записывают только черный экран) и всех окон (7 8 10) ?
(Я не очень хорошо разбираюсь в программировании на c++ )
# дайте мне пример кода для этой функции
Вы не могли бы мне помочь?

Что я уже пробовал:

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

3 Ответов

Рейтинг:
2

Member 14357788

Спасибо. Я использую этот пример кода, но когда я строю show err:

error C2065: 'hWnd': undeclared identifier

windows forum app == Windows Forms with c++ (my mistake!!!)


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


Рейтинг:
0

Richard MacCutchan

Пример кода приведен в документации:

BOOL affinity = SetWindowDisplayAffinity(hWnd, WDA_MONITOR);

Однако то, что вы подразумеваете под приложением форума windows или ожидаете сделать дальше, не совсем ясно.


Рейтинг:
0

yeasir007

Для приложения windows form вы можете использовать как показано ниже:

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsFormsAppPrtScrProtector
{
    public partial class Form1 : Form
    {
        const uint WDA_NONE = 0;
        const uint WDA_MONITOR = 1;

        [DllImport("user32.dll")]
        public static extern uint SetWindowDisplayAffinity(IntPtr hWnd, uint dwAffinity);
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            SetWindowDisplayAffinity(this.Handle, WDA_MONITOR);
        }
    }
}