نمایش نتایج 1 تا 4 از 4

نام تاپیک: به دست آوردن پنجره ی فعال ویندوز

  1. #1
    کاربر دائمی آواتار sirvan-me
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    استان البرز
    پست
    251

    به دست آوردن پنجره ی فعال ویندوز

    سلام به همه ی دوستان . می خواستم بدونم چطور و با چه توابع API می تونم عنوان پنجره ی فعال ویندوز رو به دست بیارم ... یعنی به محض اینکه به طور مثال برنامه ی Notepad اجرا شد عنوان پنجره ی این برنامه نمایش داده بشه ...

  2. #2
    مدیر بخش آواتار مهرداد صفا
    تاریخ عضویت
    تیر 1391
    محل زندگی
    select Country,City From World where Country.Name=IRAN and City.Contains(حضرت معصومه(ع))
    پست
    1,499

    نقل قول: به دست آوردن پنجره ی فعال ویندوز

    سلام
    از توابع GetActiveWindow و GetWindowText در user32 استفاده کنید. تابع اول handle مربوط به پنجره فعال را بر میگرداند و تابع دوم با گرفتن handle و یک رشته و یک عدد به عنوان طول رشته عنوان پنجره را در رشته ارسالی بر میگرداند. به این صورت:

    //in the name of god
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    namespace WindowsFormsApplication2
    {
    class User32
    {
    [System.Runtime.InteropServices.DllImport("user32.D LL", EntryPoint = "GetActiveWindow", SetLastError = true, CharSet = CharSet.Unicode, ThrowOnUnmappableChar = true)]
    public static extern Int32 GetActiveWindow();
    [System.Runtime.InteropServices.DllImport("user32.D LL", EntryPoint = "GetWindowText", SetLastError = true, CharSet = CharSet.Unicode, ThrowOnUnmappableChar = true)]
    public static extern Int32 GetWindowText(Int32 hwnd, string lpString, Int32 cch);

    public static String GetActiveWindowText()
    {
    string ActiveWindowText = "";
    GetWindowText(GetActiveWindow(), ActiveWindowText, 200);
    return ActiveWindowText;
    }
    }
    }

    موفق باشید.

  3. #3
    کاربر دائمی آواتار sirvan-me
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    استان البرز
    پست
    251

    نقل قول: به دست آوردن پنجره ی فعال ویندوز

    دوست من این کدی که شما قرار دادین فقط زمانی که پنجره ی برنامه ی خودمون فعال باشه عنوان پنجرهی فرممون رو نشون میده ... تو بقیه موارد و برنامه های دیگه ( یعنی زمانی که کنترل از برناممون گرفته میشه ) رشته ی خالی برمی گردونه ... میشه راهنمایی کنید !!!!!!

  4. #4
    کاربر دائمی آواتار sirvan-me
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    استان البرز
    پست
    251

    نقل قول: به دست آوردن پنجره ی فعال ویندوز

    ممنون از راهنماییت در رابطه با کد اول خودم به جواب رسیدم .... این طور بنویسیم درست میشه ...

    [DllImport("user32.dll")]
    static extern IntPtr GetForegroundWindow();

    [DllImport("user32.dll")]
    static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);

    private string GetActiveWindowTitle()
    {
    const int nChars = 256;
    IntPtr handle = IntPtr.Zero;
    StringBuilder Buff = new StringBuilder(nChars);
    handle = GetForegroundWindow();

    if (GetWindowText(handle, Buff, nChars) > 0)
    {
    return Buff.ToString();
    }
    return null;
    }

تاپیک های مشابه

  1. حرفه ای: بدست آوردن زبان نوشتار(input language) پنجره فعال ویندوز
    نوشته شده توسط arash020 در بخش VB.NET
    پاسخ: 3
    آخرین پست: جمعه 30 تیر 1391, 00:31 صبح
  2. سوال: به دست آوردن نوع یا اسم ویندوز
    نوشته شده توسط AbbasVB در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: سه شنبه 16 اسفند 1390, 19:01 عصر
  3. پاسخ: 0
    آخرین پست: یک شنبه 29 اسفند 1389, 13:27 عصر
  4. سوال: چگونگی به دست آوردن نام User فعال
    نوشته شده توسط AlgorithmX در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: سه شنبه 27 مهر 1389, 13:11 عصر
  5. بدست آوردن پنجره فعال ویندوز
    نوشته شده توسط ابوذر محمودی در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: چهارشنبه 26 تیر 1387, 04:35 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •