解决方案 »

  1.   

    如何监听?
    windows API
      

  2.   

    如何监听?
    windows API
    这个我也知道,但是那个API实在太多,根本不知道用哪个?因为不太熟悉那个API ,而且别说没有具体注释,就算有,也看不过来。
      

  3.   

     //重载这个方法,使用Interop获取HwndSource
            protected override void OnSourceInitialized(EventArgs e)
            {
                base.OnSourceInitialized(e);
                HwndSource source = PresentationSource.FromVisual(this) as HwndSource;
                source.AddHook(WndProc);
            }        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
            {        }
    请问这个如何捕获系统的粘贴消息?
      

  4.   

    C#文件下载
    //加载绑定检索的下载文件
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            string serverPath = Server.MapPath("File");
            DirectoryInfo dir = new DirectoryInfo(serverPath);
            foreach (FileInfo fileName in dir.GetFiles())
            {
                DataRow dr = dt.NewRow();
                dr[0] = fileName;
                dt.Rows.Add(dr);
            }
            ListBox1.DataSource = dt;
            ListBox1.DataTextField = "Name";
            ListBox1.DataValueField = "Name";
            ListBox1.DataBind();
        }
    }
    //将绑定行索引保存到Session变量中
    protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Session["txt"] = ListBox1.SelectedValue.ToString();
    }
    //下载保存文件
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        if (Session["txt"] != "")
        {
            string path = Server.MapPath("File/") + Session["txt"].ToString();
            FileInfo fi = new FileInfo(path);
            if (fi.Exists)
            {
                         Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode( fi.Name));
                Response.WriteFile(fi.FullName);
                //Response.End();
                //Response.Flush();
                //Response.Clear();
            }
        }
    }
      

  5.   

    http://blog.csdn.net/rrrrssss00/article/details/7430862
      

  6.   

    http://www.cnblogs.com/over140/archive/2007/11/05/934452.html
      

  7.   

    重写Form的WndProc方法,
    if(m.msg==WM_COPY)
        检查剪切板();
      

  8.   

    #define WM_COPY                         0x0301
      

  9.   

    这个基本不可能吧,我不知道要下载那个文件,文件位置不确定,更加没有LinkButton1_Click这个动作,要是有,早就实现了,我需要系统的粘贴动作,至于我自己的整个复制粘贴流程,实际已经实现,只是不知到怎么替换系统的而已
      

  10.   

    这个只有CTRL+V
    系统粘贴动作有很多,如右键菜单粘贴,拖拽,CTRL+移动,甚至命令行等
    我也想到这种方式,但是我的是WPF项目,用的是WM_PASTE,但是确实禁掉系统的粘贴(仅仅Ctrl+V,没有禁掉系统右键粘贴),而且问题在于:替换成我自己的复制粘贴之后,貌似没有反应,网上也有类似的问题,但大多没有人正面回答。
      

  11.   

    目的文件夹已经能够获取到了,问题2已经解决那么只剩下问题1,求解:如何捕捉用户在window中的粘贴动作(触发自定义粘贴方法的事件)
      

  12.   

    有关C#捕捉键盘输入或动作:http://wenku.baidu.com/link?url=C006eBNPgQHaDDj-W2ovFN5Awsha1lV9DvC6Td_sa066KDyt4A1gRET85a_ZBfXw4SgbkYBfoTtD06NJnvDlJWpm380raUE8o-E_voGgphy