نمایش نتایج 1 تا 6 از 6

نام تاپیک: تشخیص هنگ شدن برنامه

  1. #1
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    تشخیص هنگ شدن برنامه

    با سلام
    چطور میشه در ویندوز 10 64 بیت فهمید که یک برنامه هنگ (Not Responding) کرده؟

  2. #2

    نقل قول: تشخیص هنگ شدن برنامه

    سلام. بهش مسیج میدید اگر پاسخی نداد هنگ است.
    فرض بر اینه که برنامه رو خودتون نوشته باشید و پاسخ مناسبی برای مسیج مزبور بدهید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: تشخیص هنگ شدن برنامه

    ممنون از پاسختون

    من میخوام هر برنامه‌ای رو بتونم کنترل کنم و محدود به برنامه‌های خودم نباشه.
    یه کدهایی تو نت پیدا کردم ولی در ویندوز ۱۰ ۶۴بیت کار نکرد. دستور sendMessageTimeout

  4. #4
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: تشخیص هنگ شدن برنامه

    من این کد رو دارم
    function AppIsResponding(ClassName: string): Boolean;
    const
    { Specifies the duration, in milliseconds, of the time-out period }
    TIMEOUT = 50;
    var
    Res: DWORD;
    h: HWND;
    begin
    h := FindWindow(PChar(ClassName), nil);
    if h <> 0 then
    Result := SendMessageTimeOut(H,
    WM_NULL,
    0,
    0,
    SMTO_NORMAL or SMTO_ABORTIFHUNG,
    TIMEOUT,
    Res) <> 0
    else
    ShowMessage(Format('%s not found!', [ClassName]));
    end;

    ولی نمیدونم چطور باید کلاس فایل exe رو پیدا کنم.

  5. #5
    کاربر دائمی آواتار seyed_farid
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    459

    نقل قول: تشخیص هنگ شدن برنامه

    اگه کسی در این زمینه میتونه راهنمایی کنه ممنون میشم.

  6. #6

    Lightbulb نقل قول: تشخیص هنگ شدن برنامه


    // For Win9x/me
    Function isapprespondig9x (dwthreadid: DWORD): Boolean;
    Type
    Tishungthread = function (dwthreadid: DWORD): bool; stdcall;
    Var
    Huser32: thandle;
    Ishungthread: tishungthread;
    Begin
    Result := true;
    Huser32 := getmodulehandle ('user32. dll ');
    If (huser32> 0) then
    Begin
    @Ishungthread := getprocaddress (huser32, 'ishungthread ');
    If assigned (ishungthread) then
    Begin
    Result := Not ishungthread (dwthreadid );
    End;
    End;
    End;

    // For Win NT/2000/XP
    Function isapprespondignt (WND: hwnd): Boolean;
    Type
    Tishungappwindow = function (WND: hwnd): bool; stdcall;
    Var
    Huser32: thandle;
    Ishungappwindow: tishungappwindow;
    Begin
    Result := true;
    Huser32 := getmodulehandle ('user32. dll ');
    If (huser32> 0) then
    Begin
    @Ishungappwindow := getprocaddress (huser32, 'ishungappwindow ');
    If assigned (ishungappwindow) then
    Begin
    Result := Not ishungappwindow (WND );
    End;
    End;
    End;

    Function isapprespondig (WND: hwnd): Boolean;
    Begin
    If not iswindow (WND) then
    Begin
    Showmessage ('recorct window handle! ');
    Exit;
    End;
    If win32platform = ver_platform_win32_nt then
    Result := isapprespondignt(WND)
    Else
    Result := isapprespondig9x(getwindowthreadprocessid (WND, nil ));
    End;

    // Example: Check if word is hung/responding
    procedure TForm1.Button1Click(Sender: TObject);
    VaR
    Res: DWORD;
    H: hwnd;
    Begin
    // Find word by classname
    H := findwindow (pchar('App'), nil );
    If H <> 0 then
    Begin
    If isapprespondig(h) then
    Showmessage ('App is responding! ')
    Else
    Showmessage ('App is not responding! ');
    End
    Else
    Showmessage ('App is not open! ');
    End;

تاپیک های مشابه

  1. تشخیص روشن شدن صفحه نمایش
    نوشته شده توسط ali.s7092 در بخش Android Studio
    پاسخ: 4
    آخرین پست: دوشنبه 06 مهر 1394, 10:30 صبح
  2. سوال: نحوه تشخیص اتصال فلش مموری به کامپیوتر و تشخیص برنامه از داخل فلش مموری؟
    نوشته شده توسط asgharjoon2 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 11
    آخرین پست: پنج شنبه 31 فروردین 1391, 12:13 عصر
  3. پاسخ: 20
    آخرین پست: چهارشنبه 24 اسفند 1390, 16:45 عصر
  4. تشخیص مکان
    نوشته شده توسط reza10203045 در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: یک شنبه 11 اسفند 1387, 23:01 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •