将 PictureBox 内容发送到 MsPaint

2024-01-10

如何发送要在 Paint 中编辑的图片框的内容? 我想过快速暂时保存它,然后发送要加载的临时地址,但我认为这会导致一些小的保存问题。


不幸的是我现在用 C# 提供答案。幸运的是,只是语法而不是内容需要改变。

假设这是您的图片框控件,获取内容(作为位图)并将其放在剪贴板上。现在,如果您将其设置为前台等,您可以将其粘贴到 MSPaint 中,但您可以使用 SendMessage 或 SendKeys 进行粘贴。

Bitmap bmp = new Bitmap(pictureBox1.Image);
Clipboard.SetData(System.Windows.Forms.DataFormats.Bitmap, bmp);

一个糟糕的例子,可以选择打开 mspaint 并等待它出现,使用 SendKeys 进行粘贴。

    [DllImport("User32.dll", SetLastError = true)]
    public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);

    [DllImport("user32.dll")]
    private static extern IntPtr GetForegroundWindow();

    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    static extern bool SetForegroundWindow(IntPtr hWnd);


    private static void TestSendPictureToMSPaint()
    {
        Bitmap bmp = new Bitmap(pictureBox1.Image);
        Clipboard.SetData(System.Windows.Forms.DataFormats.Bitmap, bmp);

        //optional#1 - open MSPaint yourself
        //var proc = Process.Start("mspaint");

        IntPtr msPaint = IntPtr.Zero;
        //while (msPaint == IntPtr.Zero) //optional#1 - if opening MSPaint yourself, wait for it to appear
        msPaint = FindWindowEx(IntPtr.Zero, new IntPtr(0), "MSPaintApp", null);

        SetForegroundWindow(msPaint); //optional#2 - if not opening MSPaint yourself

        IntPtr currForeground = IntPtr.Zero;
        while (currForeground != msPaint)
        {
            Thread.Sleep(250); //sleep before get to exit loop and send immediately
            currForeground = GetForegroundWindow();
        }
        SendKeys.SendWait("^v");
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 PictureBox 内容发送到 MsPaint 的相关文章

  • 从字符串“”到类型“布尔”的转换无效

    我在 ASP NET 登录表单的标题中收到错误消息 有谁知道我该如何解决它 非常感谢帮助 Protected Sub Button1 Click ByVal sender As Object ByVal e As EventArgs Han
  • 是否可以强制 Visual Studio 2010 使用 Visual Basic 10?

    要重现我收到的错误 在 Visual Basic 中创建一个新的 Visual Studio 2010 ASP NET 网站 面向 NET 2 0 输入 公共财产测试作为字符串 请注意 Visual Basic 9 0 不支持自动实现的属性
  • 使用 vb.net 在 MS Access 中插入和更新值

    我已经检查了该网站上的大部分论坛 但没有得到我的解决方案 我的问题是将数据从 vb net 插入到 MS Access 但我无法做到 它没有显示任何错误 但也没有在我的表中插入值 我正在使用非常简单的代码 Imports System Da
  • 带有多个嵌入图像的 VB.NET 电子邮件

    请有人给我一些关于如何发送包含多个嵌入图像的电子邮件的指示 我可以发送一封基本电子邮件 也可以使用 AlternateView 发送一封带有单个嵌入图像的电子邮件 在 bodyText 中作为 XElement 我有 img src 然后我
  • 如何检查数据行中是否存在具有给定名称的列

    我想从数据行中的循环插入一个值 因此在数据行中输入值之前 我想检查表中是否存在特定列名称 请告诉我如何检查 首选 vb net 我得到了答案 并且它正在工作 它是 If dr Table Columns Contains columnnam
  • 将带有非字符串关键字的 dict 传递给 kwargs 中的函数

    我使用具有签名功能的库f args kwargs 我需要在 kwargs 参数中传递 python dict 但 dict 不包含关键字中的字符串 f 1 2 3 4 Traceback most recent call last File
  • 按降序对数字进行排序

    我有 20 个文本框 每个都包含一个特定的数字 我希望 textbox1 到 textboxN 的数字按降序排列 如果任何文本框的值为零 那么我想保留该文本框不变 需要 vb net 中的示例代码 用于按降序对元素进行排序 dim arra
  • 如何覆盖/更新当前由 IIS 提供服务的文件?

    问题 我的公司每月发布一份时事通讯 我将其托管在我们的内部网站上 我有一个供时事通讯作者上传最新版本的页面 作者上传最新的新闻通讯后 他会发送一封广播电子邮件来宣布新的新闻通讯 员工总是会检查新的时事通讯并向作者发送反馈以及需要进行的更正
  • 将二维数组绑定到数据网格中

    所以我的情况是我想从数据库中的两个字段填充一个二维数组 我在为数组分配数据库字段值时遇到问题 第二个是在数据网格中显示数组 我已经编码了 dgv2 Datasource myArray 但它仍然返回错误消息 这是我的代码 Dim msql
  • 通过访问硬盘序列号来保护软件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想获得VB NET或VB代码来在启
  • 如何在 vb.net 中更改 DateTimePicker 的日期格式

    如何更改 vb net 中 DateTimePicker 的日期格式 以便日期以 dd mm 1990 格式显示 没有任何时间值 我尝试将格式更改为 短 虽然这提供了我需要的日期格式 但它不会删除时间 您需要将 DateTimePicker
  • VB.NET 中的自动递增文本框

    单击按钮后如何增加文本框内容 将其放在按钮单击事件中 Dim int As Integer Integer TryParse TextBox1 Text int TextBox1 Text int 1
  • PHP 函数可以接受无限数量的参数吗? [复制]

    这个问题在这里已经有答案了 在 PHP 中有类似的函数unset 支持我们向它们抛出的任意数量的参数 我想创建一个类似的函数 它能够接受任意数量的参数并处理所有参数 任何想法 如何做到这一点 在 PHP 中 使用该函数func get ar
  • 更改数据网格列顺序或索引

    这是我无法相信我无法弄清楚的事情 请告诉我我错过了一些简单的事情 我有一个数据网格 我用 LINQ 填充它以及一个自定义类来向其中添加数据 之后 我需要按特定顺序排列数据 它似乎忽略了我 如何更改列属性 例如索引等 这是我正在使用的 LIN
  • string() 类型的值无法转换为字符串

    我不断收到此错误 我尝试了所有可能的方法 但它仍然显示 String 的值类型无法转换为字符串 这是代码 Private Sub Label1 Click sender As Object e As EventArgs Handles La
  • 使用 .NET 将两个 PNG 图像合并为一张图像

    我有两个 其实很多 PNG http en wikipedia org wiki Portable Network Graphics png 我的应用程序中的图像 两者都有透明区域 我想在我的应用程序中拍摄两个图像 将它们组合起来 并将结果
  • C#“var”关键字在 VB.NET 中的等价物是什么?

    例如 我如何获得 VB NET静态类型局部变量是static赋值右侧的表达式的类型 像这样 Dim http msdn microsoft com en us library 7ee5a7s1 aspx我的变量 3 你还需要 选项推断 ht
  • 如何从网页启动 Windows 应用程序?

    我们有一个公司内部网 并且权力机构认为拥有一组代表大多数代表使用的应用程序 Outlook Excel 少数其他应用程序 的图标 链接会很好 这个想法是 如果安装了应用程序 单击链接 图标将在客户端计算机上启动该应用程序 有人曾经有过这样的
  • 如何在VB.NET中画一条线

    我正在尝试用 VB NET 画一条简单的线 我的代码如下 但是当我运行代码时 只显示表单 没有线 我在这里做错了什么 Public Class Form1 Dim pen As System Drawing Graphics Private
  • 尝试使用 LoadImage 加载应用程序的图标,但该函数返回 0

    我正在尝试使用加载应用程序的图标LoadImageWinAPI函数 但由于某种原因它总是返回0 我已阅读文档 https msdn microsoft com en us library windows desktop ms648045 v

随机推荐

  • 爆炸函数后将值添加到一个数组

    我正在尝试从所有行获取所有路径并将它们 爆炸后 添加到一个数组中 以便将它们显示为复选框 这是我的代码 result mysql query select path from audit where ind ind exp array wh
  • SPOJ ADDREV 问题

    我确实浏览了其他线程SPOJ http en wikipedia org wiki SPOJ问题 ADDREV https www spoj pl problems ADDREV 添加反转数字 但遗憾的是 我无法通过我编写的三个程序 C P
  • 即使我调用 componentHandler.upgradeDom(),汉堡包图标也不会显示;

  • 测试替身有哪些不同类型及其用途?

    我正在学习有关测试驱动开发的在线课程 并遇到了测试替身的概念 根据课程中测试替身的定义 测试双打 测试替身是在单元测试中用于替代实际生产系统协作者的对象 我知道测试双打是什么意思了 但后来有人提到 测试替身有多种类型 课程中提到的内容是 D
  • 将日期向量转换为 R 中的儒略日

    我有一列格式如下的日期 10年6月16日 我想提取儒略日 我有不同的岁月 我尝试过 julian 和 mdy date 函数 但似乎不起作用 尝试以下方法从类转换character 即文本 到课堂POSIXlt 然后提取儒略日 yday t
  • glDeleteBuffers() 在析构函数调用期间崩溃

    正如 Qt 用户所知 使用任何 OpenGL 扩展都可能非常麻烦 我让它工作的方法是扩展 QGLFunctions 类 如下所示 class Object3D protected QGLFunctions 为了使 Object3D 能够正确
  • 任务管理器、ProcessExplorer 或类似工具:监视和管理 CLR 线程

    有没有一种工具可以查看托管线程在 CLR 中运行的情况 理想情况下 我希望看到 CPU 负载 状态 托管名称和托管 id 即使该线程属于线程池 或者是后台线程 它将能够对线程池 前台线程和后台线程进行分组 折叠 动机 我正在使用 CLR P
  • 未生成 iOS 的 Xcode 6.1 静态库 .a

    我尝试使用 Xcode 6 1 为我的 iOS 设备制作静态库 我在 Xcode 上选择一个带有模板 Cocoa Touch Static Library 的新项目并将其命名为 MyLib 对于 MyLib 目标 我在模拟器中选择 iPho
  • 在 kotlin js 中嵌入资源

    在 kotlin jvm 中 或者在 java 中 不管怎样 我们可以通过资源输入流读取资源内容 有没有办法在 kotlin js 中做到这一点 现在我正在通过 ajax 调用请求资源 但最好将资源自动嵌入到已编译的 javascript
  • 从 JSON 文件导入 Google 应用脚本项目

    在 Google Drive 中 可以将应用程序脚本项目下载为 json file 当此类文件导入回 Google 云端硬盘时 它与 Google 脚本编辑器应用程序没有正确关联 有什么办法可以正确地做到这一点吗 导入和导出 Apps 脚本
  • iphone如何指定Class数据类型必须采用某种协议

    在我的应用程序中 我需要返回 Class 作为返回类型 例如 应用 m Class getParserClass return NCCurrencyParser class NCCurrencyParser m interface NCCu
  • 查找文本中出现的大量短语

    我正在构建一个后端并尝试解决以下问题 客户端向后端提交文本 大约2000平均字符数 接收请求的后端端点必须对提交的文本应用短语突出显示 周围有80k要匹配的短语 短语是一个简单的对象 phrase phrase to match link
  • 如何确定 Colliderect 中对象相互穿过的原因

    由于某种原因 Colliderect 无法工作 雨水会穿过人行道 这真的很烦人 因为所有这些未使用的精灵都会产生大量的延迟 import pygame import random class Square pygame sprite Spr
  • 使用 jQuery 从一组选择菜单中删除和添加选项

    这比标题所描述的要复杂一些 但以下是基本的业务规则 上面有三个选择菜单 页面 每个页面都填充相同的内容 选项和值 总会有三个选择 菜单 总会有相同的数字 每个选择中的选项 值 菜单 在任一问题中选择一个问题 菜单将删除该问题作为选项 另外两
  • 使用“car”跨列范围重新编码

    我在网上查了一下 不知道如何申请car重新编码一系列列的值 要重新编码单个列的值 我将运行以下命令 df dv r lt recode df dv 2 1 1 0 0 NA 然后 如果我想对整个 data frame 执行此操作 我可以运行
  • 选项[selected=true] 不起作用

    我有这个命令 visibleSelect 是保存多个选择列表的 jquery 变量 var selectedOption visibleSelect find option selected true 从观察窗我可以看到selectedOp
  • 如何在 Xcode 7.0 beta 2 中运行 iOS 7.1 模拟器?

    我已经安装了最新的 Xcode 7 beta 2 版本 当我尝试在 iOS 7 1 模拟器中运行该应用程序时 它给出了以下错误消息 iOS 7 1 模拟器运行时不可用 无法打开 liblaunch sim dylib 尝试重新安装 Xcod
  • 如何从 gi.repository 导入 gtk.gdk

    我有这个 python 代码 可以截取 x 屏幕的屏幕截图 usr bin python import gtk gdk w gtk gdk get default root window sz w get size print The si
  • 在 Ruby on Rails 中处理国际货币输入

    I have 一个应用程序 http yourdough com处理货币输入 但是 如果您在美国 则可以输入一个数字 12 345 67 在法国 可能是12 345 67 在 Rails 中 是否有一种简单的方法可以使货币输入适应区域设置
  • 将 PictureBox 内容发送到 MsPaint

    如何发送要在 Paint 中编辑的图片框的内容 我想过快速暂时保存它 然后发送要加载的临时地址 但我认为这会导致一些小的保存问题 不幸的是我现在用 C 提供答案 幸运的是 只是语法而不是内容需要改变 假设这是您的图片框控件 获取内容 作为位