我想让鼠标悬浮在某个窗口的时候就选中这个窗口,不用单击左键,我的是w7旗舰,怎么设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想让鼠标悬浮在某个窗口的时候就选中这个窗口,不用单击左键,我的是w7旗舰,怎么设置?相关的知识,希望对你有一定的参考价值。

我想让鼠标悬浮在某个窗口的时候就选中这个窗口,不用单击左键,我的是w7旗舰,怎么设置?

打开“控制面板”-“所有控制面板项”,单击“轻松使用设置中心”,单击打开“使鼠标更易于使用”对话框,将“使窗口更易于管理”中的“通过将鼠标悬停在窗口上来激活窗口”选中,然后单击“确定”。这时候当鼠标悬停在窗口时会自动激活该窗口。
这个功能还是不错的,因为在繁重的任务下,频繁切换窗口,多点几下鼠标,多动几下手指都很累呀。
参考技术A 好像没听说过windows有这个功能,可以编程实现。

winform用SendMessage怎么发送一个鼠标消息,指定鼠标在某个窗口(32,32)处按下,指定坐标在sendmess

你先要用FindWindow(string lpClassName,string lpWindowName)获取该窗口的句柄
IntPtr hwnd QQ= FindWindow(null,"QQ2011");这样就能获取QQ登录窗口的句柄
然后再使用SendMessage(IntPtr hwnd,int msg,IntPtr wParam,IntPtr lParam)
向该窗口发送消息
SendMessage(hwndQQ,WM_LBUTTONDBLCLK ,MK_LBUTTON,32 * 65535 + 32);
public const int WM_LBUTTONDBLCLK = 515
public const int MK_LBUTTON = 1;
(在电脑中搜索winuser.h,这个文件中包含消息值)
这个消息是左键单击消息
lParam的低16位填鼠标位置的x值,高16位填y值
要先声明
[DllImport( "user32.dll ", CharSet=CharSet.Auto)]
public static extern int SendMessage(int hWnd, int msg, IntPtr wParam, IntPtr lparam);
[DllImport( "user32.dll ", CharSet=CharSet.Auto)]
public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);追问

现在就是用这种方法,可是 IntPtr lparam这个参数怎么设置。只知道x,y

追答

IntPtr lParam = (IntPtr)(y * 65535 + x);

追问

那在传过去的信息里面,如何获取这个x,y呢

追答

///
/// 获得低十六位
///
///
///
public static int LOWORD(int wParam)
return (wParam & 0x0000ffff);


获取高十六位
public static int HIWORD(int wParam)
return (wParam >> 16);


对不起,上面65535应该改成65536,不小心写错了

追问

是public static int LOWORD(int wParam)
return (wParam & 0x0000ffff);


还是public static int LOWORD(int wParam)
return (lParam & 0xFFFF);

追答

上面一个

追问

有没有qq,我能不能加你

追答

我不用QQ的!

追问

我搞出来了,发送 Class1.SendMessage(inPTR2, Class1.WM_LBUTTONDOWN, (UInt32)inPTR1, (e.Y * 65536 + e.X));
接收 iPreLParam = m.LParam.ToInt32();
iMoveX = (iPreLParam & 0x0000ffff);
iMoveY = (iPreLParam >> 16);
但是有个问题,如何让图片居中画呢

追答

你想在哪上面画图?详细介绍 一下你的需求

参考技术A /// <summary>
/// 发送鼠标左键单击消息
/// </summary>
/// <param name="x">X坐标</param>
/// <param name="y">Y坐标</param>
public static void EsSendKey_MouseLeftClick(int x, int y)

int xx = Screen.PrimaryScreen.Bounds.Width;
int yy = Screen.PrimaryScreen.Bounds.Height;
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x * 65536 / xx, y * 65536 / yy, 0, 0);


/// <summary>
/// 鼠标事件
/// </summary>
[DllImport("user32.dll")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

没用过SendMessage 我自己写的

以上是关于我想让鼠标悬浮在某个窗口的时候就选中这个窗口,不用单击左键,我的是w7旗舰,怎么设置?的主要内容,如果未能解决你的问题,请参考以下文章

Qml 透明窗口,设置不规则等透明窗口,鼠标可穿透到桌面

winform用SendMessage怎么发送一个鼠标消息,指定鼠标在某个窗口(32,32)处按下,指定坐标在sendmess

C# winform鼠标移动到窗口给窗口加边框并获得句柄

关于MFC:鼠标放在LISTBOX上,把上面显示的信息悬浮地显示出来。

按键精灵8,获取句柄有些只有窗口类名,没有窗口标题,该怎么办?

在一个网页中怎样做一个悬浮窗口,并在右上角有关闭按钮的。