[태그:] C Language


  • C++에서 UTF8, Unicode, Ansi 문자열 변환..

    이거 할때마다 인터넷 검색하는거 귀찮아서 여기 기록해놓음 Ansi를 UTF-8로 변환 char* ANSIToUTF8(const char * pszCode){ int nLength, nLength2; BSTR bstrCode; char* pszUTFCode = NULL; nLength = MultiByteToWideChar(CP_ACP, 0, pszCode, lstrlen(pszCode), NULL, NULL); bstrCode = SysAllocStringLen(NULL, nLength); MultiByteToWideChar(CP_ACP, 0, pszCode, lstrlen(pszCode),… “read more”


  • Windows 종료 함수 WinAPI

    회사에서 코딩하다가 하드웨어 스펙이 딸려서 플그램이 48시간 정도 지나면 OS가 뻗어버리는 문제가 발생해서 매일 자정이 되면 셧다운 시켜버리는 방식을 도입 -_-; 그래서 찾은 코드 여기에 기록해 놓는다. XP에서는 그냥 함수 호출 하면 되는데 비스타 부터는 관리자 권한을 받아야지만 셧다운됨. 그래서… “read more”


  • 현재 실행 경로 가져오기

    자주 쓰는 기능인데 할때 마다 예전에 만든 소스 찾는거 귀찮아서 여기에 정리한다. wchar_t CurrentTempDIR[_MAX_PATH]; GetModuleFileNameW(NULL,CurrentTempDIR,_MAX_PATH); std::wstring strCurrentPath = CurrentTempDIR; std::wstring::size_type tmpPost; tmpPost =strCurrentPath.rfind(L”\\”,strCurrentPath.size()); strCurrentPath = strCurrentPath.substr(0, tmpPost); 이건 유니코드 버전 char CurrentTempDIR[_MAX_PATH]; GetModuleFileNameA(NULL,CurrentTempDIR,_MAX_PATH); std::string strCurrentPath = CurrentTempDIR; std::string::size_type tmpPost; tmpPost… “read more”


  • CreateProcess 를 할때 Unicode 프로젝트에서 문제점

    인스톨러 관련해서 처음 초기화 작업하는 어플을 작성하다보니 다른 프로세스를 순차적으로 실행하는데 이게 안되는거다 ㅜ.ㅜ; 이전엔 잘 쓰던건데 왜 안되는지 삽질 삽질 삽질하다가 방법을 찾았는데 Unicode 프로젝트에서는 아래와 같은 방법으로 하면 프로세서 생성이 안된다. STARTUPINFO si; PROCESS_INFORMATION pi; memset( &si, 0,… “read more”


  • MFC 중복실행 방지

    //중복실행방지코드(방법뮤텍스활용) HANDLE   hMutex = ::CreateMutex( NULL, TRUE, _T(“Linsoo”) ); //이미만들어져있다면Instance가존재 if( ERROR_ALREADY_EXISTS == ::GetLastError() ){ CloseHandle( hMutex ); return FALSE; } 자주 쓰게 되서 블로그에 기록해 놓음 “read more”