본문 바로가기

Study178

Debug Assertion Failed! File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp Line: 906 (쓰레드에 UpdateData 호출시)) Debug Assertion Failed! File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp Line: 906 UpdateData(FALSE)를 호출시 위와 같은 에러가 발생한다면?? 음..뭘까..왜 저런 에러가 나지..찾아가보니 발생한 곳은 UpdateData(FALSE) 왜 그럴까?? 위치는 쓰레드에서 저 함수를 호출하고 있었던것.. 구글링으로 찾아보니 많은 자료가 수루룩... 근데 해결 방법은 있는데 왜 그런지에 대한 명쾌한 답은 보이지 않는구만..ㅠㅠ 쓰레드에서 UI직접 제어하면 안된다고 하는데 // Note: if either of the above asserts fire and you are // writing a multithreade.. 2012. 1. 11.
레지스트리에 있는 값의 갯수 가져오기 (레지스트리의 정보를 알아보자) 작업을 하다 보면 레지스트리가 가진 데이터의 갯수 ,하위키의 이름, 하위키의 갯수등등 정보를 알아와야 하는 경우가 있다. 이때 유용하게 사용할 수 있는 API함수가 있다. 바로 아래의 함수. LONG RegQueryInfoKey( HKEY hKey, LPWSTR lpClass, LPDWORD lpcbClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime.. 2012. 1. 3.
헝가리안 표기법 코드를 짤때 이 변수가 어떤변수인지 확인하기 위해서는 변수의 선언 부분으로 이동하던지 아니면 어시스트 같은걸 설치해서 보던지... 비쥬얼 어시스트 같은 프로그램이 워낙 잘되어 있어서 변수 선언이나 이런 부분에는 전혀 신경쓰지 안았는데.. 음...아무래도 변수앞에 이것이 어떤걸 나타내는 변수인지는 알수 있게하는게 코드의 가독을 높이는데 훨씬 도움을 줄거 같았다... 그래서 헝가리안 표기법을 찾아서 퍼왔다~~ 앞으로 코딩을 할때는 헝가리안 표기법에 따라서 작성을 할 예정... 출처: http://www.sosori.com/2009/09/%ED%97%9D%EA%B0%80%EB%A6%AC%EC%95%88-%ED%91%9C%EA%B8%B0%EB%B2%95hungarian-notation.html Prefix Da.. 2012. 1. 3.
현재 로그인한 계정명 얻기, 현재 계정이 admin 계정인지 확인하는 방법 우와..이것참..이 간단한걸 한참 삽질했구만.;; 프로그램을 만들다보면 현재 로그인된 계정명과 현재 로그인한 계정이 admin계정인지를 확인해야 하는 경우가 있다. 이때 유용하게 쓸 수 있는 API함수가 존재하는데 그건 아래와 같다. 1. 현재 로그인한 계정명 얻기 (이놈은 찾기 쉬웠다. ) 간단히 코드를 보면 아래처럼 하면 로그인한 계정명을 얻어올 수 있다. //코드 ..... char Login_AccountName[120]={0,}; DWORD size_b= 120; GetUserNameA(Login_AccountName, &size_b); //코드 끝 위에 처럼하면 Login_AccountName 버퍼에 현재 로그인된 계정명이 들어오는 것을 확인 할 수 있다. 2. 현재 로그인한 계정이 Admin.. 2011. 12. 28.