PDA

View Full Version : حرفه ای: استفاده از توابع API در ویندوز سرویس



ferankyy
دوشنبه 27 شهریور 1391, 15:37 عصر
من یه سرویس نوشتم که می بایست با استفاده از تابع FindWindow هندل یه پنجره رو برگردونه

مشکل اینجاست که همیشه هندل رو صفر بر میگردونه ، ولی داخل WinApp کار میکنه .

ferankyy
سه شنبه 28 شهریور 1391, 10:38 صبح
البته من میدونم مشکل از کجاست ولی راه حلشو نمیدونم :
چون سرویس های ویندوزی در ویندوز ویستا به بالا روی Session شماره صفر اجرا میشوند ولی برنامه های ویندوز اپلیکیشن روی Session شماره یک اجرا میشوند و به همین دلیل وقتی از تابع Findwindow داخل سرویس ها استفاده میکنیم نمیوتنه هندل پنجره ای که در Session دیگر اجرا هست رو برگردونه . همینطور که وقتی برنامه ای مثل Notepad رو از داخل یک سرویس اجرا میکنیم برنامه اجرا شده روی شمارهsession صفر هست و قابل دیدن در دسکتاپ نیست ولی در لیست پروسس ها هست .

pe32_64
جمعه 07 مهر 1391, 19:43 عصر
دوست شما که یک برنامه نویس سیستمی هستید و سرویس می نویسید باید بدونید که

هر گونه تعامل با کاربر برای سرویسها ممنوع است.


چون برنامه ای به صورت سرویس نوشته می شود که بدون نیاز به کاربر کارش انجام می دهد و باید برنامتون رو به صورت دیگه ای بنویسید.