امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در مورد ران شدن يه سرويس
نویسنده پیام
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #1
سوال در مورد ران شدن يه سرويس
سلام.
يه سوال در مورد سرويس ها.
اگه يه سرويس آدرس برنامه من رو داشته باشه و من سرويس رو استارت كنم بعد از چند ثانيه دوباره سرويس استاپ ميشه.
عكس پيغامش رو هم گذاشتم.
به نظر ميرسه فايلي كه ران ميشه بايد موقع استارت شدن جواب بده. وگرنه استاپ ميشه. حالا كسي ميدونه چه طور ميشه جلوي استاپ شدن سرويس رو گرفت؟ چه طور بايد جواب ران كننده سرويس رو داد؟
۲۰-فروردین-۱۳۸۵, ۱۹:۱۰:۲۶
ارسال‌ها
پاسخ
ashkan آفلاین
بنيانگذار سايت
******

ارسال‌ها: 1,553
موضوع‌ها: 80
تاریخ عضویت: آبان ۱۳۸۲

تشکرها : 0
( 140 تشکر در 87 ارسال )
ارسال: #2
RE: سوال در مورد ران شدن يه سرويس
فكر كنم برنامه سرويس تو سايت هست ميتوني يه نگاه بهش بندازي(بگردي پيدا ميشه)

آشنایی با نظریه زبان باعث شد تا بفهمم کامپیوتر اونی نیست که من میدونم.
۲۱-فروردین-۱۳۸۵, ۰۸:۴۷:۳۲
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #3
RE: سوال در مورد ران شدن يه سرويس
راستش سرچ كردم تو فروم كه چيزي پيدا نكردم. تو سايتم چند مورد كه ممكن بود كمي ربط داشته باشه پيدا كردم ولي دانلود نميشه. ممنون ميشم آدرسشو برام بذاري.
۲۳-فروردین-۱۳۸۵, ۱۳:۳۱:۵۶
ارسال‌ها
پاسخ
ashkan آفلاین
بنيانگذار سايت
******

ارسال‌ها: 1,553
موضوع‌ها: 80
تاریخ عضویت: آبان ۱۳۸۲

تشکرها : 0
( 140 تشکر در 87 ارسال )
ارسال: #4
RE: سوال در مورد ران شدن يه سرويس
اين لينك شايد به كارت بياد
http://www.iranvig.com/modules.php?name=...=0&thold=0

آشنایی با نظریه زبان باعث شد تا بفهمم کامپیوتر اونی نیست که من میدونم.
۲۳-فروردین-۱۳۸۵, ۱۶:۰۹:۴۳
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #5
RE: سوال در مورد ران شدن يه سرويس
اشکان جان این لینک رو که باز می کنم می ره رو ایندکس اول سایت !

و در جواب شما پیمان خان باید بگم که شما باید از تابع StartServiceCtrlDispatcher استفاده کنی
من هم هنوز موفق به استفاده ازش نشدم چون دوتا روتین
نیاز داره به نام های ServiceMain , HandlerEx که متنش باید
به طور دستی نوشته بشه که کار سخت و وقت گیریه
ردیفش که کردم بهت خبر می دم !

ماکروسافت درباره این تابع می گه :

نقل قول: When the service control manager starts a service process, it waits for the process to call the StartServiceCtrlDispatcher function. The main thread of a service process should make this call as soon as possible after it starts up. If StartServiceCtrlDispatcher succeeds, it connects the calling thread to the service control manager and does not return until all running services in the process have terminated. The service control manager uses this connection to send control and service start requests to the main thread of the service process. The main thread acts as a dispatcher by invoking the appropriate HandlerEx function to handle control requests, or by creating a new thread to execute the appropriate ServiceMain function when a new service is started
۲۳-فروردین-۱۳۸۵, ۲۳:۱۱:۱۸
ارسال‌ها
پاسخ
amirjan آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,105
موضوع‌ها: 24
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 348
( 697 تشکر در 251 ارسال )
ارسال: #6
RE: سوال در مورد ران شدن يه سرويس
نقل قول: اشکان جان این لینک رو که باز می کنم می ره رو ایندکس اول سایت !
آره آقا اشكان ! منم گاهي اين طوري ميشم ! ولي گاهي ! رو بعضي لينك ها كه ميزنم فوري ميره صفحه اول رو مياره . نميدونم چرا

سید امیر حسین حسنینی

