PDA

View Full Version : تشخیص مرورگر بودن یک پنجره



professional_1001
شنبه 07 تیر 1393, 13:28 عصر
سلام
1- من به قطعه کدی احتیاج دارم که تشخیص بده پنجره فعال ، مرورگر اینترنتی هست یا نه؟
2- و یک قطعه کد که اگه پنجره مرورگر اینترنتی بود ، url اونو برگردونه؟

aliagamon
شنبه 07 تیر 1393, 15:09 عصر
اولی که با استفاده از این درست میشه :

[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;
StringBuilder Buff = new StringBuilder(nChars);
IntPtr handle = GetForegroundWindow();


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

شما عنوان پنجره رو بگیر ببین مرورگره یا نه ...
برای گرفتن url هم میتونی از این استفاده کنی ...
http://barnamenevis.org/showthread.php?453763-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A7%D9%88%D8%B1%D8%AF%D9%86-%D8%A7%D8%AF%D8%B1%D8%B3-%D8%B3%D8%A7%DB%8C%D8%AA&p=2030215&viewfull=1#post2030215
ولی در کل یه کامپوننت هست که یکی از بچه ها (فکر کنم سازنده ی همون تاپیک که لینک دادم) یه کامپوننت پیدا کرده بود که خیلی راحت براتون این کارو میکرد اگه مشکلی با کدنویسیش دارین بگردین اون کامپوننت رو پیدا کنید ...:لبخند:

professional_1001
یک شنبه 08 تیر 1393, 09:11 صبح
امکانش نیست فقط با یه متد ، از روی handle و اسم برنامه ، متوجه بشه و اگه مرورگره true برگردونه؟

NewUser_91
دوشنبه 18 خرداد 1394, 09:44 صبح
سلام.
من توی برنامه ام با کد زیر کپشن یه فرم رو میگیرم:

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


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


return null;
}

وقتی کپشن فرم فارسی باشه بجای هر کاراکتر علامت سوال برمیگردونه.
کسی میدونه باید چیکار کنم؟