본문 바로가기
IT/C++

제어판 Item 실행

by Spring Up!! 2016. 9. 27.
반응형
제어판 아이템에는 API call 이나 command-line 에서 프로그램적으로 사용할 수 있는 canonical name 이라는 것이 있다 (https://msdn.microsoft.com/en-us/library/windows/desktop/ee330741(v=vs.85).aspx)

* control.exe /name Microsoft.WindowsUpdate
윈도우즈 업데이트 창을 띄우는  명령어 인데 여기서
Microsoft.WindowsUpdate 가 윈도우즈 업데이트 제어판에 대한 canonical name 이다

아이템의 특정 페이지를 열려면 page 옵션을 사용한다
"%systemroot%\system32\control.exe /name canonicalName /page pageName"

Canonical names 는 윈도우즈 비스타 이상에서 지원된다 (Canonical names for Control Panel items are not supported prior to Windows Vista.)

다음은 Canonical Name 들의 종류 중 일부이다
* Action Center - Microsoft.ActionCenter
* Administrative Tools - Microsoft.AdministrativeTools
* AutoPlay - Microsoft.Autoplay
* Biometric Devices - Microsoft.BiometricDevices
* Date and Time - Microsoft.DateAndTime
* Windows Defender - Microsoft.WindowsDefender


제어판을 programmatically 열기
WinExec("c:\windows\system32\control.exe", SW_NORMAL);

또한 IOpenControlPanel::Open method 를 사용해서 열 수도 있다

Windows XP 에서 cpl 모듈로 접속되던 몇 가지 옵션들은 비스타에서 exe 파일로 만들어졌다. 그럼으로써 실행할 때 관리자 권한을 요청함으로 security 를 더해준다. Security 가 필요하지 않은 명령들은 XP 때처럼 cpl 로 실행된다.

* Screen resolution - control.exe desk.cpl,Settings,@Settings
* Screensaver - control.exe desk.cpl,screensaver,@screensaver
* Performance -  SystemPropertiesPerformance.exe
* Add or remove programs - control.exe /name Microsoft.ProgramsAndFeatures
* Keyboard - control.exe keyboard
* Keyboard - control.exe /name Microsoft.RegionalAndLanguageOptions /page /p:"keyboard"
* Network Connections - control.exe netconnections


반응형

댓글