Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 避免使用printscreen捕获我的应用程序_C#_C++_C_Windows - Fatal编程技术网

C# 避免使用printscreen捕获我的应用程序

C# 避免使用printscreen捕获我的应用程序,c#,c++,c,windows,C#,C++,C,Windows,正如标题所示,我需要创建一个windows应用程序,使用打印屏幕无法捕获该应用程序 应用程序将在我的计算机上运行,并显示在我的屏幕上。没有互联网参与 这是不是可以在C++中实现?或任何其他语言 谢谢。你最多只能做这种“类型的”。您可以捕获windows打印屏幕事件而不执行任何操作,但第三方打印屏幕不依赖于这些事件。一个好的高分辨率数码相机更难“编码”你最多也能做到这一点。您可以捕获windows打印屏幕事件而不执行任何操作,但第三方打印屏幕不依赖于这些事件。一个好的高分辨率数码相机更难“编码”你

正如标题所示,我需要创建一个windows应用程序,使用打印屏幕无法捕获该应用程序

应用程序将在我的计算机上运行,并显示在我的屏幕上。没有互联网参与

<>这是不是可以在C++中实现?或任何其他语言


谢谢。

你最多只能做这种“类型的”。您可以捕获windows打印屏幕事件而不执行任何操作,但第三方打印屏幕不依赖于这些事件。一个好的高分辨率数码相机更难“编码”

你最多也能做到这一点。您可以捕获windows打印屏幕事件而不执行任何操作,但第三方打印屏幕不依赖于这些事件。一个好的高分辨率数码相机更难“编码”

你最多也能做到这一点。您可以捕获windows打印屏幕事件而不执行任何操作,但第三方打印屏幕不依赖于这些事件。一个好的高分辨率数码相机更难“编码”

你最多也能做到这一点。您可以捕获windows打印屏幕事件而不执行任何操作,但第三方打印屏幕不依赖于这些事件。好的高分辨率数码相机更难“编码”

据我所知,有两种方法可以实现:

  • 当你的应用程序是有焦点的窗口时,不允许打印屏幕-这是相当简单的
  • 简单:您需要修改窗口过程以捕获
    WM_热键
    ,并且无法将其传回系统:

    case WM_HOTKEY:
    /* your code */;
    break; // no DefWndProc() call
    
  • 在应用程序运行时,根本不允许打印屏幕。您必须设置一个钩子,该钩子将所有消息,甚至那些从您的窗口中传出的都指向您的程序。准确信息可在此处找到:
  • 您也可以让用户制作打印屏幕,但在检测到打印屏幕时,将窗口清空。为此,在片段中:

    case WM_HOTKEY: 
    /* here you blank your window */;
    DefWndProc(); // send the message about print screen back to the system.
    break;
    

    当然,这一切都取决于您使用的API,但假设您使用的是纯WinAPI—这就是您使用的方式。

    据我所知,有两种方法可以实现它:

  • 当你的应用程序是有焦点的窗口时,不允许打印屏幕-这是相当简单的
  • 简单:您需要修改窗口过程以捕获
    WM_热键
    ,并且无法将其传回系统:

    case WM_HOTKEY:
    /* your code */;
    break; // no DefWndProc() call
    
  • 在应用程序运行时,根本不允许打印屏幕。您必须设置一个钩子,该钩子将所有消息,甚至那些从您的窗口中传出的都指向您的程序。准确信息可在此处找到:
  • 您也可以让用户制作打印屏幕,但在检测到打印屏幕时,将窗口清空。为此,在片段中:

    case WM_HOTKEY: 
    /* here you blank your window */;
    DefWndProc(); // send the message about print screen back to the system.
    break;
    

    当然,这一切都取决于您使用的API,但假设您使用的是纯WinAPI—这就是您使用的方式。

    据我所知,有两种方法可以实现它:

  • 当你的应用程序是有焦点的窗口时,不允许打印屏幕-这是相当简单的
  • 简单:您需要修改窗口过程以捕获
    WM_热键
    ,并且无法将其传回系统:

    case WM_HOTKEY:
    /* your code */;
    break; // no DefWndProc() call
    
  • 在应用程序运行时,根本不允许打印屏幕。您必须设置一个钩子,该钩子将所有消息,甚至那些从您的窗口中传出的都指向您的程序。准确信息可在此处找到:
  • 您也可以让用户制作打印屏幕,但在检测到打印屏幕时,将窗口清空。为此,在片段中:

    case WM_HOTKEY: 
    /* here you blank your window */;
    DefWndProc(); // send the message about print screen back to the system.
    break;
    

    当然,这一切都取决于您使用的API,但假设您使用的是纯WinAPI—这就是您使用的方式。

    据我所知,有两种方法可以实现它:

  • 当你的应用程序是有焦点的窗口时,不允许打印屏幕-这是相当简单的
  • 简单:您需要修改窗口过程以捕获
    WM_热键
    ,并且无法将其传回系统:

    case WM_HOTKEY:
    /* your code */;
    break; // no DefWndProc() call
    
  • 在应用程序运行时,根本不允许打印屏幕。您必须设置一个钩子,该钩子将所有消息,甚至那些从您的窗口中传出的都指向您的程序。准确信息可在此处找到:
  • 您也可以让用户制作打印屏幕,但在检测到打印屏幕时,将窗口清空。为此,在片段中:

    case WM_HOTKEY: 
    /* here you blank your window */;
    DefWndProc(); // send the message about print screen back to the system.
    break;
    


    当然,这一切都取决于您使用的API,但假设您使用的是纯WinAPI-这就是您的操作方式。

    我认为这是不可能的。您可以听“打印屏幕”键并尝试绘制黑色,但我怀疑它是否会起作用。@Romoku忘记打印屏幕。如何
    图形.CopyFromScreen
    ?我不确定op是否只在打印屏幕被按下时才需要阻止我想有一篇博客文章讨论了一种实现这一点的方法,这是我最近偶然发现的,所以谷歌…我认为这是不可能的。你可以听一下打印屏幕键并尝试画黑色,但我怀疑它是否有效。@Romoku忘记打印屏幕吧。如何
    图形.CopyFromScreen
    ?我不确定op是否只在打印屏幕被按下时才需要阻止我想有一篇博客文章讨论了一种实现这一点的方法,这是我最近偶然发现的,所以谷歌…我认为这是不可能的。你可以听一下打印屏幕键并尝试画黑色,但我怀疑它是否有效。@Romoku忘记打印屏幕吧。如何
    图形.CopyFromScreen
    ?我不确定op是否只在打印屏幕被按下时才需要阻止我想有一篇博客文章讨论了一种实现这一点的方法,这是我最近偶然发现的,所以谷歌…我认为这是不可能的。你可以听一下打印屏幕键并尝试画黑色,但我怀疑它是否有效。@Romoku忘记打印屏幕吧。如何
    图形.CopyFromScreen
    ?我不确定op是否只在打印屏幕按下时才需要阻止我认为有一篇博客文章讨论了一种实现这一点的方法,这是我最近偶然发现的,所以谷歌…你的建议能处理剪贴工具之类的工具吗?@ThomasMatthews不,它不能。