PDA

View Full Version : چطور یکی از instance های iexplore.exe را ببندیم؟



farid_nasiri
شنبه 07 شهریور 1388, 10:32 صبح
این سوال رو هفته پیش در انجمن vb.net مطرح کردم هیچکس جواب نداد. لطفا نا امیدم نکنید
http://barnamenevis.org/forum/showthread.php?p=790495&posted=1#post790495

ahmad_roushan
شنبه 07 شهریور 1388, 14:28 عصر
من یه پیشنهاد دارم یه کم روش فکر کن
اگه اون instance از IE رو که میخوای باز بمونه title خاصی داره مثلا

Google - Windows Internet Explorer
و بقیه instance ها این title خاص رو ندارن میتونی از این روش استفاده کنی
در بازه های زمانی خاص لیست تمام ویندوهای سیستم رو با توابع API پیدا کنی بعد اونایی که IE هستند به جز اون یکی که میخوای باز باشه رو ببند
البته از ClassName استفاده نکن چونکه همه اونما نام کلاسشون مشابه هست .

اگه فکر کردید میتونه مفید باشه بگید تا بیشتر روش بحث کنیم .

farid_nasiri
دوشنبه 09 شهریور 1388, 12:07 عصر
ممنون ایده خوبی بود و تا حدی کمک کرد

قطه کد زیر لیست پنجره های باز رو نشون میده
http://pinvoke.net/default.aspx/user32.EnumDesktopWindows

قطعه کد زیر هم نحوه بسته تک به تک پنجره های یک پروسس مثلا ie
http://www.pinvoke.net/default.aspx/user32/EnumThreadWindows.html

مشکل اینجاست که باید همه ie هارو (چه newpage و چه مستقل اجرا شده) رو ببندم به جز اولین ie اجرا شده. یعنی باید تایم اجرا شدن هر پنجره رو داشته باشم . ایده ای دارید؟