본문 바로가기

MFC90

[개발/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.
[개발/MFC] 실행중인 프로세스 강제 종료시키기 윈도우즈에서 실행중인 프로세스를 강제 종료시키자. 내가 사용하는 방법도 있지만 아래 소스가 잘 정리되어 있어서 그대로 스크랩했다. 출처 : http://koronaii.tistory.com/241 BOOL CGomControl::ProcessKill(CString strProcessName) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0}; hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcessSnap == (HANDLE)-1) return false; pe32.dwSize = sizeof(PROCESSENTRY32); //프로세스가 메모.. 2012. 7. 16.
[개발/MFC] 유휴 루프 처리 [개발/MFC] 유휴 루프 처리 Visual Studio .NET 2003많은 응용 프로그램은 "백그라운드에서" 처리 시간이 긴 작업을 수행합니다. 경우에 따라 이러한 작업에 다중 스레딩을 사용하면 성능을 향상시킬 수 있습니다. 스레드로 인해 개발 과정에 불필요한 오버헤드가 발생하기 때문에 MFC가 OnIdle 함수에서 수행하는 유휴 시간 작업과 같은 단순 작업에는 적당하지 않습니다. 따라서 이 문서에서는 유휴 처리를 중심으로 설명합니다. 다중 스레딩에 대한 자세한 내용은 다중 스레딩 항목을 참조하십시오.일 부 백그라운드 처리는 사용자가 응용 프로그램과 상호 작용을 하지 않는 동안에 적절하게 수행됩니다. Microsoft Windows 운영 체제용으로 개발된 응용 프로그램은 시간이 많이 걸리는 프로세스를.. 2012. 6. 1.
[개발/MFC] UTF8로 파일저장하기 [개발/MFC] UTF8로 파일저장하기 CString strFilePath = dlg.GetPathName(); // UTF8로 컨버팅 int nAllocLen = WideCharToMultiByte (CP_UTF8, 0, strSaveData, -1, NULL, 0, NULL, NULL); CHAR * pBuffer = new CHAR [nAllocLen + 1]; memset (pBuffer, 0, nAllocLen); WideCharToMultiByte (CP_UTF8, 0, strSaveData, -1, pBuffer, nAllocLen + 1, NULL, NULL); // 파일로 저장 CFile file; file.Open (strFilePath, CFile::modeCreate | CFile:.. 2012. 5. 2.
반응형