윈도우 10은 이전 버전의 윈도우들에 비해 사용자 편이성이 대폭 향상되었다.
UI는 기존 스타일을 대체로 따라가지만, 들여다보면 편리하게 추가된 기능들이 한둘이 아니다.
그 중 하나는 시작 프로그램 관리.
검색창에서 시작 프로그램 또는 시작 앱을 검색해서 실행하면 시작 프로그램을 손쉽게 관리할 수 있다.
그리고, 이를 쉽게 실행할 수 있는 URI도 공개했다.
ms-settings:startupapps
이를 프로그램에서 직접 사용하는 것도 대단히 쉽다.
대략 아래와 같은 한 줄이면 가능하다.
ShellExecute(NULL, NULL, _T("ms-settings:startupapps"), NULL, NULL, SW_SHOWDEFAULT);
그런데, 이를 프로그램에서 직접 사용하려면 생각을 좀 해야 한다.
우선, 이 URI는 모든 윈도우 10에서 사용할 수 있는 게 아니다.
빌드 17017 이후부터 사용이 가능하다.
그런데, 이전 글에서 언급했듯이, 윈도우의 버전 번호와 빌드 번호를 정확히 읽어내는 것이 쉽지만은 않다.
manifest를 정확히 선언하더라도, MS가 권고하는 IsWindows10OrGreater() 함수만으로는 빌드 번호를 알 수 없다.
GetVersionEx() 함수를 사용해야 되지만, 이 쪽은 deprecated 된 함수이다.
레지스트리에서 빌드 번호를 읽기에는 뭔가 좀 찝찝하다.
결국은 RtlGetVersion() 함수를 동원해야 가장 안전하고 확실하게 빌드 번호를 읽어낼 수 있는 것이다.