View Full Version : مبتدی: آیا برنامه Notepad روی تمام پنجره ها است؟
daniyaltjm
دوشنبه 01 اردیبهشت 1393, 17:16 عصر
سلام , کد برنامه ای رو میوام که با استفاده از توابع API و یک تایمر چک کنه که در این لحظه آیا برنامه Notepad روی تمام پنجره ها است اگر بود در یک لیبل بنویسد هست و اگه نبود بنویسد نیست؟
رامین مرادی
دوشنبه 01 اردیبهشت 1393, 19:03 عصر
منظورتون چیه دقیقا . ؟؟؟؟:متفکر:
یعنی الان پنجره اکتیو نوت پد هست یا نه؟؟؟؟:متفکر:
daniyaltjm
دوشنبه 01 اردیبهشت 1393, 21:28 عصر
منظورتون چیه دقیقا . ؟؟؟؟:متفکر:
یعنی الان پنجره اکتیو نوت پد هست یا نه؟؟؟؟:متفکر:
بله دقیقا یعنی با تایمر هر 100 میلی ثانیه چک کنه که اگه پنجره فعال بود توی لیبل فرممون بنویسه فعاله و اگه نبود بنویسه فعال نیست , فکر کنم باید هندل پنجره رو بگیریم و با پنجره فعال چک کنیم اگه راهنمایی کنید ممنون میشم.
daniyaltjm
سه شنبه 02 اردیبهشت 1393, 12:08 عصر
کسی نیست کمک کنه؟!
daniyaltjm
سه شنبه 02 اردیبهشت 1393, 13:14 عصر
دوستان خودم برنامو نوشتم فقط نمیدونم چرا با تابع GetForegroundWindow جواب میده ولی با تابع GetActiveWindow جواب نمیده !!! کسی نمیدونه چرا؟
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 ="نوت پد روی تمام پنجره ها نیست";
}
}
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.