如题...不明白请查看:http://community.csdn.net/Expert/topic/5293/5293542.xml?temp=.3471643在线等待

解决方案 »

  1.   

    const uint TPM_LEFTBUTTON = 0;
            const uint TPM_RIGHTBUTTON = 2;
            const uint TPM_LEFTALIGN = 0;
            const uint TPM_CENTERALIGN = 4;
            const uint TPM_RIGHTALIGN = 8;
            const uint TPM_TOPALIGN = 0;
            const uint TPM_VCENTERALIGN = 0x10;
            const uint TPM_BOTTOMALIGN = 0x20;        #region DllImport
            [DllImport("User32.dll")]
            static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
            [DllImport("User32.dll")]
            static extern bool GetCursorPos(out Point lpPoint);
            [DllImport("User32.dll")]
            static extern bool TrackPopupMenu(IntPtr hMenu, uint uFlags,
                int x, int y, int nReserved, IntPtr hWnd, out Rectangle prcRect); 
            #endregion        private void button1_Click(object sender, EventArgs e)
            {
                Point vPoint;
                Rectangle vRect;
                GetCursorPos(out vPoint);
                TrackPopupMenu(GetSystemMenu(Handle, false),
                    TPM_LEFTBUTTON, vPoint.X, vPoint.Y, 0, Handle, out vRect);
            }
      

  2.   

    问题已解决...非常感谢 zswang(伴水清清)(专家门诊清洁工) 的热心缓助...我先给分吧!但是我还有另外一个问题。希望你也能替我解决掉期待...地址:http://community.csdn.net/Expert/topic/5281/5281549.xml?temp=.5071985
      

  3.   

    如果要响应还得用:TPM_RETURNCMD = $100;ret = TrackPopupMenu(GetSystemMenu(Handle, false),
                    TPM_RETURNCMD or TPM_LEFTBUTTON, vPoint.X, vPoint.Y, 0, Handle, out vRect);
    SendMessage(Handle, WM_SYSCOMMAND, ret, 0);
      

  4.   

    const uint TPM_LEFTBUTTON = 0;
    const uint TPM_RIGHTBUTTON = 2;
    const uint TPM_LEFTALIGN = 0;
    const uint TPM_CENTERALIGN = 4;
    const uint TPM_RIGHTALIGN = 8;
    const uint TPM_TOPALIGN = 0;
    const uint TPM_VCENTERALIGN = 0x10;
    const uint TPM_BOTTOMALIGN = 0x20;
    const uint TPM_RETURNCMD = 0x100;
    const uint WM_SYSCOMMAND = 0x0112;#region DllImport
    [DllImport("User32.dll")]
    static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
    [DllImport("User32.dll")]
    static extern bool GetCursorPos(out Point lpPoint);
    [DllImport("User32.dll")]
    static extern int TrackPopupMenu(IntPtr hMenu, uint uFlags,
        int x, int y, int nReserved, IntPtr hWnd, out Rectangle prcRect);
    [DllImport("User32.DLL")]
    public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
    #endregionprivate void button1_Click(object sender, EventArgs e)
    {
        Point vPoint;
        Rectangle vRect;
        GetCursorPos(out vPoint);
        SendMessage(Handle, WM_SYSCOMMAND, TrackPopupMenu(
            GetSystemMenu(Handle, false),
            TPM_RETURNCMD | TPM_LEFTBUTTON, vPoint.X, vPoint.Y, 
            0, Handle, out vRect), 0);
    }