PDA

View Full Version : سوال: قفل کردن برنامه



mehdi_vatan
سه شنبه 23 تیر 1388, 07:29 صبح
من می خواهم اگر کاربر برای مدت زمانی با برنامه فعل وانفعالی نداشت برنا مه ام را قفل کنم
و در بازگشت دوباره به برنامه برای از حالت قفل در آوردن برنامه از کاربر username و password بخواهد.
و اگر بخواهم این کار را برای قفل کردن و از قفل در آوردن کل سیستم (با username و password) انجام بدهم چه کار باید بکنم.

لطفا من را راهنمایی کنید .ممنون!

Open-Source
سه شنبه 23 تیر 1388, 20:01 عصر
شما بهتره در یه بازه زمانی مختصات ماوس و ورودی صفحه کلید رو چک کنید.
اگه تغییری نداشتند حالا کار خودتون رو انجام بدید.

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

z_software
چهارشنبه 05 آبان 1389, 16:24 عصر
سلام ، اگه ممکنه راهنمایی کنید چطور اصلا یه صفحه را میشه قفل کرد مثلا زمانی که روی دکمه ای برای انجام عملیاتی کلیک میکنه صفحه قفل بشه و پس از تمام شدن عملیات صفحه دوباره فعال بشود .(بدون UserName و Password). ممنون

ali_autumnal
چهارشنبه 05 آبان 1389, 21:25 عصر
سلام ، اگه ممکنه راهنمایی کنید چطور اصلا یه صفحه را میشه قفل کرد مثلا زمانی که روی دکمه ای برای انجام عملیاتی کلیک میکنه صفحه قفل بشه و پس از تمام شدن عملیات صفحه دوباره فعال بشود .(بدون UserName و Password). ممنون

سوالتون رو واضح بیان کنید!!!!!!!!!1

flash118
چهارشنبه 05 آبان 1389, 21:28 عصر
دوست عزیز روش ها و راههای گوناگونی برای بستن و لاک کردن ورودی ماوس و صحفه کلید هست ولی از نظر من بهینه ترینش استفاده از توابع API هست خواستین براتون نمونه هم قرار میدم موفق باشین

ایمان مدائنی
چهارشنبه 05 آبان 1389, 21:33 عصر
دوست عزيز نيكي و پرسش ؟
نمونه رو بزار ما هم استفاده كنيم

flash118
چهارشنبه 05 آبان 1389, 21:48 عصر
با سلام چشم با ارادت تمام خدمت تمام دوستان اینم نمونه کد :

using System.Runtime.InteropServices;
[DllImport("USER32.dll")]
private static extern int BlockInput(int fBlockIt);
[DllImport("kernel32.dll")]
private static extern void Sleep(int dwMilliseconds);




خوب کد های بالا api های مورد نیاز بود حالا کافیه کد زیر رو تو یک باتن قرار بدید تا قفل شه :

BlockInput(1);
Sleep(1000);
BlockInput(0);
Application.Exit();


البته دوستان چون ورودی ها قفل میشه برای این که مجبور نشید به ریستارت من کد غیر فعال کردنش هم همونجا نوشتم تا با مشکل مواجه نشید موفق باشید

debugger
جمعه 07 آبان 1389, 15:52 عصر
ایشون یه چیز دیگه میگه . جواب های شما اصلا جواب مساله نیست

فرض کنید شما به ایمیل خود وارد شدید و براتون کاری پیش اومده و 15 دقیقه پشت سیستم نبودید . وقتی بر میگردید می بینید که یه پیغام اومده که باید دوباره وارد ایمیل خود بشید . و شما دوباره با وارد کردن ایمیل و پسورد خود وارد ایمیل خود میشوید

حالا این برادر هم میخواد همچین کاری را در برنامه اش انجام بده . نمی خواد که صفحه کلید یا ماوس و .... بلوک کنه

یعنی وقتی برنامه قفل شد . کاربر بتونه با دیگر برنامه ها کار کنه

به نظر من باید مختصات ماوس را چک کنید اگر دید مختصات ماوس مثلا 5 دقیقه هست ثابته . کادر ورود به برنامه را فراخوانی کنید

z_software
چهارشنبه 19 آبان 1389, 09:59 صبح
سلام
ممنون از جوابتون . من یه سیستم اتوماسیون اداری دارم می نویسم ، میخواهم مثلاً زمانی که دکمه ارسال نامه کلیک میشه تا زمانی که عملیات کامل نشده ، صفحه قفل بشه زمانی که ارسال انجام شد صفحه آزاد بشه .
خیلی ممنون .

ایمان مدائنی
چهارشنبه 19 آبان 1389, 10:13 صبح
شما ميتوني مختصات ماوس رو بدست بياري بعد با يك تايمر در زمان خاص چك كني كه آيا مختصات تغيير كرده يا نه
اگر تغيير كرده بود كه هيچ اگر تغيير نكرده بود عمليات مورد نظر انجام بشه
خود ويندوز براي اسكرين سرور از اين راه استفاده ميكنه (البته مطمئن نيستم )

z_software
پنج شنبه 20 آبان 1389, 14:43 عصر
سلام ممنون که جوابم رو دادید
اگه زحمتی نیست لطفاً بگید چطور صفحه را قفل کنم (مثلاً خاکستری بشه و یه کادری باز بشه که پیغام بده عملیات در حال انجام است) و بعدش هم من میخواهم زمانی که کلیک کرد این اتفاق بیافتد .نه زمانی که مدتی از سیستم استفاده نکرده .
با تشکر از جوابتون .