본문 바로가기
프로그래밍

👨‍💻 [MFC - ChatGPT] MFC 에서 윈도우 절전 모드 설정 창을 열려면 어떻게 해야 하나요?

by 밝음의기둥 2024. 9. 2.
반응형

👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

MFC에서 윈도우 절전 모드 설정 창을 여는 방법에 대해서 물어봤습니다.


질문 >

MFC 에서 윈도우 절전 모드 설정 창을 열려면 어떻게 해야 하나요?

답변 >

MFC 애플리케이션에서 Windows의 "전원 옵션" 설정 창(절전 모드 설정 포함)을 열려면, ShellExecute 또는 ShellExecuteEx 함수를 사용하여 제어판의 전원 옵션 페이지를 실행할 수 있습니다.

다음은 MFC 애플리케이션에서 절전 모드 설정 창을 여는 방법입니다:

1. ShellExecute 함수 사용

#include <afxwin.h>  // MFC 헤더 파일void OpenPowerOptions()
{
    HINSTANCE result = ShellExecute(NULL, _T("open"), _T("control.exe"), _T("/name Microsoft.PowerOptions"), NULL, SW_SHOWNORMAL);

    if ((int)result <= 32)
    {
        AfxMessageBox(_T("전원 옵션 창을 열 수 없습니다."));
    }
}

2. ShellExecuteEx 함수 사용

ShellExecuteEx 함수를 사용하면 더 많은 제어를 제공하지만, 기본적인 사용법은 비슷합니다.

#include <afxwin.h>  // MFC 헤더 파일#include <shellapi.h> // ShellExecuteEx를 위해 필요void OpenPowerOptions()
{
    SHELLEXECUTEINFO shExecInfo = {0};
    shExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    shExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    shExecInfo.hwnd = NULL;
    shExecInfo.lpVerb = _T("open");
    shExecInfo.lpFile = _T("control.exe");
    shExecInfo.lpParameters = _T("/name Microsoft.PowerOptions");
    shExecInfo.lpDirectory = NULL;
    shExecInfo.nShow = SW_SHOWNORMAL;
    shExecInfo.hInstApp = NULL;

    if (!ShellExecuteEx(&shExecInfo))
    {
        AfxMessageBox(_T("전원 옵션 창을 열 수 없습니다."));
    }
}

3. 함수 호출

이제 이 함수를 MFC 애플리케이션에서 버튼 클릭 이벤트나 특정 작업이 발생했을 때 호출하면 됩니다.

void CMyAppDlg::OnBnClickedOpenPowerOptions()
{
    OpenPowerOptions();
}

요약

이 코드들은 ShellExecute 또는 ShellExecuteEx 함수를 사용하여 제어판의 "전원 옵션" 페이지를 실행합니다. 이 페이지는 사용자가 절전 모드, 디스플레이 끄기 시간 등을 설정할 수 있는 윈도우 설정 창을 엽니다. ShellExecute 함수는 간단하게 실행할 수 있으며, ShellExecuteEx는 더 많은 옵션을 제공합니다. 두 방법 모두 MFC 애플리케이션에서 쉽게 통합할 수 있습니다.


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리 입니다. 📢 위로그@WiLog 는 자기주도학습을 목적으로 라이브 스트리밍을 합니다. 📢 1인 게임 개발을 목표로 Unreal과 Blender를 학습 중입니

www.youtube.com

 

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com

 


반응형