PDA

View Full Version : Service Application Handle ?



DAMAVAND
چهارشنبه 22 اردیبهشت 1389, 03:12 صبح
من 2 تا برنامه دارم يکي سرويس و ديگري برنامه اصلي گاهي لازمه توسط برنامه اصلي يک پيام با تابع Sendmeesage به Service بفرستم. براي اين کار به هندل service احتياج هست ولي سرويس بدون فرم آيا هندل داره ? نميخوام بيخودي يک فرم به سرويس اضافه کنم .
اگه نه اصلا ميشه با Sendmessage بهش پيام فرستاد ?هندلش چطوري بدست بيارم ?

با تشکر.

شبیر کریمی
چهارشنبه 22 اردیبهشت 1389, 10:16 صبح
The SendMessage function sends the specified message to a window or windows

پس نمیشه با sendmessage به برنامه ای که هیچ فرمی نداره پیام فرستاد.

http://delphi.about.com/od/windowsshellapi/l/aa093003a.htm

vcldeveloper
چهارشنبه 22 اردیبهشت 1389, 18:44 عصر
نیاز به فرم نیست، بلکه یک پنجره مخفی هم برای این کار کفایت میکنه. البته برای سرویس ها باید دقت کنید که ویندوز ممکنه سرویس شما را روی Desktop دیگه ایی غیر از Desktop فعال کاربر اجرا کنه. تا جایی که یادم هست، ارسال پیام فقط بین پنجره های یک Desktop ممکن هست. در هر حال، بهتره از روش های دیگه ارتباطا بین Processها (IPC)، مثل Pipeها یا Memory Mapped Files برای انتقال داده بین سرویس و برنامه خودتان استفاده کنید.

Felony
جمعه 24 اردیبهشت 1389, 11:25 صبح
پیرو گفته آقای کشاورز : http://delphi.about.com/od/windowsshellapi/l/aa093003a.htm