Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

CD-Room ve Monitor Açıp/Kapattırma.

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

C++ CD-Room ve Monitor Açıp/Kapatma
Visual Studio: Alt+F7 yapıp >> Configuration Properties >> Linker >> Input > Additional Dependencies > <Edit...> > gelen yere winmm.lib yazıp Ok diyoruz.

Dev-C++: Alt+p yapıp >> Parametreler sekmesi altındaki Bağlayıcı(Linkler) kısmına Kütüphane Veya Nesne Ekle butonuna tıklayıp libwinmm.a'yı bulup tamam diyoruz.

Özellikleri:
> 3 kere Cd-Room ve Monitor Acilip Kapanir.
> Istenilirse Dos Ekrani Gizletilebilir.

Kod:
#include <Windows.h>//windows fonksiyonları,API vb. kullanabilmek için(Monitor kapatma için gerekli)
#include <iostream>//cout, cin vs. için
#include <MMSystem.h>//cd room açıp kapatma için

using namespace std;

**** gizlen()//Gizlen fonksiyonumuz:
{
     AllocConsole();
     ShowWindow(FindWindowA("ConsoleWindowClass",NULL),0);//Dos ekranımızı gizliyorruz 0 olursa gizlenir, 1 olursa gizlenmez
}

int main()
{
	int i=0;//döngümüzde kullanacağız
	while(i<3)//i küçük olduğu sürece 3'ten: (3'ü değiştirirseniz mesela 5 yaptınız cd room ve monitor 5 kere açılıp kapanır
	{
	mciSendString("open CDAudio",NULL,0,NULL);//cd room!u kullanacağımızı belirtiyoruz.
	Sleep(100);//100 ms bekle
	cout << "CD-ROOM Aciliyor...\n" << " i = " <<i<<endl;

	mciSendString("set CDAudio door open",NULL,0,NULL);//Cd room'u açar

	SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,(LPARAM)2);//monitoru kapatır(bi nevi elektiriğini keser) (2)

	Sleep(100);//100 ms bekle
	mciSendString("set CDAudio door closed",NULL,0,NULL);//Cd room'u kapatır

	SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,(LPARAM)-1);//monitoru açar(-1)
	i++;//her döndüğünde i'yi 1 artır
	}
	
	system("PAUSE");//Devam etmek için bir tusa basiniz...
	return 0;//çıkış
}

Notlar..:
>> Eğer Dos ekranını gizlemek istiyorsanız in main() içine gizlen(); yazıp derlemeniz yeterli
>> Windows Vista'da Denebmistir.Kodlar sadece Monitoru ve CD-room'u açıp kaptır.(Sorun olmaz ama hani Oluşabilecek Sorunlardan ben sorumlu değilimdir.)
>> Kodlama ve Anlatım bana aittir.
 
Üst Alt