امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
نویسنده پیام
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #1
تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
اگه برنامه ای ساختیم که بدون اینکه کاربر ببینتش دائما در سیستم درحال کار کردن باشه، وقتی کاربر سیستم رو ریست یا لاگ آف یا شات داون میکنه، برنامه ی ما چطور این حالت ها رو تشخیص بده؟
مثلا برناممون تشخیص بده که سیستم داره خاموش میشه، و یه کارایی قبل از خاموش شدن سیستم انجام بده
۲۳-آذر-۱۳۹۰, ۰۱:۲۹:۰۲
ارسال‌ها
پاسخ
HamedFaa آفلاین
كاربر دو ستاره
**

ارسال‌ها: 117
موضوع‌ها: 16
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 15
( 61 تشکر در 47 ارسال )
ارسال: #2
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
حالا من کاری به تشخیص دادنش ندارم ولی در روند خارج شدن از سیستم عامل تمام برنامه ها بسته میشوند.... پس جای خوبی برای انجام کارهاتون پیدا نکردید. چون ممکنه اولین برنامه ای که بسته شد برنامه شما باشه.

در ضمن فکر نمیکنم api یی یا کدی برای این تشخیص وجود داشته باشه. باید خودتون از روی عوامل ویندوز این رو بدست بیارید. مثلا لیست پروسه های باز رو بگیرید، و وضعیت یک پروسه رو چک کنید (یک پروسه که همیشه باز هست) اگر اون بسته شد یعنی سیستم درحال خاموش شدن هست البته بعید میدونم که برنامه شما بعد از اون بسته بشه!
۲۳-آذر-۱۳۹۰, ۰۸:۵۲:۴۹
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #3
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
شما کلا 3 تا راه داری:

1- داخل برنامه توابع API رو هوک کن ببین کی خروج از ویندوز می خواد انجام بشه

2- می تونی تو قسمت Unload form هر کاری که موقع بسته شدن لازم داری رو بنویسی

3- اصلا بگو می خوای دقیقا چه کاری انجام بدی تا شاید راه بهتری بهت پیشنهاد کنیم.

۲۳-آذر-۱۳۹۰, ۱۱:۴۳:۱۶
وب سایت ارسال‌ها
پاسخ
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #4
RE: تشخیص خاموش شدن/ریست شدن/لاگ اف شدن ویندوز در وی بی6
اتفاقا برعکس
این برنامه ی منه که اجازه نمیده سیستم خاموش/لاگ آف/ریست بشه
***
ببینید
من برنامه ای نوشتم که دائم در سیستم کاربر در system tray فعاله،

حالا،
وقتی کاربر میخواد سیستمش رو خاموش/لاگ آف/ریست بکنه، سیستم، خاموش/لاگ اف/ریست نمیشه؛ چون برنامه ی من درحال اجراست و فعاله.
درواقع برنامه ی درحال فعالیت من اجازه ی خاموش/لاگ آف/ریست شدن رو به کاربر نمبده و براش مزاحمت ایجاد میکنه
حالا من میخوام از این حالت جلوگیری کنم و برای کاربر مزاحمت ایجاد نکنم
و وقتی کاربر خواست سیستم رو خاموش/لاگ آف/ریست بکنه
برنامه ی من تشخیص بده و خارج بشه و اجازه بده که سیستم خاموش/لاگ آف/ریست بشه

لطفا سورس بگید.
(آخرین ویرایش در این ارسال: ۲۳-آذر-۱۳۹۰, ۱۶:۲۵:۰۳، توسط RAMA2009.)
۲۳-آذر-۱۳۹۰, ۱۶:۱۷:۵۳
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #5
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
سلام.
نیازی به تشخیص و اجازه دادن نیست. برنامه خودش بسته میشه.
مگر این که شما تو Unload جلوش رو گرفته باشی. یا اگه برنامت تو loop هم باشه شاید همین مشکل پیش بیاد.
۲۳-آذر-۱۳۹۰, ۲۰:۵۷:۳۹
ارسال‌ها
پاسخ
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #6
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
مشکل من همین جاست دیگه
نمیدونم چرا برنامم اجازه نمیده که ویندوز خاموش/لاگ اف/ریست بشه
این نکته رو هم بگم
برنامم با پایگاه داده کارمیکنه و زمان اتصال به اینترنت رو هم چک میکنه
۲۳-آذر-۱۳۹۰, ۲۳:۱۵:۳۳
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #7
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
خب وقتی ویندوز میخواهد خاموش بشه یه پیغام WM_QUERYENDSESSION به همه برنامه های در حال اجرا ارسال میکنه و بعد از تایید همه برنامه ها برای خاموش شدن یک پیغام WM_ENDSESSION به همه برنامه ها ارسال میشه شما با مانیتور کردن این پیغامها درون برنامتون میتونین این رفتار رو تشخیص بدین

این یه نمونه کد البته به دلفی هست احتمالا کمکتون میکنه

