gpt4 book ai didi

c# - 是否可以发送 WM_COPY 消息将文本复制到剪贴板以外的地方?

转载 作者:行者123 更新时间:2023-12-02 22:22:06 24 4
gpt4 key购买 nike

这是方法定义:

  [DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int msg, IntPtr lparam, IntPtr wparam);

这是对 SendMessage 的调用:

 //WM_COPY = 0x0301
SendMessage(handle, WM_COPY, IntPtr.Zero, IntPtr.Zero);

这就是我检索数据的方式:

string text = System.Windows.Forms.Clipboard.GetText();

除了我不想将数据复制到剪贴板外,我也想做同样的事情。是否可以将数据复制到内存中的其他部分?如果是,怎么办?

最佳答案

没有。您无法控制其他应用程序在收到消息时将做什么。您将获得目标窗口针对该消息的任何行为,除此之外别无其他(除非您也控制目标,否则您可以自己处理它)。

WM_COPY 只是一条消息(它也是标准消息,以特定方式处理很有意义)- 有些窗口会处理它,有些则不会。如 MSDN 上定义 WM_COPY将保存用于编辑控件的文本。

An application sends the WM_COPY message to an edit control or combo box to copy the current selection to the clipboard in CF_TEXT format.

如果您正在实现自己的处理 WM_COPY 的应用程序,您可以将数据复制到任何您想要的地方,而且如果对编辑控件进行子类化,那么保持默认行为将很有意义...

关于c# - 是否可以发送 WM_COPY 消息将文本复制到剪贴板以外的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com