请问C#里怎么用API函数SendMessage来显示标题栏的系统菜单??? 如题...不明白请查看:http://community.csdn.net/Expert/topic/5293/5293542.xml?temp=.3471643在线等待 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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); } 问题已解决...非常感谢 zswang(伴水清清)(专家门诊清洁工) 的热心缓助...我先给分吧!但是我还有另外一个问题。希望你也能替我解决掉期待...地址:http://community.csdn.net/Expert/topic/5281/5281549.xml?temp=.5071985 如果要响应还得用: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); 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);} 矢量图EMF转位图求助 求助 关于RTF合并…… 窗口之间的问题 数据更新问题 查询时如何将多行数据合到一行里去?(据说是很难的sql语句) 超BT想法!!!!!!!!!!!!!!!!! 一个实用的小脚本 获取图片扩展名---------中科万维数字教育 请教,怎样在Form上对插入的图片进行缩放操作。 请教诸位高手 字符串查找、插入操作 sql server中保存DataTable
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);
}
TPM_RETURNCMD or TPM_LEFTBUTTON, vPoint.X, vPoint.Y, 0, Handle, out vRect);
SendMessage(Handle, WM_SYSCOMMAND, ret, 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);
}