PDA

View Full Version : رجیستر کردن یک رویداد در برنامه های System Tray



Ahmad_Crack
شنبه 13 اسفند 1384, 12:35 عصر
یک برنامه دارم که در بخش System Tray قرار دارد
برنامه فوق دارای کلیدهای Hot Key می باشد.
اما یک مشکل دارم:
می خواهم با اتفاق افتادن یک رویداد مثلا زنگ خوردن تلفن رویداد مربوطه اجرا شود و برنامه بر روی صفحه نمایش داده شود.
اگر کسی در مورد رجیستر کردن یک رویداد اطلاعاتی دارد لطفا کمک کند.
ممنون.

Touska
شنبه 13 اسفند 1384, 12:37 عصر
منظورتون رو کامل تر و دقیق تر بیان کنید میخواهید Event به صورت Runtime تعریف کنید.

Ahmad_Crack
شنبه 13 اسفند 1384, 12:43 عصر
منظورتان را از RunTime کاملا متوجه نشدم.
اما می خواهم هر موقع رویدادی در برنامه اتفاق افتاد برنامه از بخش Tray فعال و رویداد مربوطه را اجرا نماید.
مثلا در هنگام زنگ خوردن تلفن رویداد On Call State اجرا گردد و برنامه در صفحه نمایش داده شود.
با تشکر

MiRHaDi
شنبه 13 اسفند 1384, 17:13 عصر
سلام
بستگی به رویدادت داره ! در بعضی حالات استفاده از Messageهایی که به برنامت میاد کارت رو راه میندازه
در بعضی موارد هم باید از Timer استفاده کنی و هی چک کنی
بای

Ahmad_Crack
شنبه 13 اسفند 1384, 17:40 عصر
بستگی به رویدادت داره ! در بعضی حالات استفاده از Messageهایی که به برنامت میاد کارت رو راه میندازه
شما رویداد On Call State در Kdtele را در نظر بگیرید.
از چه Message باید استفاده کنم.

Hamid_PaK
شنبه 13 اسفند 1384, 22:17 عصر
رویداد هایی که در کامپوننت ها تعریف می شوند از روی Messageها ردیابی شده اند ...
و در حقیقت رویداد OnCallState به احتمال زیاد یک Variable دارد که از نوع Messageهای مربوط می باشد و شما را در مورد موقعیت تماس مطلع می سازد ...

یا حق !!!

vcldeveloper
یک شنبه 14 اسفند 1384, 07:27 صبح
سوال شما ربطی به اینکه برنامه ایکنی در System tray داشته/یا نداشته باشه، نداره

Ahmad_Crack
یک شنبه 14 اسفند 1384, 08:33 صبح
رویداد هایی که در کامپوننت ها تعریف می شوند از روی Messageها ردیابی شده اند ...
و در حقیقت رویداد OnCallState به احتمال زیاد یک Variable دارد که از نوع Messageهای مربوط می باشد و شما را در مورد موقعیت تماس مطلع می سازد ...
آقا حمید از راهنمایی شما ممنون.
اگر بتونم آن Variable و یا Message مربوطه را پیدا کنم فکر کنم مشکل حل بشه.
اگر کسی از دوستان در مورد Message مربوطه به کامپوننت Kdtele : رویداد OnCallState اطلاعات داره لطفا راهنمایی
کنه.
سوال دیگه ایی که به ذهنم می خوره :
اگر بخواهیم رویداد OnClose را رجیستری کنم باید چکار کنیم .
به طوری که هر گاه هر برنامه ایی را بستیم محتوای رویداد فوق اجرا گردد.
با تشکر از دوستان

Hamid_PaK
دوشنبه 15 اسفند 1384, 05:04 صبح
دوست عزیز شما یک نگاهی به پنجره ObjectInspector در محیط دلفی بیانداز ، دوتا تب داره ( Events , Properties ) در تب Events مشکل بسادگی حل می شود ( فقط یادت نره که فرم رو انتخاب کنی !!! ) ...
در مورد OnCallState در KDTele به همین گونه است ، به رویداد OnCloseQuery یک فرم و پارمتر CanClose یک نگاهی بیاندازید و ببینید که چطور می توان از بسته شدن فرم جلو گیری کرد حالا ببینید در KDTele پارامتری که شما را از زنگ خردن خط مطلع می سازد چیست ...

یا حق !!!

Ahmad_Crack
دوشنبه 15 اسفند 1384, 12:15 عصر
دوستان باید توجه داشته باشید که بعد از رجیستر کردن یک رویداد
آن رویداد در قسمت Cotrol Panel ویندوز در قسمت Administrator Tools در Event Viewer قابل مشاهده است.
من یک آدرس که یک نمونه برنامه مثال زده پیدا کردم اما زیاد سر در نیاوردم
http://www.dragonsoftru.com/articles/EventLog.html#intro
اگر کسی از دوستان موفق به انجام این کار شد حتما راهنمایی کنه.
ممنون از تمامی دوستان

Naficy
سه شنبه 16 اسفند 1384, 12:31 عصر
اصلا معلوم هست منظور شما چیه؟
داشتن یا نداشتن یک آیکون در Tray هیچ ربطی به شیوه دریافت پیامها و پردازش آنها نداره.
Event Viewer ویندوز نه ربطی داره به Event های دلفی، نه Message های ویندوز.
به نظر می یاد بعضی چیزها رو با هم اشتباه گرفتید...