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

Kurtbeyi

Misafir Editör
Katılım
5 Şub 2022
Mesajlar
1,980
Tepkime puanı
0
Puanları
36
Konum
istanbul
Cinsiyet
  1. Bay
Takım
Fenerbahçe
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.
 
metal işleme
Üst