윈 도 우 C++ 고수님. 도움 좀 부탁드립니다
2021.09.22 12:21
윈도우 10으로 넘어오면서 프로그래밍 막히는 부분이 점점 많아지네요 -_-;;;;
레지스트리 이용하자니 프리뷰 빌드에선 안되는 경우도 있고
윈10 api 이용하자니 코드가 지저분하게 길어지는 문제가 있더군요.
윈도우 10 보다 아래 버전인지 아닌지 C++로 쉽게 알아내는 방법 없을까요?
C++ 전문가이신 분 도움 좀 부탁드립니다.
댓글 [6]
-
내꼬 2021.09.22 13:06 -
harman777 2021.09.22 14:38
제가 C++로 작업해야 해서요 -_-;;;;
감사합니다.
-
kernel 2021.09.22 14:11
Windows OS 내부구조를 알고있으면...
아래와 같이 C++ 람다 이용해서 간단하게 알아낼 수 있죠.
if (auto _{[](){return (*(int*)(0x7FFE026C)) - 012 < 0;}};_())
printf( "윈도우즈10 보다 아래 버전 임\n" );
else
printf( "윈도우즈10 또는 그 이상 버전 임\n" );
-
kernel 2021.09.22 14:15
참고로 위 코드는 32비트와 64비트에서 모두 동작함.
-
kernel 2021.09.22 14:17
VC++ 컴파일러 옵션에서 랭귀지 스펙을 C++17 이상으로 설정해서 컴파일하면 됌.
-
harman777 2021.09.22 14:42
감사합니다. kernel님.
정상 동작하는걸 확인했습니다.
원리는 모르겠지만 잘되네요. 역시 고수님. ^^;;;;;;
정말 감사합니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
98141 | 윈 도 우| KB5030509 이 업데이트 구성요소 단독 파일로만 어디서 받... [3] | 마르코 | 368 | 10-24 |
98140 | 모 바 일| 배터리 탈착되는 가장 최근 모델은 뭐가 있나요? [4] | 닷군 | 369 | 10-24 |
98139 | 기 타| ChipGenius 안전한가요? [1] | 달그림 | 151 | 10-24 |
98138 | 하드웨어| 마우스가 바닥재질에 따라 버벅거림 현상이 있나요 [3] | ccnet | 329 | 10-24 |
98137 | 하드웨어| USB 불량섹터를 수리하는 프로그램을 추천 해주세요, [2] | 좋은데이 | 536 | 10-24 |
98136 | 윈 도 우| 메모리를 추가로 달았는데..용량이 이상합니다. [11] | ㅁㅣㄹㅐ | 578 | 10-24 |
98135 | 소프트웨어| WinosInfo 한글화가 가능할까요... [14] | sunshine | 449 | 10-24 |
98134 | 윈 도 우| PE에 크롬 확장프로그램 설정.... [6] | 사랑해요™ | 315 | 10-24 |
98133 | 소프트웨어| 윈도우10 크롬 시크릿탭을 작업표시줄에 고정하는 방법? [2] | 실시간 | 133 | 10-24 |
98132 | 윈 도 우| KJ CHUMPE 공유 해주실분 계실까요? [3] | 아입비 | 542 | 10-24 |
98131 | 기 타| 문의 [1] | 날개잃은통딹 | 676 | 10-23 |
98130 | 하드웨어| 헤드폰으로 고품질 음악 감상을 하고 싶습니다. [9] | billy | 541 | 10-23 |
98129 | 윈 도 우| 크롬으로 유튜브 [6] | 덥다 | 479 | 10-23 |
98128 | 윈 도 우| 윈도우11 최신 업데이트 후, 무한정 다시 시작 알림 [2] | 철이코알라 | 636 | 10-23 |
98127 | 소프트웨어| OCR 프로그램에서 산스크리트어 영어음역을 읽는 방법 질문... | 파풍초 | 143 | 10-23 |
98126 | 윈 도 우| 일본판 윈도우 10/11 마소 준정버전말고... [1] | 도파니 | 350 | 10-23 |
98125 | 소프트웨어| mp3를 자르는 프로그램을 찾습니다 [8] | brucex | 522 | 10-23 |
98124 | 윈 도 우| 윈도우10 시작메뉴 크롬 아이콘 사라짐 [1] | comnews | 297 | 10-23 |
98123 | 윈 도 우| 시작(Win & R)에서 실행한 기록을 남기려면 어떻게해야... [3] | 『ⓖⓤⓝ』 | 324 | 10-22 |
98122 | 소프트웨어| rufus 4.3 버젼오류 | 난체 | 681 | 10-22 |
프리뷰에서 안되는 경우는 레지가 삭제 되었거나 다른 경로로 바뀌었을 경우
api 이용시 코드가 많아지는 것 또한 맞는 말이구요.
C++로 작성하면 더 좋겠지만 단순 한것 하나 만들려고 해도 많은 불편함이 있어 저는 적응을 못해 c#으로 바꾸었습니다.
OS 버전 체크는 다양하지만 제 경우는 빌드넘버로 버전 체크 하였습니다.
Windows 10 - 릴리스 정보 | Microsoft Docs
Windows Version Numbers - Version and build numbers of Microsoft Windows (gaijin.at)