-
косяк на одной системе в 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]Может какая то прога хук криво выставила? Если такая ошибка происходит на одном компе надо попытаться понять, чем он отличается от остальных.
-
> Сергей М. © (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 работать могут? какой тулзой посмотреть?
Надо довести глючный комп настройкой служб и приложений до состояния безглючного. Если ничего не поможет - выбросить комп. Это явно в нём дело.