首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用c#获取当前活动窗口的标题?

在 C# 中,您可以使用 System.Windows.Forms.Cursor 类中的 Hide() 方法隐藏光标或鼠标指针,以及使用 WindowFromPoint 方法获取鼠标当前位置的窗口。但需要注意的是,Hide() 方法是隐藏光标,而不是光标所在的窗口。

为了获取活动窗口的标题,您可以使用 WindowFromPoint 方法,将其结合使用 System.Windows.Forms.Cursor 类中的 Show() 方法将隐藏的光标重新显示出来。

代码语言:txt
复制
using System.Windows.Forms;

public class clsWindowInfo
{
    public string windowTitle { get; set; }
    public clsWindowInfo(IntPtr hwnd)
    {
        Win32.GetWindowText(hwnd, out windowTitle);
    }
}

public static void Main()
{
    Win32.POINT lpPoint = new Win32.POINT();
    Win32.GetCursorPos(out lpPoint);
    IntPtr hWnd = Win32.WindowFromPoint(lpPoint);
    Win32.GetClassName(hWnd, out Win32.clsWindowInfo info);
    windowTitle = info.windowTitle;
}

public static class Win32
{
    static Win32()
    {
        WNDCLASSEX wcex = new WNDCLASSEX();
        // ... 添加 WNDCLASSEX 成员变量。
    }

    [DllImport("user32.dll")]
    public static extern IntPtr GetWindowText(IntPtr hWnd, StringBuilder lpBuffer, int nMaxCount);

    [DllImport("user32.dll")]
    public static extern bool GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);

    [StructLayout(LayoutKind.Sequential)]
    public struct RECT
    {
        public int Left;
        public int Top;
        public int Right;
        public int Bottom;
    }
    public struct POINT
    {
        public int X;
        public int Y;
    }
}

上面的代码将显示当前活动窗口的标题,同时该标题将始终保持在活动窗口上,直到窗口活动状态变化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言获取当前输出窗口大小

很多同学在学习C语言,只是局限于课本知识学习及应用,课本上练习题做了不少,可一旦遇到实际应用中问题,就感到无从下手。 以下就简单就printf函数进行分析。   ...C程序输出结果是在标准输出设备上,通常情况下,在Win环境下,其输出在一个字符窗口上,现在试问,如何得到该字符输出窗口大小,也即该窗口容纳多少字符,?行 * ?列。     ...;将字符串输出到输出窗口中,在当前确省光标位置上将Hello!依次输出到窗口上,如果当前行不足,则折行输出。...main() {   printf("\n");   for ( int i=1;i<=10;i++)     printf("0123456789"); }    同理,按此方法我们可以得到窗口所容纳字符行数...main() {     int i;   printf("\n");   for ( i=1;i<50;i++)     printf("%4d\n",i); }     记录当前显示窗口首行及末行显示数值即可

3.2K00

win10 uwp 获取窗口坐标和宽度高度 获取可视范围获取当前窗口坐标和宽度高度获取最前窗口范围

本文告诉大家几个方法在 UWP 获取窗口坐标和宽度高度 获取可视范围 获取窗口可视大小 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView...().VisibleBounds 获取当前窗口坐标和宽度高度 Window.Current.Bounds 获取最前窗口范围 通过 Win32 Api 获取最前窗口范围 IntPtr hWID...,同时有更好阅读体验。...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

3.7K30

c#获取当前运行程序所在目录

C#获取项目程序及运行路径方 1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录物理路径,最后包含“\”; 2.c# winform...用 A:“Application.StartupPath”:获取当前应用程序所在目录路径,最后不包含“\”; B:“Application.ExecutablePath ”:获取当前应用程序文件路径...().BaseDirectory”:获取当前应用程序所在目录路径,最后包含“\”; E:“Environment.CurrentDirectory”:获取当前应用程序路径,最后不包含“\”; F:“...,获取这个文件路径所在目录即得到安装程序目录; 一、获取当前文件路径 1....().BaseDirectory”:获取当前应用程序所在目录路径,最后包含“\”; E:“ Environment.CurrentDirectory”:获取当前应用程序路径,最后不包含“\”; F:

3.8K10

如何用js获取当前月份天数

获取每月天数时候,一般都是存储到一个数组中进行获取,但是如果是二月份的话就需要首先判断是否闰年,再确定是28还是29了。...js可以通过Date对象很方便获取到每月天数,在初始化Date对象时,我们可以通过这种方式: var d = new Date(2017,2,0); console.log(d.getDate())..., month, 0); return d.getDate(); } 在使用时传入想要获取年份和月份即可,如下: var totalDay = mGetDate(2004,2);...如果要获取当前月份天数: function mGetDate(){ var date = new Date(); var year = date.getFullYear();...JavaScript中day范围为1~31中值,我们获取第N-1个月第0天,就是N-1个月最后一天,这样就获得了第N个月有多少天。

12.2K50

Java:如何轻松获取当前执行方法名

在编程世界里,经常会遇到各种各样问题。有时候,需要了解当前执行方法名,以便更好地调试代码或者记录日志。那么,如何在Java中轻松获取当前执行方法名呢?本文将为您揭示这个神秘技巧!...:" + currentMethodName); }}二、使用反射获取当前执行方法名除了直接从堆栈跟踪信息中获取,还可以使用Java反射机制来获取当前执行方法名。...这种方法更加灵活,可以在运行时动态地获取方法名。2.1 获取目标类Class对象要使用反射获取当前执行方法名,首先需要获取到目标类Class对象。...:" + currentMethodName); }}三、总结本文介绍了如何在Java中轻松获取当前执行方法名。...通过获取当前线程堆栈跟踪信息,或者使用反射机制,都可以实现这个功能。希望本文能对您有所帮助,让您在编程道路上更加游刃有余! 市场有风险,交易需谨慎。

