سلام من برنامه زیر رو نوشتم که مشخص میکنه در هر لحظه آیا پنجره نوت پد روی تمام پنجره ها قرار داره یا نه؟ ولی بر اساس کتاب : برنامه نویسی با API ویندوز صفحه 56 هر دو تابع در تعریف یکی هستن ولی برای این برنامه که من نوشتم فقط تابع GetForegroundWindow جواب میده کسی دلیلشو میدونه؟
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class FormMain : Form
{
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string LpClassName, string LpWindowName);
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
public FormMain()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
IntPtr find = FindWindow("Notepad", null);
IntPtr act = GetForegroundWindow();
if(find == act )
{
label1.Text = "نوت پد روی تمام پنجره ها است";
}
else
{
label1.Text ="نوت پد روی تمام پنجره ها نیست";
}
}
}
}