Şu anda oturum açmış olan kullanıcıdan etkin pencere veya son fare hareketi gibi bilgileri alması gereken bir C# hizmeti yazıyorum. Zaten kullanıcı bilgilerini user32.dll kullanarak alabildiğimi öğrendim, ancak bu yalnızca yöntemleri çağıran kullanıcı bağlamında çalışır.Oturum açmış bir kullanıcının etkin penceresini bir hizmetten alma
Bu sayede hizmetim yalnızca "gerçek dünya" kullanıcısı hakkında değil, yalnızca kendisiyle ilgili bilgileri alabilir. Bunun WTSEnumerateSessions, OpenWindowStation, EnumDesktops, vb. Kullanılarak mümkün olabileceğini de duydum ama nasıl yapılacağını gösteren bir örnek bulamadım.
Hedefimin nasıl gerçekleştirileceğine dair bir ipucu (veya bazı kod örnekleri) olan var mı?
Gerçekten. Bu şekilde çok sevmiyorum ama uygulama kullanıcının oturumunda çalışırsa, kullanıcı bunu iptal edebilir. Hizmet olarak çalıştığı takdirde bu durum önlenebilir. – Marcus
Sadece servisin uygulamayı yeniden başlatmasını sağlayın. – Samuel
Bir kullanıcı uygulaması ve ek bir hizmet oluşturmayı da düşündüm ama bir kullanıcının kullanıcı oturumunda bir kullanıcının oturumu açmadan bir uygulamayı nasıl yeniden başlatması gerekir? – Marcus