使用timer重复获取当前窗口类名到一个label

linamong 2008-11-21 02:19:40


意思就是程序可以在一个label显示置顶(就是激活状态下)程序窗口的类名.

窗口可以是自身可以是其他外部程序窗口

期待能给详细代码 不要丢下API就走了.感谢之...
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
linamong 2008-11-22
  • 打赏
  • 举报
回复
- -#复制错了

[DllImport("User32.dll")]
private static extern IntPtr GetActiveWindow();//获取当前窗口句柄
改成
[DllImport("user32.dll", EntryPoint = "GetForegroundWindow")]
public static extern int GetForegroundWindow();
acoucla 2008-11-22
  • 打赏
  • 举报
回复
问题 我自己花了不少时间 东看看西看看弄出来了.
为了防止跟我一样在学习的小鸟遇到同样问题而浪费时间到处搜索,找到此贴还没答案.

引用using System.Runtime.InteropServices;

声明
[DllImport("User32.dll")]
private static extern IntPtr GetActiveWindow();//获取当前窗口句柄

[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);//通过句柄获取类名

        private void timer1_Tick(object sender, EventArgs e)
{
int hwnd= GetForegroundWindow();
IntPtr a = new IntPtr(hwnd);
StringBuilder sb = new StringBuilder(256);
GetClassName(a, sb, 256);
label1.Text = sb.ToString();
}
linamong 2008-11-22
  • 打赏
  • 举报
回复
up一下 拜托谁帮忙解答一下啊
卡在一个地方很郁闷的啊
linamong 2008-11-21
  • 打赏
  • 举报
回复
- -#没人么...
linamong 2008-11-21
  • 打赏
  • 举报
回复
补充个小问题
        private void timer1_Tick(object sender, EventArgs e)
{
SendKeys.Send(Keys.Enter.ToString());//

}

我打开一个记事本,没见到回车换行啊?

111,119

社区成员

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

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

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