当前位置:编程学习 > C#/ASP.NET >>

C# 获取当前窗口的句柄

我写一个小程序,其中有一个功能是获取当前窗口(也就是最前面的窗口)的句柄????????(不是本程序的窗口)

  不是获取控件绑定到的窗口句柄!!!!

怎么实现  大家  帮帮忙啊!!! --------------------编程问答-------------------- 好像这样的处理只能是使用 api吧。
--------------------编程问答-------------------- 在C#中  调用 API   ,我不怎么会 啊!!!
能不能说具体点. --------------------编程问答-------------------- API
GetForgeWindow() --------------------编程问答-------------------- [DllImport("user32.dll")]
public static extern IntPtr GetActiveWindow ();

IntPtr hwnd = GetActiveWindow();
好像GetForegroundWindow()也可以
--------------------编程问答-------------------- up --------------------编程问答--------------------
Form1.cs        
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using Microsoft.Win32;

namespace xqwg
{
     public partial class Form1 : Form
     {
         public Form1()
         {
             InitializeComponent();
         }
         [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "FindWindow")]
         public static extern int FindWindow(
                   string lpClassName,
                   string lpWindowName
                  );

         private void button1_Click(object sender, EventArgs e)
         {

             int k = FindWindow(null,"计算器");
             MessageBox.Show(k.ToString());
      /*        Process p = new Process();
             p.StartInfo = new ProcessStartInfo("IExplore.exe", "c:");
             p.StartInfo.CreateNoWindow = false;
             p.Start();
             System.IntPtr hand = p.MainWindowHandle;*/
         }
     }
}
--------------------编程问答-------------------- FindWindow(string 类型, string 名称) --------------------编程问答-------------------- 无语 怎么都是这个啊  晕死  我要知道每个窗口的 名字我还找这个干嘛啊  郁闷 --------------------编程问答--------------------
引用楼主 bswdylwsw 的回复:
我写一个小程序,其中有一个功能是获取当前窗口(也就是最前面的窗口)的句柄(不是本程序的窗口)
不是获取控件绑定到的窗口句柄!!!!


到底是哪个窗口的?当前的活动窗口? --------------------编程问答-------------------- using System.Runtime.InteropServices;


获取当前窗口句柄:GetForegroundWindow()

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();


返回值类型是IntPtr,即为当前获得焦点窗口的句柄

使用方法 :   IntPtr myPtr=GetForegroundWindow();

补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,