Human knowledge belongs to the world ...
۲۳-فروردین-۱۳۸۵, ۲۳:۵۵:۳۲
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #7
RE: سوال در مورد ران شدن يه سرويس
Iron_Fist نوشته است:و در جواب شما پیمان خان باید بگم که شما باید از تابع StartServiceCtrlDispatcher استفاده کنی
من هم هنوز موفق به استفاده ازش نشدم چون دوتا روتین
نیاز داره به نام های ServiceMain , HandlerEx که متنش باید
به طور دستی نوشته بشه که کار سخت و وقت گیریه
ردیفش که کردم بهت خبر می دم !
نهههههههه.
من با فايل هاي سيستمي ويندوز خيلي ور رفته بودم و به اين نتيجه رسيده بودم كه اونايي كه تو ليست سرويس ها هستند از تابع StartServiceCtrlDispatcher استفاده ميكنند. بعد كه خواستم از اين تابع استفاده كنم ديدم يه پارامتر نا آشنا داره. تعريف SERVICE_TABLE_ENTRY رو از API viwer پيدا كردم. lpServiceProc در SERVICE_TABLE_ENTRY يه پوينتر به ServiceMain هست. تعريف ServiceMain رو نتونستم تو API viewr پيدا كنم. با مراجعه به MSDN و سايت هاي مختلف به اين نتيجه رسيدم كه كار با اين تابع به اين سادگي ها هم نيست. با توجه به مطالبي كه سرچ كرده بودم و يه چيزاي گنگي كه فهميده بودم و كمي هم شانسي چند تا كد نوشـم كه شايد جواب بده. نمونش.
کد:
Private Type ServiceMain
    dwArgc As Long
    lpszArgv As String
End Type

Private Type SERVICE_TABLE_ENTRY
    lpServiceName As String
    lpServiceProc As Long
End Type

Private Declare Function StartServiceCtrlDispatcher Lib "advapi32.dll" Alias "StartServiceCtrlDispatcherA" (lpServiceStartTable As SERVICE_TABLE_ENTRY) As Long

Dim a As SERVICE_TABLE_ENTRY, b As ServiceMain

Private Sub Form_Load()
    b.dwArgc = 5
    b.lpszArgv = "Payman"
    a.lpServiceName = ""
    o = StartServiceCtrlDispatcher(a)
End Sub
ولي هيچ كدوم جواب ندادن. آخرشم با خودم گفتم احتمالا من اشتباه كرده بودم و شايد اصلا اين تابع ربطي به مشكل من نداره. اين بود كه اومدم و اين جا مطرح كردم تا شايد راهي جلو پام بذاريد. ولي با توجه به فرمايشات Iron_Fist حالم گرفته شد.
Iron_Fist ميشه كمي در مورد ServiceMain توضيح بدي تا خودمم دست به كار شم و بي كار نشينم تا شما بنويسي. من تعدادي مثال در مورد تابع StartServiceCtrlDispatcher پيدا كرده بودم. ولي همشون به زبان C بودن و چون كمي پيچيده بودن تبديلشون مشكل بود. نمونش.
کد:
#include <windows.h>

SERVICE_STATUS          MyServiceStatus;
SERVICE_STATUS_HANDLE   MyServiceStatusHandle;

VOID SvcDebugOut(LPSTR String, DWORD Status);
VOID  WINAPI MyServiceCtrlHandler (DWORD opcode);
VOID  MyServiceStart (DWORD argc, LPTSTR *argv);
DWORD MyServiceInitialization (DWORD argc, LPTSTR *argv,
        DWORD *specificError);

void main( )
{
   SERVICE_TABLE_ENTRY   DispatchTable[] =
   {
      { "MyService", MyServiceStart      },
      { NULL,              NULL          }
   };

   if (!StartServiceCtrlDispatcher( DispatchTable))
   {
      SvcDebugOut(" [MY_SERVICE] StartServiceCtrlDispatcher (%d)\n",
         GetLastError());
   }
}

VOID SvcDebugOut(LPSTR String, DWORD Status)
{
   CHAR  Buffer[1024];
   if (strlen(String) < 1000)
   {
      sprintf(Buffer, String, Status);
      OutputDebugStringA(Buffer);
   }
}
Iron_Fist نوشته است:اشکان جان این لینک رو که باز می کنم می ره رو ایندکس اول سایت !
منم همين مشكلو داشتم. واسه همين بود كه گفتم برنامه ها دانلود نميشدن. تو سايت كه ميره با يوزر خودم نميره و با Anonymous ميره. اشكان خان اگه اون برنامه مشكلمو حل ميكنه ميشه يه جوري سريع تر بهم برسونيدش. مثلا جايي آپ كنيد. ممنون ميشم. نزديكه 3 هفته است سر اين مشكل گيرم. آخه كار برنامم هم هست. اگه اين رو ياد بگيرم ديگه برنامم آماده ميشه.
(آخرین ویرایش در این ارسال: ۲۴-فروردین-۱۳۸۵, ۰۲:۴۵:۱۷، توسط Payman62.)
۲۴-فروردین-۱۳۸۵, ۰۲:۳۱:۳۲
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #8
RE: سوال در مورد ران شدن يه سرويس
نقل قول: Iron_Fist ميشه كمي در مورد ServiceMain توضيح بدي تا خودمم دست به كار شم و بي كار نشينم تا شما بنويسي
بی رودرواسی من خودمم توش موندم

