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 Web项目中引入Mondrian多维分析框架

    在Java Web项目中引入Mondrian多维分析框架

    2021年8月31日
    73
  • 中国剩余定理解析_中国剩余定理详解

    中国剩余定理解析_中国剩余定理详解孙子问题最早,在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?用白话描述就是,现在有一个数不知道是多少,只知道这个数除以3余2,除以5余3,除以7余2,问这个数是多少?上面的问题可以转换为以下这样一个方程组:{xmod3=2xmod5=3xmod7=2\begin{cases}x\quadmod\quad3=2\\x\…

    2025年7月15日
    1
  • LWIP使用解析_lwip tcp

    LWIP使用解析_lwip tcp1:环境STM32F407RT-thread2:结构体使用最上层:structrt_stm32_ethstructrt_stm32_eth{/*inheritfromethernetdevice*/structeth_deviceparent;/*interfaceaddressinfo,hwaddress*/rt_uint8_tdev_addr[MAX_ADDR_LEN];/*ETH_Speed*/

    2025年6月21日
    0
  • PS初学者实例教程——图层样式的学习[斜面和浮雕]

    PS初学者实例教程——图层样式的学习[斜面和浮雕]本系列教程由中国教程网互助课堂专为PS新手制作,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!本例我们学习“斜面和浮雕”图层样式斜面和浮雕是使用频率最高的一种图层样式,熟悉和掌握操作技巧,我们就可以制作出精彩的效果;特别是等高线,运用得当可以制作出与众不同的特殊视觉效果图象题后留有练习作业题,请选择练习.如果使用了附加方法,请加以说明

    2022年9月4日
    2
  • 性能和稳定性测试报告模板下载_产品稳定性报告怎样写

    性能和稳定性测试报告模板下载_产品稳定性报告怎样写目的:描述此次测试的目的:(以下目的请做参考)验证改进的性能效果,需要和以前的测试结果进行比对。新的业务上线,验证新系统能够满足系统的上线指标。验证系统稳定性验证系统的架构是否存在瓶颈测试环境:提供网络拓扑图可以使用visio来花图,描述清楚几个要点:几台测试服务器,每台都有什么服务,前台web服务、memcache、数据库?几台服务器的连接关系服务器软件信息说明: 服务器IP地址 服务器角色 数据库说明

    2022年9月8日
    0
  • JavaFX Script语言教程「建议收藏」

    JavaFX Script语言教程「建议收藏」JavaFXScript™(下文中称为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函数(first-classfunctions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incrementaldependency-basedevaluation)等特征。JavaFX脚本式语言特别适用于Java2Dswi…

    2022年6月21日
    25

发表回复

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

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