본문 바로가기
반응형

MFC90

[개발/VC] Windows에서 프로그램을 실행할 때 "다음 계정으로 실행" 해결 방법 [개발/VC] Windows에서 프로그램을 실행할 때 "다음 계정으로 실행" 해결 방법 Microsoft Windows 2000 및 Microsoft Windows XP에서 현재 로그온한 사용자 이외의 사용자로 프로그램을 실행할 수 있습니다. 이렇게 하려면 Windows 2000에서는 RunAs 서비스를 실행하고 있어야 하고 Windows XP에서는 Secondary Logon 서비스를 실행하고 있어야 합니다. RunAs 서비스와 Secondary Logon 서비스는 이름이 다른 동일 서비스입니다. 이 문서에서는 Windows 2000 기반 컴퓨터나 Windows XP 기반 컴퓨터에서 다음 계정으로 실행 명령을 설정하고 사용하는 방법을 단계별로 설명합니다. 컴퓨터에 관리자로 로그온하거나 관리 권한이 있는.. 2011. 4. 15.
[개발/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); //프로세스가 메모.. 2011. 4. 15.
[개발/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; string retval_; LONG lretval_; string rV.. 2011. 4. 13.
[개발/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\\*.*" // 찾아진 파일의 속성은 findFileDa.. 2011. 4. 13.
[개발/MFC] Sleep()함수 대신 프로그램 딜레이 시키기 Sleep()함수 대신 프로그램 딜레이 시키기 개발을 하다가 보면... 어떤 조건이 true가 될 때까지 기다려야 할 때가 있다. 그렇게 하려면 loop를 사용해야한다. 그리고 대기함수인 Sleep() 함수를 사용하게 되는 경우가 생기는데 이 함수를 사용하면. 모든 메세지 처리가 중단되기 때문에 프로그램 응답 없음과 같은 애매하고 난감한 사항에 처하게 된다. 그래서 이 Sleep()이라는 함수 대신에 프로세스나 쓰레드에서 사용되는 메세지는 처리되면서 특정조건이 만족할 때까지 기다릴 수 있는 함수가 필요하다. 대기시간 동안 메세지큐에서 메세지를 확인하여 처리하면서 기다리게 해준다. ///////////////////////////////////////////////////////////////// // 수.. 2011. 4. 8.
[개발/MFC] WM_TIMER 예제 [MFC] WM_TIMER 예제 // Message Map BEGIN_MESSAGE_MAP(CDlgDlg, CDialog) ... ON_WM_TIMER() END_MESSAGE_MAP() ... // Timer ID constants. const UINT ID_TIMER_ONE = 0x1001; const UINT ID_TIMER_TWO = 0x1000; // Start the timers. void CDlgDlg::StartTimer() { // Set timer for Minutes. SetTimer( ID_TIMER_ONE, 60 * 1000, 0 ); // Set timer for Seconds. SetTimer( ID_TIMER_TWO, 1000, 0 ); } // Stop the timers... 2011. 3. 23.
[개발/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::mo.. 2011. 3. 22.
[개발/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) 포인터 문자. LPCSTR : LPSTR.. 2011. 3. 19.
[개발/VC++] 운영제체 XP 이상 확인 운영체제가 XP가 아닌 그 이상인지 확인한다. 비스타, 윈도우즈7, 그 이후 버전 등 // 운영체제가 xp 이상인가. BOOL COSInstallApp::OSVersionXPOver() { DWORD dwVersion, dwMajorVersion, dwMinorVersion, dwBuild; dwVersion = GetVersion(); // Get the Windows version. dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); // Get the build number. if (dwVersion < 0x80000000) dwBuild = (DWORD)(HIW.. 2011. 3. 8.
반응형