【问题标题】:SendMessage() to copy/cut/paste WM_COPYDATA 0x004ASendMessage() 复制/剪切/粘贴 WM_COPYDATA 0x004A
【发布时间】:2013-02-09 06:15:33
【问题描述】:

我一直在浏览,但不清楚如何简单地发送 Ctrl+x 或 Ctrl+c 命令 复制/剪切数据(字符串),但我很确定这是所需的 pInvoke。快手,有人吗?

[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

可能伴随着这个: [DllImport("user32.dll")] static extern IntPtr SetClipboardData(uint uFormat, IntPtr hMem);

不知道如何正确使用这两种方法,请帮忙。

IntPtr nextClipboardAppWindow;
public frmMain()
{
        nextClipboardAppWindow = (IntPtr)SetClipboardViewer((int)this.Handle);
}

    protected override void WndProc(ref System.Windows.Forms.Message m)
    {
        // defined in winuser.h
        const int WM_DRAWCLIPBOARD = 0x308;
        const int WM_CHANGECBCHAIN = 0x030D;
        switch (m.Msg)
        {
            case WM_DRAWCLIPBOARD:
                //DisplayClipboardData();
                SendMessage(nextClipboardAppWindow, m.Msg, m.WParam,
                            m.LParam);
                break;

            case WM_CHANGECBCHAIN:
                if (m.WParam == nextClipboardAppWindow)
                    nextClipboardAppWindow = m.LParam;
                else
                    SendMessage(nextClipboardAppWindow, m.Msg, m.WParam,
                                m.LParam);
                break;

            default:
                base.WndProc(ref m);
                break;
        }
    }

【问题讨论】:

  • 您的实际问题是什么?
  • what,@where,____when____,“为什么”,但主要是:如何?...
  • 如果您只是想要答案,没有人可以帮助您。您在提问时需要非常具体。 -1 。
  • 这里有管理员看到这个吗?他们可以为我笑一次吗?

标签: c#


【解决方案1】:

如果您使用 .Net 并且可以访问 System.Windows.Forms,那么您可以使用 Clipboard 类来处理 SetGet 剪贴板数据。 以下是 MSDN 的链接示例。

http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.aspx

Clipboard 类实际上将数据发布到系统剪贴板。它不受应用程序的约束。很简单

System.Windows.Forms.Clipboard.SetText("This will be available across all applications");

【讨论】:

  • 我需要在应用程序本身之外复制一些东西你如何 Clipboard.SetDataObject(object data, bool copy);表格外?
  • Clipboard 类复制/粘贴未绑定到应用程序。它从系统剪贴板设置/获取值。我已经更新了我的答案,请看一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
  • 2013-05-13
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多