반응형 IT-개발,DB729 [개발/C++] 작업표시줄 정보 및 작업영역 구하기 SHAppBarMessage 작업표시줄 정보 및 작업영역 구하기 SHAppBarMessage 함수 http://msdn.microsoft.com/en-us/library/bb762108(VS-85).aspx How to find the edge of a task bar http://support.microsoft.com/kb/179908/en-us MinitorFromRect 함수 http://msdn.microsoft..com/en-us/library/dd145063(VS.85).aspx GetMonitorInfo 함수 http://msdn.microsoft..com/en-us/library/dd144901(VS.85).aspx 1. 먼저 작업표시줄의 위치와 영역을 알아야. SHAppBarMessage.. 2012. 1. 13. [개발/MFC] 스트링 형변환 [개발/MFC] 스트링 형변환 문자관련 함수 MBCS(multi-byte character set) : ASCII 코드 문자열을 쓰는 함수 WCS(wide character string) : 유니코드 문자열을 쓰는 함수 함수 제일 뒤에 ASCII를 나타내는 A와 Wide Character를 나타내는 W를 붙여서 구분함. 예) GetCurrentDirectoryA ... 예외) cout, wcout LPCTSTR(Long Pointer Constant TCHAR String) 여기서 TCHAR 라는 것은 typedef 유니코드가 설정되어 있으면 2바이트로(wchar_t) 아니면 기존 char 방식인 1바이트로(char) 한다는 것을 의미. LPSTR : 8비트 윈도우 캐릭터 스트링(string) 포인터 문.. 2012. 1. 7. [개발/MFC] error LNK2005: --- .obj에 이미 정의되어 있습니다. 오류 CRT(C 런타임) 라이브러리와 MFC(Microsoft Foundation Class) 라이브러리가 잘못된 순서로 링크되면 다음과 비슷한 LNK2005 오류가 발생할 수 있습니다. nafxcwd.lib(afxmem.obj) : 오류 LNK2005: "void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z)이(가) LIBCMTD.lib(new.obj)에 이미 정의되어 있습니다. nafxcwd.lib(afxmem.obj) : 오류 LNK2005: "void __cdecl operator delete(void *)"(??3@YAXPAX@Z)이(가) LIBCMTD.lib(dbgnew.obj)에 이미 정의되어 있습니다. nafxcwd.lib(afxmem.obj) : .. 2012. 1. 5. [개발/C++] 형 변환 char* to string or string to char* 형 변환 char* to string string temp_file; char szPath[256] = "C:\\Projects"; temp_file = string(szPath); temp_file += string ("\\file.tmp"); string to char* string temp_file = "\\file.tmp"; char szPath[256] = "C:\\Projects"; strcat(szPath, temp_file.c_str()); 2012. 1. 3. [개발/C++] 문자열 치환/변환 #include #include #include char *replaceAll(char *s, const char *olds, const char *news); void main(void){ char s[] = "봉숭아 학당! 봉숭아 학당! 봉숭아 학당! 봉숭아 학당!"; char *s2; printf("원본: %s\n", s); s2 = replaceAll(s, "봉숭아", "맹구"); // 에러가 있으면 NULL 을 리턴. 에러가 없으면 결과 출력 (s2 != NULL) ? printf("치환: %s\n", s2) : fputs("Replace String Error...\n", stderr); } char *replaceAll(char *s, const char *olds, const char *n.. 2012. 1. 3. [개발/VC++] warning LNK4098: 'libcmt.lib' defaultlib가 다른 라이브러리와 충돌합니다 warning LNK4098: 'libcmt.lib' defaultlib가 다른 라이브러리와 충돌합니다. /NODEFAULTLIB:library를 사용하십시오. 경고 메시지 처리 해당 프로젝트의 속성을 수정하여 경고를 대처할 수 있다. 아래의 프로젝트 속성 화면에서 링커-->입력 페이지로 이동한 후, 특정 라이브러리 무시 입력란에 해당 경고 메시지에 포함된 *.lib 파일을 입력한다. 다시 컴파일 해보면 경고 메세지가 발생하지 않는다. 2012. 1. 2. [개발/C++] error LNK2019: __imp__PathRemoveFileSpecA@4 외부 기호 에러 메세지 " error LNK2019: __imp__PathRemoveFileSpecA@4 외부 기호 " 오류error LNK2019: __imp__PathRemoveFileSpecA@4 외부 기호(참조 위치: "char * __cdecl GetAppPath(char *)" (?GetAppPath@@YAPADPAD@Z) 함수)에서 확인하지 못했습니다.Func.obj 는 해당 함수를 사용하는데 있어서 라이브러리가 링크되지 않아서 발생하는 에러메세지 입니다. 이 때에는 아래와 같은 library 링크를 추가해주면 됩니다. #pragma comment(lib, "shlwapi.lib") 함수 PathAddBackslashA 이와 같은 것도 마찬가지 " error LNK2019: __imp__PathAddB.. 2011. 12. 28. [개발/VC++] pragma 지시어에 대하여 pragma 란 무엇인가? #pragma는 define 이나 include와 같이 #으로 시작하는 전처리(precompiler) 구문의 하나이다. 1. #pragma once - 컴파일러에게 한번만 컴파일 하라고 알려준다. 예전에는 #define으로 각헤더에서 최초 구동시 값을 정의 하게 하는 방법으로 해결했지만 근래에는 한 줄로 해결 합니다. - #define 으로 같은 효과내기. #if !defined (_IS_THIS_HEADER_INCLUDED) #define _IS_THIS_HEADER_INCLUDED #endif 2. #pragma comment() - 기본 형식 : #prgma comment( comment-type, comment string? ) [] 안의 구문은 comment-type에.. 2011. 12. 28. [개발/VC++] Message: 'This function or variable may be unsafe. Consider using wcsncpy_s instead Message: 'This function or variable may be unsafe. Consider using wcsncpy_s instead. 위의 경고 메세지에 대한 대처 방법입니다. 소스 상단에 #pragma warning(disable:4996) 를 추가해서 경고메세지가 나타나지 않게 하는 방법과 일반적인 방법으로는 CRT 헤더파일 선언에 앞서서 #define _CRT_SECURE_NO_DEPRECATE 해 주기입니다. #define _CRT_SECURE_NO_DEPRECATE "C/C++" --> "Command Line" 3. In "Additional options" textbox enter the folowing text /D "_CRT_SECURE_NO_DEPRECATE" 2011. 12. 28. 이전 1 ··· 36 37 38 39 40 41 42 ··· 81 다음 반응형