win+printscreen_AltStore

win+printscreen_AltStoreC# 模拟PrintScreen 和 Alt+PrintScreen

大家好,又见面了,我是你们的朋友全栈君。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Drawing.Imaging;

namespace KeyBoard
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {//打印全屏
            Print.printScreen();
            if (Clipboard.ContainsImage())
            {//功能提取或替换Windows系统剪贴板的图片
                Clipboard.GetImage();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {//打印当前窗口
            Print.altPrintScreen();
            if (Clipboard.ContainsImage())
            {//功能提取或替换Windows系统剪贴板的图片
                Clipboard.GetImage();                
            }
        }
    }

    class Print
    {
        //bVk,虚拟键盘码
        //bScan ,该键的硬件扫描码
        //dwFlags,定义函数操作的各个方面的一个标志位集
        //dwExtraInfo,定义与击键相关的附加的32位值
        [DllImport("user32.dll")]
        static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
           UIntPtr dwExtraInfo);//该函数合成一次击键事件


        const int KEYEVENTF_KEYUP = 0x2;//若指定该值,该键将被释放;若未指定该值,该键将被按下

        public static void keydown(Keys k)
        {//按下
            keybd_event((byte)k, 0, 0, UIntPtr.Zero);
        }

        public static void keyup(Keys k)
        {//释放
            keybd_event((byte)k, 0, KEYEVENTF_KEYUP, UIntPtr.Zero);
        }
                
        public static void printScreen()
        {//模拟PrintScreen
            keydown(Keys.PrintScreen);
            Application.DoEvents();
            keyup(Keys.PrintScreen);
            Application.DoEvents();
        }

        public static void altPrintScreen()
        {//模拟Alt+PrintScreen
            keydown(Keys.Menu);
            keydown(Keys.PrintScreen);
            Application.DoEvents();
            keyup(Keys.PrintScreen);
            keyup(Keys.Menu);
            Application.DoEvents();

        }
    }
}

 

转载于:https://my.oschina.net/u/2552902/blog/543912

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106773.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java设计模式之策略模式「建议收藏」

    本文属于23种设计模式系列。 介绍的是策略模式。

    2022年3月11日
  • Python3对股票数据进行分析

    Python3对股票数据进行分析目录一、量化交易概述1、量化交易(投资方法)2、算法交易(自动交易、黑盒交易或机器交易)3、量化策略4、量化选股5、股票回测二、股票数据三、股票数据分析1、导入股票时间序列数据2、绘制股票成交量的时间序列图3、绘制股票收盘价和成交量的时间序列图3、绘制K线图(蜡烛图)(1)K线图理论(2)K线图绘制4、股票指标相关性分析(1)相关关系…

    2022年6月11日
  • pycharm2021.11.3激活补丁_最新在线免费激活

    (pycharm2021.11.3激活补丁)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
  • spring整合Mybatis-plus[通俗易懂]

    spring整合Mybatis-plus[通俗易懂]spring整合Mybatis-plus今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。既然是spring,那就少不了各种xxx.xml配置文件。那就先说说配置文件<1>.application-dao.xmldao层的配置,他的核心就是要产生Mapper代理对象 1、数据源的配置<context:prope…

    2022年6月6日
  • Pygame安装的详细说明

    Pygame安装的详细说明Pygame的安装在未安装好pygame模块时,我们在使用pygame开发游戏就回发生Error:ModuleNotFoundError:Nomodulenamed‘pygame’此时则要安装好pygame模块才可以正常使用pygame模块进行游戏开发。下面详细讲述pygame模块的安装:1.先检查自己的python版本,我们现在用的一般是最新版,例如我下载的是python3….

    2022年5月23日
  • 用PS修复老照片_photoshop修复老照片

    用PS修复老照片_photoshop修复老照片原图素材虽然很旧,不过人物部分并没有怎么损坏,只是有一些色块和杂色。修复的工程相对来说也少很多。只需要给人物磨好皮,然后把暗调和高光部分调出来即可。原图原图素材虽然很旧,不过人物部分并没有怎么损坏,

    2022年8月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号