본문 바로가기
반응형

MFC90

[개발/MFC] LPSTR LPCTSTR 위험 CStrgin -> char 으로 변환 LPSTR LPCTSTR 위험 CStrgin -> char 으로 변환 (LPSTR)(LPCTSTR)csTest은 위험하다.!! -. 유니코드를 고려하지 않았을뿐 아니라 -. 위험하게 내부데이터를 접근합니다. CString strPP; char * chNN = (LPSTR)(LPCSTR)strPP;이렇게 해서 chNN을 CString의 포인터로 가져 옵니다. (LPSTR)(LPCSTR)strPP 이 부분 에서 이유는 MSDN을 찾아보시면 아시겠지만 CString은 const char * 으로 만 받을수 있답니다. 그래서 (LPCTSTR)strPP 이런 형식으로도 사용합니다. 물론 const char *으로 return되겠죠.. 다시 char *을 필요하신다면 char * chNN = (char *)(LPC.. 2016. 2. 4.
[개발/VC++/MFC] CString ↔ char 변환 CString ↔ char 변환 1. CString을 char으로 변환CString csTest;csTest = "I Love You";char* cTest = LPSTR(LPCTSTR(csTest)); 2. char을 CString으로 변환char cTest[10] = "I Love You";CString csTest;csTest.Format("%s", cTest); 출처 : http://blog.daum.net/sjdody/5693925 2016. 2. 4.
[개발/Visual C++] MFC Active 생성 MFC Active 생성 1. Workspace 생성 MFC ActiveX control wizard를 선택. 2. Property 생성(메뉴 View > ClassWizard) 1) ClassWizard의 Automation tab에서 선택 2) Class name에서 Control class 선택(...Ctrl) 3) (Add Property...) 버튼 클릭 3) External name: ActiveX를 사용하는 프로그램에서 사용할 property name 4) Type: property type 5) Variable name: ActiveX 내부에서 사용할 property 변수명 6) Notification function: property 값이 변경되면 실행되는 함수. 별로 사용하지 않는다. .. 2015. 11. 9.
[개발/보안] Windows에서 프로그램을 실행할 때 "다음 계정으로 실행" 해결 방법 [개발/보안] Windows에서 프로그램을 실행할 때 "다음 계정으로 실행" 해결 방법 Microsoft Windows 2000 및 Microsoft Windows XP에서 현재 로그온한 사용자 이외의 사용자로 프로그램을 실행할 수 있습니다. 이렇게 하려면 Windows 2000에서는 RunAs 서비스를 실행하고 있어야 하고 Windows XP에서는 Secondary Logon 서비스를 실행하고 있어야 합니다. RunAs 서비스와 Secondary Logon 서비스는 이름이 다른 동일 서비스입니다. 이 문서에서는 Windows 2000 기반 컴퓨터나 Windows XP 기반 컴퓨터에서 다음 계정으로 실행 명령을 설정하고 사용하는 방법을 단계별로 설명합니다. 컴퓨터에 관리자로 로그온하거나 관리 권한이 있는.. 2014. 6. 18.
[개발/MFC] VC++/MFC API 팁 [개발/MFC] VC++/MFC API 팁 1. 특정 디렉토리 뒤지기 2. API를 이용하는 유니코드와 ANSI 문자열간의 변환 방법 3. 윈도우 탐색기로부터의 Drag&Drop을 받으려면 4. 시스템의 모든 드라이브 알아내기 5. 레지스트리 읽기/쓰기 1. 특정 디렉토리 뒤지기 지정한 디렉토리에 있는 모든 파일을 찾아내는 코드를 만들려면 어떻게 해야 합니까 ?이 때 사용할 수 있는 API가 바로 FindFirstFile과 FindNextFile, FindClose라는 API들입니다. 사용 예제는 다음과 같습니다.WIN32_FIND_DATA findFileData; HANDLE hFileHandle;// szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*" // 찾.. 2012. 11. 15.
[개발/MFC] Thread, Process ID & Handle Thread, Process ID & Handle 윈도우즈용 응용프로그램, ActiveX, DLL, Windows Service 등을 만들기 위해서 알아두어야 할 기본적인 지식들 출처 : http://radrome.springnote.com/pages/2213794 윈도우, 프로세스, 모듈 - 핸들, ID, 파일이름 파일이름 만으로 전체 경로 얻기 GetFullPathName( sFileName, _MAX_PATH, sFullFull, 0); -> 문제 : 현재 경로에 파일름만 붙인다. GetFullPath()(만듬) : 파일일 현재 실행된 파일의 경로에 있는 검사해서 붙인다. * 윈도우 윈도 Instance : (SDK) GetWindowLong(hWndCur, GWL_HINSTANCE), (MFC)H.. 2012. 9. 25.
[개발/VC] 레지스트리 키 열기, 닫기, 목록 가져오기, 키 값 가져오기 [개발/VC] 레지스트리 키 열기, 닫기, 목록 가져오기, 키 값 가져오기 레지스트리 키 열기, 닫기 키 목록 가져오기, 키에 해당하는 값 가져오기(GetText, GetDword 외 필요하시면 추가하시면 됩니다.) 키하위의 값목록 가져오기.이와 같은 동작을 하는 함수만 아래 나열. typedef struct REGVALUE_T { enum { TYPE_NONE, TYPE_DWORD, TYPE_SZ }type; string key; union { DWORD val_dword; char *val_sz; }value; }RegValue, *PRegValue; typedef list RegValueList; HKEY RegCtrl::OpenKey(string keyName) { HKEY hKey = NULL;.. 2012. 9. 20.
[개발/MFC] 프로세스 강제 종료 두번째 내가 특정 프로그램명을 알고 있을 때 그 특정 프로그램의 윈도우 핸들을 구할 수 있다. 그러면, 핸들에서 프로세스 ID를 구할 수 있게 된다. 그 다음 순서는 분명하다. 프로세스를 강제로 종료시키는 것이다. 그럼 아래 소스를 살펴보자. HWND hOsk=::FindWindow(NULL, "SBRICH"); if(hOsk) { CWnd* p = CWnd::FromHandle(hOsk); CString sT; p->GetWindowTextA(sT); DWORD pid2; DWORD pid = GetWindowThreadProcessId(hOsk, &pid2); // 바로서치 핸들로 프로세스 id를 구한다. HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, .. 2012. 9. 20.
[개발/MFC] 날짜계산, 시간계산 해보자 [개발/MFC] 날짜계산, 시간계산 해보자 MFC에서 현재 시간을 기준으로 시간계산을 하는 방법을 알아보자.아래의 예제만 알면... 더하고 빼고 차이를 계산하는 건 문제가 아니다.먼저 현재 날짜와 시간을 제대로 얻어야 한다. 처음 사용한다면 변수에 날짜와 시간을 표시하는 과정을 갖고 확인하는 습관을 들이자. 그럼 아래에 예제가 있다.오늘로부터 3일 뒤의 날짜를 알고 싶다. CString s; CTime ctTime = CTime::GetCurrentTime(); s.Format("%04d.%02d.%02d", ctTime.GetYear(), ctTime.GetMonth(), ctTime.GetDay()); CTimeSpan tsAddTime(3, 0, 0, 0); ctTime += tsAddTime; /.. 2012. 9. 11.
반응형