Конференция "WinAPI" » GetLastInputInfo... [D7]
 
  • istok20 © (30.12.11 16:19) [0]
    косяк на одной системе в Win7 - GetLastInputInfo постоянно возвращает 0. у сотен других юзеров такой проблемы нет. программа запускается в сессии пользователя. думал на стороннее ПО, но в safe mode также возвращает только 0..


    function TForm1.GetLastDelayPeriod: Integer;   //secs
    var
     info: TLastInputInfo;
    begin
     info.cbSize := SizeOf(TLastInputInfo);
     if GetLastInputInfo(info) then
       Result := (GetTickCount - info.dwTime) div 1000
     else
       Memo1.Lines.Add('GetLastInputInfo failed, getlasterror='+inttostr(GetLastError));
    end;



    куда копать?

    спасибо
  • Сергей М. © (30.12.11 16:30) [1]

    > else
    >     Memo1.Lines.Add('GetLastInputInfo failed, getlasterror='+inttostr(GetLastError));
    >


    Смотрю в msdn и в упор не вижу где там сказано про то что причину отказа ф-ции следует черпать из GetLastError

    Return value

    If the function succeeds, the return value is nonzero.

    If the function fails, the return value is zero.
  • Dimka Maslov © (01.01.12 18:14) [2]
    Может какая то прога хук криво выставила? Если такая ошибка происходит на одном компе надо попытаться понять, чем он отличается от остальных.
  • istok20 © (01.01.12 20:18) [3]

    > Сергей М. ©   (30.12.11 16:30) [1]


    согласен, я на всякий случай, по привычке)


    > Dimka Maslov ©   (01.01.12 18:14) [2]


    а они и в safe mode работать могут? какой тулзой посмотреть?
  • Dimka Maslov © (08.01.12 12:22) [4]

    > а они и в safe mode работать могут? какой тулзой посмотреть?


    Надо довести глючный комп настройкой служб и приложений до состояния безглючного. Если ничего не поможет - выбросить комп. Это явно в нём дело.
 
Конференция "WinAPI" » GetLastInputInfo... [D7]
Есть новые Нет новых   [134430   +4][b:0][p:0.001]