Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Tarayıcınız desteklenmiyor

Siteyi kullanmak için tarayıcınızı güncelleştirmeniz gerekir.

Internet Explorer'ın en son sürümüne güncelleştirin

Ekran koruyucusu bir kez kapanmaya zorlamak için Windows NT, Windows 2000 ve Windows Server 2003 başlatıldı

Ö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:140723
Özet
Bazen, çalışmakta olan bir ekran koruyucusunun sona erdirmek uygulamaları gerekir. Microsoft Windows 95'te bir ekran koruyucusunun kolayca WM_CLOSE ileti bu örnek olarak şu anda etkin ekran koruyucu penceresinde deftere naklederek sona erdirilecek:
PostMessage (GetActiveWindow(), WM_CLOSE, 0 L 0);
Microsoft Windows NT, uygulamalar üzerinde çalışabilir ve üzerinde başka bir ekran koruyucular çalıştırabilirsiniz, ancak ayrı bir masaüstü kavramını tanıtır. Bu ekran koruyucusunu sonlandırma Windows NT, Windows 2000 ve Windows Server 2003 altında biraz daha güçleştirir.
Daha fazla bilgi
Etkin ekran koruyucusu penceresi için bir tanıtıcı elde etme işlemi, Microsoft Windows 95'den sonraki işletim sistemleri için farklıdır. Microsoft Windows NT, Microsoft Windows 2000 ve Microsoft Windows Server 2003'te, ekran koruyucusunu varsayılan masaüstünde veya ayrı bir masaüstü, görüntü özelliklerinde bir ayarına bağlı olarak çalışabilir:
  • <a0>Görüntü Özellikleri</a0> iletişim kutusunun Ekran koruyucu sekmesinde açık Devam edildiğinde parola koruması onay kutusunu seçerseniz, ekran koruyucusunu kendi masaüstünde çalıştırır.
  • Önceki noktasını içinde açıklanan onay kutusunu temizlerseniz, ekran koruyucusunu varsayılan masaüstünde çalıştırır.
GetForegroundWindow() işlevi ya da FindWindow kullanamazsınız işlevi, ekran koruyucusunu etkin olup olmadığını belirlemek için:
  • Çağıran uygulama çalıştıran masaüstü farklı bir masaüstündeki ekran koruyucusunu çalışmadığından GetForegroundWindow() işlevini NULL döndürüyor.
  • FindWindow işlev ("WindowsScreenSaverClass", NULL) ya da çalışmaz.
Bu nedenle, Microsoft aşağıdakileri önerir:
  • Kod ekran koruyucusunu kapatmak için önce kendi masaüstünde ekran koruyucusunu çalışır durumda olup olmadığını belirler.
  • Kodu, kendi masaüstünde ekran koruyucu çalışıyorsa, ekran koruyucusu kapatır.
  • Hiçbir Masaüstü için ekran koruyucusunu ise, varsayılan masaüstünün kullanır.


Bunu yapmak için <a0></a0>, ekran koruyucusunu kullanıcının masaüstünde bir tanıtıcı elde, bu masaüstünün windows numaralandırmak ve ekran koruyucusunu penceresine bir WM_CLOSE deftere nakil işlemini.

Aşağıdaki kod, bunun nasıl yapılacağını gösterir. Ekran koruyucusu parolası ayarlarsanız, aşağıdaki kodu parola iletişim kutusunu görüntüler, kullanıcıya parola sorar ve ekran koruyucusunu uygulama gerçekten sonlandırır, Not.
BOOL CALLBACK KillScreenSaverFunc(HWND hwnd, LPARAM lParam) { 	if(IsWindowVisible(hwnd)) 		PostMessage(hwnd, WM_CLOSE, 0, 0); 	return TRUE; } HDESK hdesk; hdesk = OpenDesktop(TEXT("Screen-saver"), 0, FALSE, DESKTOP_READOBJECTS | DESKTOP_WRITEOBJECTS); if (hdesk) { 	EnumDesktopWindows(hdesk, KillScreenSaverFunc, 0);	CloseDesktop(hdesk); } else { 	// Windows 2000 and later: 	// If there is no screen saver desktop, the screen saver 	// is on the default desktop. Close it by sending a 	// WM_CLOSE. PostMessage(GetForegroundWindow(), WM_CLOSE, 0, 0L); } 
belirtilen süre dolduktan sonra ekran koruyucusu yok olan için yukarıda gösterildiği gibi çalışmakta olan bir ekran koruyucusunun sonlandırılıyor tamamen, ekran koruyucusunu devre dışı tümüyle farklı olduğunu unutmayın. Bu kolay kullanılarak yapılabilir:
SystemParametersInfo( SPI_SETSCREENSAVEACTIVE,                      FALSE,                      0,                      SPIF_SENDWININICHANGE                     );				
bu yöntem iyi çalışan ekran koruyucusunu sonlandırılıyor çalışır. Ancak, kullanıcı fare taşır veya bir tuşa bastığında sistem ekran koruyucu başlatılmaz karşılaşabileceğiniz bir sorun değildir. Ekran koruyucusunun yeniden başlatma gerekiyorsa, zaman aşımı süresini yeniden başlatmak gerekir. Bunu, aşağıdaki yöntemlerden birini kullanarak:
  • SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, TRUE, 0, SPIF_SENDWININICHANGE) çağrılıyor.
  • Kullanıcı girişi benzetimini yapmak için SetCursorPos() kullanıyor.
Bu yöntemlerin her ikisi de, sistemin zaman aşımı sayacı için ekran koruyucusunu yeniden neden olur.
ekran koruyucusunu Kapat'ı çalıştıran devre dışı bırakma durdurma devre dışı bırakma

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 140723 - Son İnceleme: 02/22/2007 04:02:17 - Düzeltme: 3.2

  • Microsoft Win32 Software Development Kit (SDK) 3.1
  • kbmt kbcode kbhowto kbscreensaver KB140723 KbMttr
Geri bildirim
ector="">