C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[58908] 장성호님 다시 한번 봐주세요
암흑사제 [qudgh20] 1229 읽음    2009-10-28 11:52
11png 27.9KB 응용프로그램에서 화면
22png 30.2KB 프로세스에서 화면
해보니까 작업관리자의 프로세스 정보를 가져 오는거 같은데
제가 원하는것은 응용 프로그램 탭에서 상태 정보를 가져 오고 싶이요
알려주신 것을 해보니 재가 강제적으로 응답 없음으로 만든 프로그램이
알려주신 소스대로 하니까 실행중으로 나타나고 있어요 ㅠ,.ㅠ
작업 관리자에서는 응답없음으로 보여 주는데도요 ㅠ,.ㅠ

void __fastcall TForm1::Button3Click(TObject *Sender)
{
    HANDLE         hProcessSnap = NULL;
    DWORD          Return       = FALSE;
    PROCESSENTRY32 pe32         = {0};
    AnsiString                  Msg;

    hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
     //if (hProcessSnap == INVALID_HANDLE_VALUE)
     //   return (DWORD)INVALID_HANDLE_VALUE;

    pe32.dwSize = sizeof(PROCESSENTRY32);

    if (Process32First(hProcessSnap, &pe32))
    {
        DWORD Code = 0;
        DWORD         dwPriorityClass;

        do
        {
            HANDLE hProcess;
            // Get the actual priority class.
            hProcess = OpenProcess (PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
            dwPriorityClass = GetPriorityClass (hProcess);

            AnsiString Temp = pe32.szExeFile;


            if(Temp =="LensBDManager.exe")
            {
                typedef BOOL (*TIsHungAppWindow)(HWND);

                TIsHungAppWindow func;
                HWND hUser32=GetModuleHandleA("user32.dll");

                func=(TIsHungAppWindow)GetProcAddress(hUser32,"IsHungAppWindow");

                if(func(hProcess))
                    Msg.sprintf("%s Process 응답없음", Temp);
                else
                    Msg.sprintf("%s Process 실행중", Temp);

                Memo1->Lines->Add(Msg);
                CloseHandle (hProcess);
            }
        }
        while (Process32Next(hProcessSnap, &pe32));
        Return = TRUE;
    }

    CloseHandle (hProcessSnap);
}

+ -

관련 글 리스트
58900 응용 프로그램의 상태가 실행 중인지, 아님 응답 없음인지 알 고 싶습니다. 암흑사제 982 2009/10/27
58902         Re:Re:응용 프로그램의 상태가 실행 중인지, 아님 응답 없음인지 알 고 싶습니다. 장성호 1448 2009/10/27
58908             장성호님 다시 한번 봐주세요 암흑사제 1229 2009/10/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.