c# 系统光标

zhengyang_best 2011-02-24 11:59:47
这样的:我想让我的程序运行起来之后把系统的激活窗口设置为一个指定的窗口,然后把光标设置成无效,意思就是假如有一个记事本,本来如果记事本开启的时候记事本就会自动获取系统光标,然后在那一闪一闪的,当我的程序运行起来后就算记事本运行他也不会获取到光标 能实现吗????
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yalan 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhengyang_best 的回复:]
如何判断一个窗口即是当前激活窗体而且像textbox这样的控件又有鼠标单击事件呢!
[/Quote]


foreach (Form f in Application.OpenForms)
{
Console.WriteLine("Name: " + f.Name + " Focused:" + f.Focused);

Console.WriteLine("is activted? " + ((Form.ActiveForm == f) ? "true" : "false"));

}
zhengyang_best 2011-02-24
  • 打赏
  • 举报
回复
如何判断一个窗口即是当前激活窗体而且像textbox这样的控件又有鼠标单击事件呢!
wuyq11 2011-02-24
  • 打赏
  • 举报
回复
API:GetForegroundWindow
获得前台窗口的句柄
[DllImport( "user32.dll ")]
private static extern int GetForegroundWindow(); public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
static void Main(string[] args)
{
foreach (Process thisproc in Process.GetProcesses())
{
if (thisproc.MainWindowHandle.ToInt32() == GetForegroundWindow().ToInt32())
{
Console.WriteLine(thisproc.ProcessName);
}
}
Console.Read();
}


[DllImport("User32.Dll")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("User32.Dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);

//调用类似以下:
SendMessage(ParenthWnd, WM_KEYDOWN, (IntPtr)31, "0");
SendMessage(ParenthWnd, WM_KEYUP, (IntPtr)31, "0");
zhengyang_best 2011-02-24
  • 打赏
  • 举报
回复
没人吗!!

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