8010

Yii2使用$this->context获取当前ModuleControllerAction

使用Yii2时候,在某些场景和环境下需要获得Yii2目前所处于module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过一些公共方法等.对于这些问题...使用Yii2时候,在某些场景和环境下需要获得Yii2目前所处于module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过一些公共方法等.对于这些问题...php //得到Yii2的当前控制器Controller echo $this->context->id; //输出结果:site //得到Yii2的当前控制器Action echo $this->...context->action->id; //输出结果:login //得到Yii2的当前控制器Modules echo $this->context->module->id; //输出结果:basic...(默认简单Basic) //得到Yii2的当前控制器里面的方法 echo $this->context->actionHello(); //输出结果:Hello World!!!

82651

获取最近第二次活动(over窗口函数)

startDate | Date | | endDate | Date | +---------------+---------+ 该表不包含主键 该表包含每个用户在一段时间内进行活动信息...名为 username 用户在 startDate 到 endDate 日内有一次活动 写一条SQL查询展示每一位用户 最近第二次 活动(倒数第二次) 如果用户仅有一次活动,返回该活动 一个用户不能同时进行超过一项活动...| 2020-02-11 | 2020-02-18 | +------------+--------------+-------------+-------------+ Alice 最近第二次活动是从...解题 先选出只有一次活动的人记录 select * from UserActivity group by username having count(*)=1 {"headers": ["username...", "activity", "startDate", "endDate"], "values": [["Bob", "Travel", "2020-02-11", "2020-02-18"]]} 窗口函数选出每个人倒数第二次活动

60620

vue如何获取Elementui Tree 树形控件当前选中节点

vue-element-admin一个基于 vue2.0 和 Eelement 控制面板 UI 框架,这是使用vue技术栈开发前端程序员首选管理系统模板,模板以及非常成熟了,并且有相关社区和维护人员...vue-element-admin/#/dashboard 官方文档:https://panjiachen.github.io/vue-element-admin-site/zh/ 今天就来说一下,vue如何获取...Elementui Tree 树形控件当前选中节点。...步骤: 这里我用到了json本地数据,因为掉接口数据,不太方便写demo,后面统一都用到mock,json数据了,如果需要用到项目里面,后面直接修改一下 将 //获取树权限节点接口定义...1:在views底下新建一个test文件夹 里面新建一个vue文件和一个json文件 2:使用 mock.json { "msg": "success", "code": 1,

2.7K30

【记录】使用python图形库打开新窗口时候关闭之前窗口,运行结束后关闭当前窗口和程序

简单讲解 代码片段展示了如何使用 Python Tkinter 库和 subprocess 模块来实现在 tkinter 窗口中打开另一个 Python 脚本过程,并在脚本运行结束后关闭当前窗口和程序...在你代码中,你使用了 Tkinter 创建了一个名为 window 窗口,并在 open_buy_quantity 函数中调用了 window.destroy() 方法来关闭当前窗口。...这是一个简单 GUI 应用示例,展示了如何创建窗口和关闭窗口。 subprocess 模块: subprocess 模块允许你在 Python 程序中启动新进程。...在你代码中,你使用了 sys.exit() 来确保在执行完购买数量脚本后退出当前程序。这样可以确保在购买数量脚本执行完成后结束程序运行。...结语 总体来说,代码展示了如何结合使用 Tkinter 和 subprocess 来实现 GUI 程序中打开外部脚本功能,并在完成任务后退出程序。

10710

dotnet C# 如何正确获取藏文字数

但是多个字符在内存中,本身就是多个字符对象,以往统计某个字符串字数,咱简单判断只是拿字符串字符数量进行获取。...用 string.Length 获取 དིོེུ 这个字也是符合预期 5 个字符,当然这也是不符合预期字数 这是关于语言文化方面的内容,自己写一定是不靠谱。...好在 .NET 里面提供权威获取方法,通过 StringInfo 类辅助,可以获取可视效果下字符串字数 var info = new StringInfo("དིོེུ"); var realLength...= info.LengthInTextElements; // realLength = 1 通过此即可获取正确字符长度 额外,如果想要枚举一个藏文句子每个藏文字。...那肯定不能使用字符遍历方式,否则输出就和汉字遍历输出为偏旁一样了。

72610
领券