110,536
社区成员
发帖
与我相关
我的任务
分享
[DllImport("user32.dll")]
private static extern int FindWindow(string lpClassName,string lpWindowName);
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(FindWindow("#32770", "Windows 任务管理器").ToString());
}
public static bool WindowsProc(IntPtr hWnd, IntPtr lParam)
{
StringBuilder vClassName = new StringBuilder(256);
StringBuilder vWindowText = new StringBuilder(256);
GetClassName(hWnd, vClassName, vClassName.Capacity);
GetWindowText(hWnd, vWindowText, vWindowText.Capacity);
//---------------------------楼主,关键的判断是在这里
//---------------------------判断标题、判断类名 唉~~~~
if (vWindowText.ToString().ToLower() == "无标题 - 记事本") // 判断标题名
{
Console.WriteLine("句柄:{0},类名:{1},标题:{2}",
hWnd, vClassName, vWindowText);
}
return true;
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
[DllImport("user32.dll")]
public static extern int EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);
[DllImport("user32.dll")]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString,
int nMaxCount);
[DllImport("user32.dll")]
public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName,
int nMaxCount);
public static bool WindowsProc(IntPtr hWnd, IntPtr lParam)
{
StringBuilder vClassName = new StringBuilder(256);
StringBuilder vWindowText = new StringBuilder(256);
GetClassName(hWnd, vClassName, vClassName.Capacity);
GetWindowText(hWnd, vWindowText, vWindowText.Capacity);
if (vWindowText.ToString().ToLower() == "testtesttesttest") // 判断标题名
{
Console.WriteLine("句柄:{0},类名:{1},标题:{2}",
hWnd, vClassName, vWindowText);
}
return true;
}
private void button1_Click(object sender, EventArgs e)
{
EnumWindows(WindowsProc, IntPtr.Zero);
}
}
}
using System.Runtime.InteropServices;
public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
[DllImport("user32.dll")]
public static extern int EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);
[DllImport("user32.dll")]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString,
int nMaxCount);
[DllImport("user32.dll")]
public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName,
int nMaxCount);
public static bool WindowsProc(IntPtr hWnd, IntPtr lParam)
{
StringBuilder vClassName = new StringBuilder(256);
StringBuilder vWindowText = new StringBuilder(256);
GetClassName(hWnd, vClassName, vClassName.Capacity);
GetWindowText(hWnd, vWindowText, vWindowText.Capacity);
if (vWindowText.ToString().ToLower() == "testtesttesttest") // 判断标题名
{
Console.WriteLine("句柄:{0},类名:{1},标题:{2}",
hWnd, vClassName, vWindowText);
}
return true;
}
private void button3_Click(object sender, EventArgs e)
{
EnumWindows(WindowsProc, IntPtr.Zero);
}