Computer/C, CPP, MFC Updated: 2019. 9. 12. 14:58 hwaya.

CRegKey/SetValue 바꾸자

반응형

디자인변환 프로그램을 만들일이 있어서 오랜만에 C++를 만지작 만지작 하던 중,

레지스트리에 저장된 값을 불러오고, 저장할 일이 생겼다.

 

그래서 생각없이,

예전에 많이 사용하던 그때 그 코드로 사용했다.

저장할때, SetValue를...

	CRegKey RegKey;
	RegKey.Create(HKEY_CURRENT_USER, "블라블라");
	RegKey.SetValue(nConversionEnabled, "이거블라블라");
	RegKey.Close();

그리고 빌드.

 

빌드.

 

빌드...

 

으움?

 

왜!!!!!!!! C4996이 뜨냐고!!!!!

 

 

그랬다.

또, 무언인가 고전틱한 고전고전의 느낌이라 취약점이 있겠지.

오버플로우가 생길수 있을려나...

 

바로 검색!

뚜뚱!

 

해당함수는

QueryValueEx , SetvalueEx 로 대체되었다고한다.

빠르게 바꿔야지!

 

https://docs.microsoft.com/ko-kr/windows/win32/api/winreg/nf-winreg-regqueryvalueexa

 

RegQueryValueExA function (winreg.h)

Retrieves the type and data for the specified value name associated with an open registry key.

docs.microsoft.com

LSTATUS RegQueryValueExA(
  HKEY    hKey,
  LPCSTR  lpValueName,
  LPDWORD lpReserved,
  LPDWORD lpType,
  LPBYTE  lpData,
  LPDWORD lpcbData
);

 

 

https://docs.microsoft.com/ko-kr/windows/win32/api/winreg/nf-winreg-regsetvalueexa

 

RegSetValueExA function (winreg.h)

Sets the data and type of a specified value under a registry key.

docs.microsoft.com

LSTATUS RegSetValueExA(
  HKEY       hKey,
  LPCSTR     lpValueName,
  DWORD      Reserved,
  DWORD      dwType,
  const BYTE *lpData,
  DWORD      cbData
);

 


맺음말

그냥 C#이 편하다.! 어쩔수 없었다.... 코드를 다 이식하기에는

반응형

Table of Contents


    EIGHTBOX
    EIGHTBOX
    hwaya.

    programmer

    🍋일상의 소소한 순간들부터 큰 꿈까지, 호기심을 만족시킬 다양한 카테고리를 담은 블로그 입니다. 그리고, 소소한 행동에 감동하며 기뻐하고 하루하루에 감사하는 사람🌵

    Today Yesterday Total
    최신글