¡¡¡¡¶Ô»°¿òµÄÍâ¹ÛÈçͼ1Ëùʾ
£¬ÆäÖÐËĸö°´Å¥£¨Button£©ÊôÐÔÉèÖüûϱí
£¬¡¡¡¡ID Caption
¡¡¡¡
IDC_SHUTDOWNCOMPUTER ¹Ø±Õ¼ÆËã»ú¡¡
¡¡¡¡
IDC_RESTARTCOMPUTER ÖØÐÂÆô¶¯¼ÆËã»ú
¡¡¡¡IDC_OPENCDROM ´ò¿ªCD-ROM
¡¡¡¡IDC_CLOSECDROM ¹Ø±ÕCD-ROM
¡¡¡
¡£¨1£© ÖØÐÂÆô¶¯¼ÆËã»ú
¡¡¡¡ÏÈ»ñÈ¡²Ù×÷ϵͳ°æ±¾£¬È»ºóµ÷ÓÃExitWindowsExº¯ÊýÖØÐÂÆô¶¯¼ÆËã»ú
¡£ÎªIDC_RESTARTCOMPUTER°´Å¥Ìí¼ÓBN_CLICKEDÏûÏ¢´¦Àíº¯ÊýÈçÏ£º
void CControlDlg::OnRestartcomputer()
¡¡¡¡{
¡¡¡¡OSVERSIONINFO OsVersionInfo;//°üº¬²Ù×÷ϵͳ°æ±¾ÐÅÏ¢µÄÊý¾Ý½á¹¹
¡¡¡¡OsVersionInfo.dwOSVersionInfoSize= sizeof(OSVERSIONINFO);
¡¡¡¡GetVersionEx(&OsVersionInfo);//»ñÈ¡²Ù×÷ϵͳ°æ±¾ÐÅÏ¢
¡¡¡¡if( OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS )
¡¡¡¡{//Windows98,µ÷ÓÃExitWindowsEx()º¯ÊýÖØÐÂÆô¶¯¼ÆËã»ú
¡¡¡¡DWORD dwReserved ;
¡¡¡¡ExitWindowsEx(EWX_LOGOFF,dwReserved);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Êµ¼ÊÉÏ£¬Í¨¹ý¸Ä±äº¯ÊýExitWindowsExµÄµÚÒ»¸ö²ÎÊý¿ÉÒÔʵÏÖ×¢ÏúÓû§¡¢¹Ø»ú¡¢¹Ø±ÕµçÔ´µÈ²Ù×÷¡£
¡¡¡¡£¨2£©¹Ø±Õ¼ÆËã»ú
¡¡¡¡´Ë¹¦ÄÜÊÇͨ¹ýshell32.dllÖÐÒ»¸öË÷ÒýºÅΪ60µÄAPIº¯Êýµ÷Óã¬ÏÔʾ"¹Ø±ÕWindows"¶Ô»°´°¿ÚʵÏֵġ£
¡¡¡¡¾ßÌå·½·¨ÎªIDC_SHUTDOWNCOMPUTER°´Å¥Ìí¼ÓBN_CLICKEDÏûÏ¢´¦Àíº¯Êý£º
void CControlDlg::OnShutdowncomputer()
¡¡¡¡{
¡¡¡¡HINSTANCE hInst=LoadLibrary("shell32.dll");//×°Èëshell32.dll
¡¡¡¡SHUTDOWNDLG ShutDownDialog;//Ö¸Ïòshell32¿âÖÐÏÔʾ¹Ø»ú¶Ô»°¿òº¯ÊýµÄÖ¸Õë
¡¡¡¡if(hInst!=NULL)
¡¡¡¡{
¡¡¡¡//»ñµÃº¯ÊýµÄµØÖ·²¢µ÷ÓÃÖ®
¡¡¡¡ShutDownDialog=(SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60);//
¡¡¡¡(*ShutDownDialog)(0);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡
º¯ÊýÖеÄSHUTDOWNDLG¶¨ÒåÈçÏ£º
¡¡¡¡typedef int £¨CALLBACK *SHUTDOWNDLG£©£¨int£©£»//ÏÔʾ¹Ø»ú¶Ô»°¿òº¯ÊýµÄÖ¸Õë
¡¡¡¡£¨3£©´ò¿ªCD_ROMÓë¹Ø±ÕCD_ROM
¡¡¡¡·½·¨ÊÇÏÈÏò¹¤³ÌÖмÓÈë¶àýÌå×é¼þ¡£Ñ¡ÔñProject¡¡Add to Project¡¡Components and Controls²Ëµ¥ÏÔÚµ¯³öµÄComponents and Controls Gallery¶Ô»°¿òÖÐÑ¡ÔñVisual C++ ComponentsÎļþ¼Ð£¬È»ºóÑ¡ÔñWindows Multimedia libraryÏ°´Insert°´Å¥¡£ÔÚÖ®ºóµÄÏûÏ¢¿òÖа´"ÊÇ".ÕâÑù£¬ÔÚ¹¤³ÌÖмÓÈëÁËÁ˶àýÌå×é¼þ£¬ÔÚstdafx.hÎļþÖмÓÈëÁËÁ½ÐÐÓï¾ä£º
#include
¡¡¡¡// CG: The following line was added by the Windows Multimedia component.
¡¡¡¡#pragma comment(lib, "winmm.lib")
¡¡¡¡
È»ºó·Ö±ðΪIDC_OPENCDROMºÍIDC_CLOSECDROM°´Å¥Ìí¼ÓBN_CLICKEDÏûÏ¢´¦Àíº¯ÊýÈçÏ£º
void CControlDlg::OnOpencdrom() //´ò¿ª¹âÇý
¡¡¡¡{
¡¡¡¡mciSendString("Set cdAudio door open wait", NULL, 0, NULL);
¡¡¡¡}
¡¡¡¡void CControlDlg::OnClosecdrom() //¹Ø±Õ¹âÇý
¡¡¡¡{
¡¡¡¡mciSendString("Set cdAudio door closed wait", NULL, 0, NULL);
¡¡¡¡}
¡¡¡¡±¾³ÌÐòÔÚÖÐÎÄWindows 98¡¢Visual C++6.0ÏÂͨ¹ý¡£