PDA

View Full Version : گفتگو: @ تولید سرویس برای برنامه تا همیشه در بغل ویندوز بمونه!



armanikurd
جمعه 10 مهر 1388, 12:25 عصر
@
دورود

آیا تا حالا فکر کردید که می تونید برنامه تون حتی در زمان لاگ آف هم بسته نشه :چشمک:
یا اینکه کاربر نتونه به راحتی پروسس اونو خارج کنه مثل آنتی ویروس ها !
و حتی مسیر اجرا و فایلهاشو نشه دید و ...

آیا برنامه تون باید به راحتی کراش و داوون شه !؟


من کارامو برای این مهم شروع کردم، دوستان هم میتونن نظر بدن.

بدرود

alimanam
جمعه 10 مهر 1388, 21:09 عصر
با سلام

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

یا علی

armanikurd
جمعه 10 مهر 1388, 23:43 عصر
اهــــــــورا اینجاست...

برای شروع کار بهتره یه سری بزنیم به سرویس های خود ویندوز و سایر نرم افزارها تو بخش
Control Panel / Administrator Tools / Services


وضعیت های سرویس اینان:
1.درجریان و فعال Start
2.متوقف شده pause
3.توقف کامل و غیر فعال Stop


و حالت اجراشونم می تونه اتوماتیک و یا دستی باشه
در ضمن می تونیم در بخش مشخصات هر مورد اطلاعات کاملی رو مثل فایل اجرایی، سایر وابسته ها و کامپوننت های مربوطه، کاربر و دومین اجرایی و ...
.................................................. .................................................. .......................

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

anooshiran
شنبه 11 مهر 1388, 02:07 صبح
سلام دوستان عزيز

كد هاي زير را اگر در پروژه قرار بدبد از Logoff , Restart,ShutDown در هنگام اجراي برنامه جلو گيري مي كند.
من هميشه از همين كدها استفاده مي كنم. البته مي توان بسيار option هاي ديگر را هم كنترل كرد.






' پيامي كه ويندوز بعد از فشردن كليد شات دان يا ريستارت براي تمامي فرم هاي باز يا برنامه هاي رزيدنت مي فرستد
PrivateConst WM_QUERYENDSESSION As System.Int32 = &H11
'پيامي كه ويندوز پس از فشردن كليد لاگ آف براي تمامي فرم هاي باز يا برنامه هاي رزيدنت مي فرستد
PrivateConst ENDSESSION_LOGOFF AsLong = &H80000000
' پيام كنسل كردن شات دان يا ريستارت
PrivateConst WM_CANCELMODE As System.Int32 = &H1F
'كنترل پيام هاي ارسالي
ProtectedOverridesSub WndProc(ByRef exp As Message)
If exp.Msg = WM_QUERYENDSESSION Or exp.Msg = ENDSESSION_LOGOFF Then
'پيام ها را باطل مي كند
Dim activeMessage AsNew Message
activeMessage.Msg = WM_CANCELMODE
MyBase.WndProc(activeMessage)
Else
' پيام نرمال سازي مي فرستد
MyBase.WndProc(exp)
EndIf
EndSub

anooshiran
شنبه 11 مهر 1388, 03:51 صبح
سلام دوستان

اين برنامه را هم آماده كردم كه امكاناتي را در مديريت service و Process مهيا مي كند.

در اين بر نامه مي توانيد :

1- با ديدن كليه Service ها وضعيت آنها را هم مشاهده نموده و service ها را stop ,start , pause , resume كنيد.

2- با ديدن كليه process ها وضعيت آنها را مشاهده نموده و Process ها را start,stop كنيد

البته من براي نشان دادن مشخصات service و process آيتم هايي را كه فكر مي كردم مهمتر است نشان داده ام. شما ميتوانيد آيتم هاي مورد نظر خودتان را هم اضافه كنيد.

اميدوارم كه اين برنامه بدردتان بخورد.

alimanam
شنبه 11 مهر 1388, 15:05 عصر
با سلام

اين يه نمونه کوچولو در زمينه Windows Service هست که براي شروع بد نيست .

در ابتدا پروژه رو باز نموده روی پروژه Setup راست کلیک کنید و از منوی باز شده روی گزینه Build رو انتخاب کنید تا فایل نصب ویندوز سرویس ایجاد گردد . حالا به مسیر Setup\Debug رفته و روی فایل Setup.exe دبل کلیک کنیدتا سرویس در سیستم شما نصب بشه .

براي اطلاعات بيشتر به فايل Readme.txt درون فايل ضميمه مراجعه کنيد .

يا علي