کد:
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure WMQueryEndSession
           (var Msg : TWMQueryEndSession) ;
           message WM_QueryEndSession;
~~~~~~~~~~~~~~~~~~~~~~~~~

procedure TForm1.WMQueryEndSession
      (var Msg : TWMQueryEndSession) ;
begin
if MessageDlg('Close Windows ?',
               mtConfirmation,
               [mbYes,mbNo], 0) = mrNo then
   Msg.Result := 0
else
   Msg.Result := 1 ;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~

Procedure WMEndSession
           (var Msg : TWMEndSession) ;
           message WM_ENDSESSION;
~~~~~~~~~~~~~~~~~~~~~~~~~

procedure TForm1.WMEndSession
           (var Msg : TWMEndSession) ;
begin
if Msg.EndSession = TRUE then
   ShowMessage('Windows is shutting down ' + #10#13
               + 'at ' + FormatDateTime('c', Now)) ;
   inherited;
end;

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۲۴-آذر-۱۳۹۰, ۱۱:۰۶:۲۰
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #8
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
سلام.
نمونه کد به ویبی رو قبلا قرار داده بودم.

اما نیازی نیست که شما خاموش شدن رو کنترل کنید. برنامه باید خودش بسته شه. باید ببینی اشکال کارت کجاست که بسته نمیشه.
۲۵-آذر-۱۳۹۰, ۰۲:۴۳:۵۳
ارسال‌ها
پاسخ
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #9
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
آخه نمیدونم مشکلش کجاست
پیدا نمیکنمش

مجبورم کد پیدا کنم که کنترل بکنه

الان موندم معطل
ای خدا ششی کنم حالا؟!
۲۶-آذر-۱۳۹۰, ۰۲:۴۶:۲۱
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #10
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
نقل قول: الان موندم معطل
ای خدا ششی کنم حالا؟!
من نماینده خدا نیستم ولی احتمالا اگه سورس برنامه ات رو بزاری اینجا مشکلت برطرف شه!Wink

۲۶-آذر-۱۳۹۰, ۱۰:۴۲:۵۱
وب سایت ارسال‌ها
پاسخ
RAMA2009 آفلاین
Banned

ارسال‌ها: 131
موضوع‌ها: 38
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 43
( 59 تشکر در 51 ارسال )
ارسال: #11
RE: تشخیص خاموش شدن/رست شدن/لاگ اف شدن ویندوز در وی بی6
باشه ولی میشه بگی چطور میتونم به طور خصوصی ارسال کنم؟
۲۶-آذر-۱۳۹۰, ۱۹:۴۹:۴۹
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  اجرا نشدن keybd_event vbKeyMenu در ویندوز 8.1 javad917 3 2,627 ۱۳-آذر-۱۳۹۶, ۲۱:۲۰:۲۸
آخرین ارسال: javad917
Sad [سوال] مشکل پروژە vb6 با ویندوز ١٠ engzhina 4 4,499 ۰۲-مهر-۱۳۹۵, ۱۲:۱۴:۴۳
آخرین ارسال: engzhina
  [سوال] استفاده از بالون ویندوز در ویژوال بیسیک mr91090 1 2,643 ۲۹-آبان-۱۳۹۴, ۲۲:۵۰:۳۹
آخرین ارسال: Payman62
  [سوال] فانکشن برای تشخیص زبان عبارت متنی eppagh 0 1,726 ۱۳-شهریور-۱۳۹۳, ۱۰:۲۵:۲۵
آخرین ارسال: eppagh
  رجیستر ocx ویندوز سون 32 بیتی aleas 8 6,078 ۰۲-تير-۱۳۹۳, ۰۱:۳۷:۴۱
آخرین ارسال: !_!_batman_!_!
  تنظیم صدای ویندوز mahdi321 3 3,282 ۰۷-فروردین-۱۳۹۳, ۰۹:۱۰:۳۳
آخرین ارسال: Di Di
  سوال در رابطه با دور زدن کد تشخیص وب بروزر sevdaboy 5 4,378 ۱۶-تير-۱۳۹۲, ۱۹:۴۸:۱۶
آخرین ارسال: sevdaboy
  تشخیص اولین کاراکتر در هر خط RAMA2009 9 7,577 ۱۹-دى-۱۳۹۱, ۰۳:۰۴:۵۰
آخرین ارسال: mahmoodgh
  نحوه اطلاع از اجرای یک برنامه در ویندوز ترانسپورتر 18 12,176 ۲۲-آبان-۱۳۹۱, ۱۰:۰۲:۳۸
آخرین ارسال: lord_viper
  سورس کد غیر فعال کردن تسک منیجر ویندوز 7 با ویژوال بیسیک 6 RAMA2009 3 5,544 ۱۶-شهریور-۱۳۹۱, ۱۹:۰۳:۴۰
آخرین ارسال: akbar"22"

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS