[c#]代码库
//Form1.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowScreenshot
{
public partial class Form1 : Form
{
Dictionary<int, string> Apps = null;
List<int> pl = new List<int>();
public Form1()
{
InitializeComponent();
}
[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
private void GetWindowScreenshotByName(PictureBox PB)
{
IntPtr handle = IntPtr.Zero;
try
{
PB.Image = null;
handle = new IntPtr(pl[comboBox1.SelectedIndex]);
//handle = FindWindow(null, winTitle);
PB.Image = PrtWnd.PrtWindow(handle);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear();
pl.Clear();
try
{
Apps = PrtWnd.FindAllApps(this.Handle.ToInt32());
foreach (string app in Apps.Values)
comboBox1.Items.Add(app);
pl.AddRange(Apps.Keys);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
GetWindowScreenshotByName(pictureBox1);
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
Apps = PrtWnd.FindAllApps(this.Handle.ToInt32());
foreach (string app in Apps.Values)
comboBox1.Items.Add(app);
pl.AddRange(Apps.Keys);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
[源代码打包下载]