본문 바로가기

코드 조각31

ProcessId로 Application의 Hung체크 Process - ID 로 Window-Application의 Hung체크 하기 다음 두가지 기능으로 Process-Window의 Hung을 체크한다.1) IsHungWindow 로 "응답없음" 체크 2) EnumDesktopWindow 로 Process의 Window-Handle 찾기 //--------------------------------------------------------------------------- typedef struct _PROC_INFO { long iProcessId; HWND hWnd; }PROC_INFO; //--------------------------------------------------------------------------- BOOL __stdcal.. 2012. 4. 24.
Process 실행 체크 2 바로 앞에 실행파일 체크 방법에는 문제점이 조금 있는데.. 대소문자 구분 , Process_name은 똑같지만 실행파일 경로가 다른 경우에 대한 제대로된 체크를 하지 못한다. 실행파일 경로까지 체크하는 프로세스 실행 체크 함수는... //--------------------------------------------------------------------------- #include #include "Psapi.h" #pragma link "psapi.lib" bool __fastcall IsRunProcessEx( AnsiString sFullExeName ) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); PROCESSEN.. 2012. 4. 23.
Process 실행 체크 1 초간단 Process실행 체크 함수입니다. #include bool __fastcall IsRunProcess( AnsiString sExeName ) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); Process32First(hSnapshot,&pe32); do { AnsiString sProcessExe = pe32.szExeFile; if(sExeName == sProcessExe ) { CloseHandle(hSnapshot); return true; } } while(Process32Next(hSnapshot,&pe3.. 2012. 4. 23.
디버거로 실행중인지 체크 함수(IsDebuggerPresent) IsDebuggerPresent간단함 함수인데.. 이 함수를 잘 활용하면Debug-Run 으로 테스트 중일때랑 아닐때 //--------------------------------------------------------------------------- void __fastcall TF_Main::FormCreate(TObject *Sender) { if(IsDebuggerPresent()) { //Design-time에 Timer의 Interval은 180000(3분)으로 되어있음 TM_Checker->Interval=10000;//10초로 설정 } } 위 FormCreate에 위와같이 코딩하면..Test를 위해 Timr의 Interval을 10초로 짧게 설정해서 테스트 가능하다Debugger(C+.. 2012. 4. 23.
테이블 이름 바꾸기 [SQL] firebird DB에서 테이블을 만들면 NEW_TABLE 이라는 이름으로 생성된다.한번 생성되고 나면 테이블 이름 바꾸는것이 쉽지가 않은데..처음 생성하고 레코드나 관련 객체가 없을때는 아래와 같은 SQL을 실행하여 바꿀수 있다.IBExpert에서 F12 눌러서 SQL Editor 를 실행하고 아래 구문을 하나씩 실행하면된다. 테이블 처음 만들면 바로 원하는 이름으로 수정하는 습관이 필요!! update rdb$relation_fields set rdb$relation_name='TABLE_NEW' where rdb$relation_name='TABLE_OLD'; commit; update rdb$relations set rdb$relation_name='TABLE_NEW' where rdb$relat.. 2012. 4. 18.