C# 获取当前窗口的句柄
我写一个小程序,其中有一个功能是获取当前窗口(也就是最前面的窗口)的句柄????????(不是本程序的窗口)不是获取控件绑定到的窗口句柄!!!!
怎么实现 大家 帮帮忙啊!!! --------------------编程问答-------------------- 好像这样的处理只能是使用 api吧。
--------------------编程问答-------------------- 在C#中 调用 API ,我不怎么会 啊!!!
能不能说具体点. --------------------编程问答-------------------- API
GetForgeWindow() --------------------编程问答-------------------- [DllImport("user32.dll")]
public static extern IntPtr GetActiveWindow ();
IntPtr hwnd = GetActiveWindow();
好像GetForegroundWindow()也可以
--------------------编程问答-------------------- up --------------------编程问答--------------------
Form1.cs--------------------编程问答-------------------- FindWindow(string 类型, string 名称) --------------------编程问答-------------------- 无语 怎么都是这个啊 晕死 我要知道每个窗口的 名字我还找这个干嘛啊 郁闷 --------------------编程问答--------------------
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;*/
}
}
}
到底是哪个窗口的?当前的活动窗口? --------------------编程问答-------------------- using System.Runtime.InteropServices;
获取当前窗口句柄:GetForegroundWindow()
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();
返回值类型是IntPtr,即为当前获得焦点窗口的句柄
使用方法 : IntPtr myPtr=GetForegroundWindow();
补充:.NET技术 , C#