본문 바로가기
반응형

IT-개발,DB729

[개발/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, .. 2011. 4. 15.
[개발/MFC] 유휴 루프 처리 유휴 루프 처리 Visual Studio .NET 2003 많은 응용 프로그램은 "백그라운드에서" 처리 시간이 긴 작업을 수행합니다. 경우에 따라 이러한 작업에 다중 스레딩을 사용하면 성능을 향상시킬 수 있습니다. 스레드로 인해 개발 과정에 불필요한 오버헤드가 발생하기 때문에 MFC가 OnIdle 함수에서 수행하는 유휴 시간 작업과 같은 단순 작업에는 적당하지 않습니다. 따라서 이 문서에서는 유휴 처리를 중심으로 설명합니다. 다중 스레딩에 대한 자세한 내용은 다중 스레딩 항목을 참조하십시오. 일 부 백그라운드 처리는 사용자가 응용 프로그램과 상호 작용을 하지 않는 동안에 적절하게 수행됩니다. Microsoft Windows 운영 체제용으로 개발된 응용 프로그램은 시간이 많이 걸리는 프로세스를 여러 개의 .. 2011. 4. 15.
[개발/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.
반응형