PDA

View Full Version : سوال: جلوگیری از بازشدن پنجره جدید



aleas2
سه شنبه 23 شهریور 1389, 18:42 عصر
سلام خسته نباشید ایا در vb6 میشه کاری کرد که وقتی برنامه لود شد دگه کاربر نتونه پنجره جدیدی باز کنه یعنی دگه بطور مثال نتونه اینترنت اکسپلولر . My Computer . Control Panel و ... یعنی درکل دگه هیچ پنجره ای یا برنامه ای نتونه باز کنه مگر اینکه برنامه رو ببنده؟

محسن شامحمدی
سه شنبه 23 شهریور 1389, 19:06 عصر
این کار بسیار سادس دوست عزیز
فقط کافیه عنوان اون پنجره رو به تابع FindWindow بدید و در عوض اون هم هندلشو به شما می ده و حالا فقط نیازه با استفاده از تابع ShowWindow یا SetForegroundWindow این پنجره رو غیب کنید یا ببندید.سورس هم که اگر بخوای تو اینترنت پره.
http://www.pc1365.blogfa.com/post-11.aspx

parselearn
سه شنبه 23 شهریور 1389, 19:11 عصر
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=61991&lngWId=1

aleas2
سه شنبه 23 شهریور 1389, 19:55 عصر
دوست عزیز 09111111111 (http://www.barnamenevis.org/forum/member.php?u=59254) روشی شما گفتین خوب بود ولی وقتی لازم میشه که بخواهی تعداد محدودی از پنجره هارو که نامشون میدونی نزاری کاربر بازشون کنه پیشنهاد میکنم برنامه ای که parselearn (http://www.barnamenevis.org/forum/member.php?u=48732) گذاشته دانلود کن مطمنم روزی بدرد میخوره این برنامه ای که گذاشته اجاز باز شدن هیچ برنامه ای رو نمیده ولازم نیست نام پنجره رو بدونین بر حال برنامه هردوتاتون خوب بود وخیلی به برنامم کمک میکنه ممنون

aleas2
چهارشنبه 24 شهریور 1389, 08:20 صبح
دوستان دگه راهی نیسته که وقتی برنامه لود شد دگه کاربر نتونه هیچ پنجری ای باز کنه؟سورسی که parselearn (http://www.barnamenevis.org/forum/member.php?u=48732) برای دانلود گذاشت اینکارو انجام میده ولی کدنویسیش خیلی زیاده و روشی که 09111111111 (http://www.barnamenevis.org/forum/member.php?u=59254) گفته خوبه ولی یه مشکل داره باید خودم بهش معرفی کنم کاربر چه پنجره هایی نتونه باز کنه مشکل اینجاس من نمیدونم چه پنجره ای کاربر میخواد باز کنه من میخواد کلا هیچ پنجراهی نتونه باز کنه؟

HjSoft
چهارشنبه 24 شهریور 1389, 08:40 صبح
من دقیقا نمیدونم که میخواید چه کار کنید ، اما FindWindowEX رو میشناسم . شما کافیه یک دستور Not بزاری . بدین صورت :

if str <> "MyProgramTitle" then

aleas2
چهارشنبه 24 شهریور 1389, 09:53 صبح
من دقیقا نمیدونم که میخواید چه کار کنید ، اما FindWindowEX رو میشناسم . شما کافیه یک دستور Not بزاری . بدین صورت :

if str <> "MyProgramTitle" then

دوست عزیز از این بهتر بگم چکار میخوام بکنم؟من میخوام وقتی برنامه لود شد یعنی برنامه ای که ساختم اجراش کردم دگه کاربر نتونه هیچ پنجره ای باز کنه منظور از پنجره مثلا منو start , My Computer یه هر برنامه ای که نصب کرده نتونه اجرا کنه تازمانی که از برنامه خارج بشه ؟یعنی فقط بتونه روی اون برنامه ای که ساختم کار کنه

Felony
چهارشنبه 24 شهریور 1389, 11:01 صبح
دوست عزیز از این بهتر بگم چکار میخوام بکنم؟من میخوام وقتی برنامه لود شد یعنی برنامه ای که ساختم اجراش کردم دگه کاربر نتونه هیچ پنجره ای باز کنه منظور از پنجره مثلا منو start , My Computer یه هر برنامه ای که نصب کرده نتونه اجرا کنه تازمانی که از برنامه خارج بشه ؟یعنی فقط بتونه روی اون برنامه ای که ساختم کار کنه

تو یک حلقه هندل تمام پنجره های باز رو بگیرید و هر کدوم که = هندل برنامه شما نبود رو با ارسال پیغام WM_Close ببندید ، اینطوری در پایان کار حلقه فقط برنامه شما باز میمونه .

aleas2
چهارشنبه 24 شهریور 1389, 12:16 عصر
تو یک حلقه هندل تمام پنجره های باز رو بگیرید و هر کدوم که = هندل برنامه شما نبود رو با ارسال پیغام WM_Close ببندید ، اینطوری در پایان کار حلقه فقط برنامه شما باز میمونه .
من هندل بلد نیستم میشه کمی بیشتر توضیح بدین چون عنوان صفحه ای بازه بفهمم چی؟