Bir Windows NT hizmeti veya Windows NT hizmeti olarak kökenli Visual C++ 4.x MFC uygulaması kullandığınızda, bir onaylama işlemi Wincore.cpp oluşabilir. Özellikle aşağıdaki satırında _AfxActivationWndProc() oluşur:
belirtilme <a1>Satır</a1> ile Visual C++ sürüm 4.2 ve 4.2b, Visual C++ sürüm 4.1, <a1>Satır</a1> Visual C++ sürüm 5.0 ve Visual C++ 6.0 ile 389 satırındaki 392 ile 384 satırındaki 385 oluşur.
MFC alt olmayan-oluşturulan MFC tüm pencereleri belirli etkinleştirme sorunları tanıtıcı. Non-oluşturulan MFC pencere sınıflara sırasında eski pencere yordamı penceresinin özelliklerinde saklanır. Özelleştirmeler için özelliklerini tanımlamak için kullanılan atomları neden olan bir Windows NT oturumunu kapatmadan ve özelliği alınamıyor. Bu onaylama işlemi, yapılmasına neden olur.
MFC Windows NT Hizmetleri için tasarlanmıştır. Onaylama işlemi sonucunda MFC uygulamanın simge durumuna küçültülemez, bir Windows NT hizmetten kökenli ve sonra kullanıcı oturum açtığında, - kapatın, sonra da ortaya çıkar.
Ayrıca bir MFC uygulaması bir hizmet veya bir hizmet olarak bağlantı sırasında göz önünde bulundurulması gereken başka sorunlar var olan aklınızda bulundurun. Ana çerçeve penceresi için OnEndSession() ileti işleyicisi CDocument nesnesi dışında kapatır. Bu nedenle bu gelen oluşmasını engellemek için WM_ENDSESSION iletinin işlenmeli.
Unsubclass tüm olmayan MFC pencerelerini kapatma veya WM_ENDSESSION işleyicisinde olarak gibi oturum kapatma sırasında bazı zaman.
MFC kodunu değiştirmek ve MFC kitaplıklarını yeniden oluşturun. Bu durumda, MFC kodu olmayan MFC herhangi bir pencerenin sınıflara gelen engellemek veya eski pencere yordamı Özellikleri penceresi yerine bir listede saklayabilirsiniz kodunu değiştirerek değiştirebilirsiniz. Her pencerenin özelleştirmeler gibi (WM_NCDESTROY alınan), arama pencere tanıtıcısı listeniz ve unsubclass, MFC _AfxActivationWndProc() işlevinde yaptığı gibi.
GUI hizmet bölümünden uygulamanın bir parçası olarak ayırın. Kullanıcı her oturum açışında, ba?ka bir deyi?le, bir GUI istemci başlatması gerekir. Daha sonra bazı adlandırılmış yöneltmeler veya yuva gibi işlemler arası iletişim için formu aracılığıyla hizmeti konuşun GUI istemci sağlayın. Hizmetin, verileri korumak ve, oturum açarken her zaman yukarı GUI başlatır.
Karıştırılmış penceresini etkinleştirme sorunları genelde işlenecek MFC alt olmayan MFC windows. Örneğin, bunu uygun etkinleştirme toplevel pencerelerin yerinde OLE etkinleştirme yaparken sağlar. Ayrıca, kullanıcı bir uygulamanın parçası olan devre dışı bırakılmış bir pencerede tıklattığında son etkin iletişim kutusu etkin sağlar. Normal olarak, bilgisayarınızda bir kalıcı iletişim kutusu sahibi olan bir ana pencere ve kayan bir araç çubuğu gibi bazı diğer açılan pencereyi ve etkinleştirme, başka bir uygulamaya geçin ve kalıcı bir iletişim kutusu tarafından devre dışı bırakılmış araç çubuğunu tıklatın, Windows bip sesi çıkarıyor ve uygulama etkinleştirmez. Kalıcı iletişim kutusu, araç çubuğunda tıklattığınızda üstüne hazırlanmıştır MFC sağlar. MFC windows MFC oluşturulan ve non-oluşturulan MFC Windows bu etkinleştirme sorunları tüm işler unutmayın. Eski pencere yordamı, yalnızca olmayan MFC pencereler için pencere ile ilişkili bir özelliği olarak depolanır. Varsa, unsubclass olmayan MFC windows (ilk yöntem yukarıda önerdiği), yine de bu etkinleştirme özellikleri MFC CWnd türetilmiş nesneleri olarak oluşturulan tüm windows alın.
Yukarıda listelenen ilk teknik bir uygulama zaten yazdınız ve istemiyorsanız tasarımlarını rework, MFC kitaplıklarını yeniden veya etkinleştirme tanıtıcı gerekmez geliştiriciler için kolay bir geçici çözüm, MFC tanıtıcıları sorunları olabilir.
Unsubclass MFC Windows olmayan ana çerçeve pencerenizin WM_ENDSESSION işleyicisindeki kullanabilirsiniz. Aşağıdaki örnek kod, tüm işlem ve unsubclass pencerelerini Numaralandırılacak gösterilmiştir bunları: için Visual C++ 4.x ve Visual C++ 5.0:
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:164166
(http://support.microsoft.com/kb/164166/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.