易本地工作室-Ebend Software&Network Studio - 群发,采集,管理类软件定制开发服务【易本地工作室】
本工作室提供信息采集,管理,群发类软件定制服务,10年软件定制经验!

最近更新

C#操作剪贴板,MARK一下

C#操作剪贴板,MARK一下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace 表格梳理
{
    class ClipboardControl
    {
        [DllImport("User32")]
        internal static extern bool OpenClipboard(IntPtr hWndNewOwner);

        [DllImport("User32")]
        internal static extern bool CloseClipboard();

        [DllImport("User32")]
        internal static extern bool EmptyClipboard();

        [DllImport("User32")]
        internal static extern bool IsClipboardFormatAvailable(int format);

        [DllImport("User32")]
        internal static extern IntPtr GetClipboardData(int uFormat);

        [DllImport("User32", CharSet = CharSet.Unicode)]
        internal static extern IntPtr SetClipboardData(int uFormat, IntPtr hMem);
        internal static void SetText(string text)
        {
            OpenClipboard(IntPtr.Zero);
            EmptyClipboard();
            SetClipboardData(13, Marshal.StringToHGlobalUni(text));
            CloseClipboard();
        }

        internal static string GetText(int format)
        {
            string value = string.Empty;
            OpenClipboard(IntPtr.Zero);
            if (IsClipboardFormatAvailable(format))
            {
                IntPtr ptr = GetClipboardData(format);
                if (ptr != IntPtr.Zero)
                {
                    value = Marshal.PtrToStringUni(ptr);
                }
            }
            CloseClipboard();
            return value;
        }

    }
    public static class ClipboardFormat
    {
        /// <summary>
        /// Text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals
        /// the end of the data. Use this format for ANSI text.
        /// </summary>
        public const int CF_TEXT = 1;

        /// <summary>
        /// A handle to a bitmap (<c>HBITMAP</c>).
        /// </summary>
        public const int CF_BITMAP = 2;

        /// <summary>
        /// Handle to a metafile picture format as defined by the <c>METAFILEPICT</c> structure. When passing a
        /// <c>CF_METAFILEPICT</c> handle by means of DDE, the application responsible for deleting <c>hMem</c> should
        /// also free the metafile referred to by the <c>CF_METAFILEPICT</c> handle.
        /// </summary>
        public const int CF_METAFILEPICT = 3;

        /// <summary>
        /// Microsoft Symbolic Link (SYLK) format.
        /// </summary>
        public const int CF_SYLK = 4;

        /// <summary>
        /// Software Arts' Data Interchange Format.
        /// </summary>
        public const int CF_DIF = 5;

        /// <summary>
        /// Tagged-image file format.
        /// </summary>
        public const int CF_TIFF = 6;

        /// <summary>
        /// Text format containing characters in the OEM character set. Each line ends with a carriage return/linefeed
        /// (CR-LF) combination. A null character signals the end of the data.
        /// </summary>
        public const int CF_OEMTEXT = 7;

        /// <summary>
        /// A memory object containing a <c>BITMAPINFO</c> structure followed by the bitmap bits.
        /// </summary>
        public const int CF_DIB = 8;

        /// <summary>
        /// Handle to a color palette. Whenever an application places data in the clipboard that depends on or assumes
        /// a color palette, it should place the palette on the clipboard as well. If the clipboard contains data in
        /// the <see cref="CF_PALETTE"/> (logical color palette) format, the application should use the
        /// <c>SelectPalette</c> and <c>RealizePalette</c> functions to realize (compare) any other data in the
        /// clipboard against that logical palette. When displaying clipboard data, the clipboard always uses as its
        /// current palette any object on the clipboard that is in the <c>CF_PALETTE</c> format.
        /// </summary>
        public const int CF_PALETTE = 9;

        /// <summary>
        /// Data for the pen extensions to the Microsoft Windows for Pen Computing.
        /// </summary>
        public const int CF_PENDATA = 10;

        /// <summary>
        /// Represents audio data more complex than can be represented in a CF_WAVE standard wave format.
        /// </summary>
        public const int CF_RIFF = 11;

        /// <summary>
        /// Represents audio data in one of the standard wave formats, such as 11 kHz or 22 kHz PCM.
        /// </summary>
        public const int CF_WAVE = 12;

        /// <summary>
        /// Unicode text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character
        /// signals the end of the data.
        /// </summary>
        public const int CF_UNICODETEXT = 13;

        /// <summary>
        /// A handle to an enhanced metafile (<c>HENHMETAFILE</c>).
        /// </summary>
        public const int CF_ENHMETAFILE = 14;

        /// <summary>
        /// A handle to type <c>HDROP</c> that identifies a list of files. An application can retrieve information
        /// about the files by passing the handle to the <c>DragQueryFile</c> function.
        /// </summary>
        public const int CF_HDROP = 15;

        /// <summary>
        /// The data is a handle to the locale identifier associated with text in the clipboard. When you close the
        /// clipboard, if it contains <c>CF_TEXT</c> data but no <c>CF_LOCALE</c> data, the system automatically sets
        /// the <c>CF_LOCALE</c> format to the current input language. You can use the <c>CF_LOCALE</c> format to
        /// associate a different locale with the clipboard text.
        /// An application that pastes text from the clipboard can retrieve this format to determine which character
        /// set was used to generate the text.
        /// Note that the clipboard does not support plain text in multiple character sets. To achieve this, use a
        /// formatted text data type such as RTF instead. 
        /// The system uses the code page associated with <c>CF_LOCALE</c> to implicitly convert from
        /// <see cref="CF_TEXT"/> to <see cref="CF_UNICODETEXT"/>. Therefore, the correct code page table is used for
        /// the conversion.
        /// </summary>
        public const int CF_LOCALE = 16;

        /// <summary>
        /// A memory object containing a <c>BITMAPV5HEADER</c> structure followed by the bitmap color space
        /// information and the bitmap bits.
        /// </summary>
        public const int CF_DIBV5 = 17;

        /// <summary>
        /// Owner-display format. The clipboard owner must display and update the clipboard viewer window, and receive
        /// the <see cref="ClipboardMessages.WM_ASKCBFORMATNAME"/>, <see cref="ClipboardMessages.WM_HSCROLLCLIPBOARD"/>,
        /// <see cref="ClipboardMessages.WM_PAINTCLIPBOARD"/>, <see cref="ClipboardMessages.WM_SIZECLIPBOARD"/>, and
        /// <see cref="ClipboardMessages.WM_VSCROLLCLIPBOARD"/> messages. The <c>hMem</c> parameter must be <c>null</c>.
        /// </summary>
        public const int CF_OWNERDISPLAY = 0x0080;

        /// <summary>
        /// Text display format associated with a private format. The <c>hMem</c> parameter must be a handle to data
        /// that can be displayed in text format in lieu of the privately formatted data.
        /// </summary>
        public const int CF_DSPTEXT = 0x0081;

        /// <summary>
        /// Bitmap display format associated with a private format. The <c>hMem</c> parameter must be a handle to
        /// data that can be displayed in bitmap format in lieu of the privately formatted data.
        /// </summary>
        public const int CF_DSPBITMAP = 0x0082;

        /// <summary>
        /// Metafile-picture display format associated with a private format. The <c>hMem</c> parameter must be a
        /// handle to data that can be displayed in metafile-picture format in lieu of the privately formatted data.
        /// </summary>
        public const int CF_DSPMETAFILEPICT = 0x0083;

        /// <summary>
        /// Enhanced metafile display format associated with a private format. The <c>hMem</c> parameter must be a
        /// handle to data that can be displayed in enhanced metafile format in lieu of the privately formatted data.
        /// </summary>
        public const int CF_DSPENHMETAFILE = 0x008E;

        /// <summary>
        /// Start of a range of integer values for application-defined GDI object clipboard formats. The end of the
        /// range is <see cref="CF_GDIOBJLAST"/>. Handles associated with clipboard formats in this range are not
        /// automatically deleted using the <c>GlobalFree</c> function when the clipboard is emptied. Also, when using
        /// values in this range, the <c>hMem</c> parameter is not a handle to a GDI object, but is a handle allocated
        /// by the <c>GlobalAlloc</c> function with the <c>GMEM_MOVEABLE</c> flag.
        /// </summary>
        public const int CF_GDIOBJFIRST = 0x0300;

        /// <summary>
        /// See <see cref="CF_GDIOBJFIRST"/>.
        /// </summary>
        public const int CF_GDIOBJLAST = 0x03FF;

        /// <summary>
        /// Start of a range of integer values for private clipboard formats. The range ends with
        /// <see cref="CF_PRIVATELAST"/>. Handles associated with private clipboard formats are not freed
        /// automatically; the clipboard owner must free such handles, typically in response to the
        /// <see cref="ClipboardMessages.WM_DESTROYCLIPBOARD"/> message.
        /// </summary>
        public const int CF_PRIVATEFIRST = 0x0200;

        /// <summary>
        /// See <see cref="CF_PRIVATEFIRST"/>.
        /// </summary>
        public const int CF_PRIVATELAST = 0x02FF;
    }

}