شما فقط مثال های C++ رو دیدی در حالی که من با وجود پیدا کردن مثال
های وی بی چیز جالبی توش ندیدم
چیز که من تو این بررسی ها دیدم این بود که تو مباحث تخصصی مثال های
وی بی کم هست عوضش C++ زیاد و تو گوگل که بیای و مثلا همین سوال رو
سرچ کنی مطمعن باش که 10 مثال اول به زبان C++ هست
حتی MSDN هم مثال هاش به زبان C++ هست
من که خودم تصمیم گرفتم به زبان C++ روی بیارم
توصیه ای هم که به شما می کنم اینه که از سیستم من برای یافتن جواب
سوالاتتون کمک بگیرید :
روش کارم اینه که وقتی به جواب نمی رسم برای اینکه از سوال و برنامه نویسی
زده نشم برای مثلآ مدت یک هفته بی خیال سواله می شم و بعد از اون مدت
اگه شرایط روحیم مساعد بود دوباره جستجو رو از سر می گیرم

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

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #9
RE: سوال در مورد ران شدن يه سرويس
نقل قول: ودر کلام آخر شاید من تا یک هفته دیگه تونستم به جواب برسم .
اين يعني چي. منظورت اينه كه به يه جاهايي رسيدي و ميشه اميدوار بود؟؟
راستي مثال هاي vb رو داري بذاري يه نگاه بكنم.
۲۵-فروردین-۱۳۸۵, ۰۴:۰۴:۴۸
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #10
RE: سوال در مورد ران شدن يه سرويس
نقل قول: منظورت اينه كه به يه جاهايي رسيدي
نه هنوز
نقل قول: ميشه اميدوار بود؟؟
یجوری می گی انگار شدنی نیست
بلاخره یاد می گیریم
نقل قول: راستي مثال هاي vb رو داري بذاري يه نگاه بكنم
همشون اومدن و از یجا کپی برداری کردن فقط یکم تغییرش دادن
ولی در کل همشون یکیه و هیچکدوم هم کار نمی کنه !
ایراد منطقی داره !
http://www.devparadise.com/technoweb/code/vb/a165.php
http://www.vbfrance.com/forum.v2.aspx?ID=302454
این صفحات به زبان فرانسوی توضیحاتش که برای تر جمه به
انگلیسی از این لینک استفاده کن :
http://www.google.com/language_tools?hl=en
۲۵-فروردین-۱۳۸۵, ۱۴:۱۶:۰۷
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

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

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #11
RE: سوال در مورد ران شدن يه سرويس
به جايي نرسيدي. من هنوز لنگه اينما.
۳۱-فروردین-۱۳۸۵, ۲۳:۵۱:۵۲
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد ماژول وینساک gachboy 5 4,476 ۲۲-بهمن-۱۳۹۲, ۱۷:۴۳:۵۲
آخرین ارسال: gachboy
  سوال در مورد بدست آوردن سورس Hacker_2010 7 6,056 ۰۵-مرداد-۱۳۹۲, ۰۰:۵۴:۵۰
آخرین ارسال: babyy
  [سوال] یک سوال در مورد بانک اطلاعاتی ترانسپورتر 10 7,734 ۳۱-تير-۱۳۹۲, ۲۰:۱۲:۰۹
آخرین ارسال: Ghoghnus
  سوال در مورد کنترل Webbrowser Cr4ShD4Y 2 3,011 ۱۶-تير-۱۳۹۲, ۱۱:۴۱:۰۹
آخرین ارسال: kimiafars
  سوال در مورد کریستال ریپورت؟؟ ahp_online 1 3,018 ۲۵-خرداد-۱۳۹۲, ۱۰:۰۷:۱۷
آخرین ارسال: Ghoghnus
Sad سوال در مورد ارسال پی ام در یاهو مسنجر blackhacking21 6 5,269 ۱۷-فروردین-۱۳۹۲, ۱۰:۵۰:۵۱
آخرین ارسال: lord_viper
  [سوال] یک سوال ساده در مورد هندل thinkdiff 1 2,838 ۱۴-فروردین-۱۳۹۲, ۱۳:۱۶:۲۸
آخرین ارسال: Di Di
  سوال در مورد درگ ایتم های لیست ویو sevdaboy 1 2,635 ۲۳-بهمن-۱۳۹۰, ۱۳:۳۰:۳۴
آخرین ارسال: Di Di
  یک مثال در مورد تصاویر حرکتی و یک سوال sevdaboy 7 6,242 ۲۱-شهریور-۱۳۹۰, ۰۱:۵۶:۵۶
آخرین ارسال: sevdaboy
Question [سوال] یک سوال در مورد ظاهر برنامه در vb 6.0 Hamidreza97 4 4,786 ۰۷-شهریور-۱۳۹۰, ۱۹:۲۳:۵۷
آخرین ارسال: CRazYFULL

پرش به انجمن:


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

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