C# sendmessage实现复制粘贴的问题
我在winform程序中使用webbrowser打开一个word文件,现在想把word文件中的选中数据(有文字有图片),拖拽到richtextbox中,怎样能实现文字图片一起放入?
meheartfly 2009年01月06日 13点11分44秒 说:
我在网上搜索了些资料,好像只能用Api的sendmessage()实现复制粘贴,才能完成这个操作,可是我写的Sendmessage()或别的地方有问题,没有实现效果
请帮我检查一下吧,谢谢
const int WM_PASTE = 0x302;
const int WM_CUT = 0x300;
const int WM_COPY = 0x301;
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
private static extern int SendMessage(System.IntPtr ptr, int wMsg, int wParam, int lParam);
//拽入richtextbox
private void richTextBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text) || e.Data.GetDataPresent(DataFormats.Bitmap))
{
System.Windows.Forms.Clipboard.Clear();
e.Effect = DragDropEffects.Copy;
SendMessage(this.ActiveControl.Handle, WM_COPY, 0, 0);
}
else
{
e.Effect = DragDropEffects.None;
}
}