参与:38时间:2019/8/20
易本地工作室软件定制报价

定制软件说明:

①软件定制费用为一次性付费

②不限制使用时间,不限制功能,不限制客户端数

1个月内功能性BUG免费修复

④因其他不可抗因素(包括但不限于网站改版等原因)导致软件功能不可用,不在作者责任范围之内

⑤作者保证不公开出售定制软件版本(需独立购买版权所有)(不包括类似功能的软件)


参与:1238时间:2015/6/23软件定制
关于“百亿工作室”修改本站原创软件付款方式事件的公告

12月20日有用户反映,有人在互联网上销售本工作室原创软件“备案批量查询工具”,本工作室高度重视。

经核实,该盗版者百度HI:百亿工作室 QQ:118355****(198网站制作) 支付宝:118355****@qq.com  *娜娜 ,利用软件资源修改工具修改本工作室软件内的付款方式和官方网站,然后添加用户进行行骗!本工作室已向江苏南京网监举报,并向提供下载的百度网盘举报(百度网盘已处理,下载地址已删除),并对软件作出一定的防御措施,针对使用修改版(盗版)的用户,本工作室已启用反盗版机制,用户打开盗版软件,会提示盗版信息,请立即停止使用并升级到正版,否则,对于造成的后果,本工作室概不负责!

参与:526时间:2014/12/31百亿工作室诈骗盗版备案批量查询工具
关于【域名备案批量查询工具】的一些问题说明

1.为什么你查的没别人快?

关于这个问题,我说过了很多次,备案查询速度和多方面有关,主要有以下几个因素:

  • 接口选择(软件默认的是最快的接口-工信部接口,毋庸置疑)

参与:1595时间:2014/12/10域名备案工信部最新备案信息备案号