Có cách nào để lấy thời gian không hoạt động của máy, như trong khoảng thời gian máy không được sử dụng, tính bằng phút/giờ bằng Powershell hoặc một tập tin batch?Lấy thời gian rảnh của máy
Trả lời
Đây là giải pháp PowerShell sử dụng API Win32 GetLastInputInfo.
Add-Type @'
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace PInvoke.Win32 {
public static class UserInput {
[DllImport("user32.dll", SetLastError=false)]
private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
[StructLayout(LayoutKind.Sequential)]
private struct LASTINPUTINFO {
public uint cbSize;
public int dwTime;
}
public static DateTime LastInput {
get {
DateTime bootTime = DateTime.UtcNow.AddMilliseconds(-Environment.TickCount);
DateTime lastInput = bootTime.AddMilliseconds(LastInputTicks);
return lastInput;
}
}
public static TimeSpan IdleTime {
get {
return DateTime.UtcNow.Subtract(LastInput);
}
}
public static int LastInputTicks {
get {
LASTINPUTINFO lii = new LASTINPUTINFO();
lii.cbSize = (uint)Marshal.SizeOf(typeof(LASTINPUTINFO));
GetLastInputInfo(ref lii);
return lii.dwTime;
}
}
}
}
'@
Và một cách sử dụng ví dụ:
for ($i = 0; $i -lt 10; $i++) {
Write-Host ("Last input " + [PInvoke.Win32.UserInput]::LastInput)
Write-Host ("Idle for " + [PInvoke.Win32.UserInput]::IdleTime)
Start-Sleep -Seconds (Get-Random -Minimum 1 -Maximum 5)
}
Cảm ơn rất nhiều! Chính xác những gì tôi đang tìm kiếm. Làm thế nào tôi có thể định dạng đầu ra sao cho nó có thể đọc được - tức là 4 giờ, 15 phút, 21 giây? Cảm ơn một lần nữa! – StrattonL
Sử dụng [định dạng ngày] (http://technet.microsoft.com/en-us/library/ee692801.aspx) –
Tôi đã cập nhật ví dụ để thể hiện nhiều khả năng của nó hơn. –
$Last = [PInvoke.Win32.UserInput]::LastInput
$Idle = [PInvoke.Win32.UserInput]::IdleTime
$LastStr = $Last.ToLocalTime().ToString("MM/dd/yyyy hh:mm tt")
Write-Host ("Last user keyboard/mouse input: " + $LastStr)
Write-Host ("Idle for " + $Idle.Days + " days, " + $Idle.Hours + " hours, " + $Idle.Minutes + " minutes, " + $Idle.Seconds + " seconds.")
Hãy thử điều này - mặc dù chạy xa nó có thể chạy trên một phiên khác nhau và do đó một thời gian nhàn rỗi khác nhau?
- 1. iOS tùy chỉnh thời gian rảnh rỗi
- 2. Năm trong Thời gian rảnh rỗi
- 3. Bắt Hệ thống Thời gian rảnh với Qt
- 4. Đặt thời gian của máy C#
- 5. Thời gian chờ của máy chủ Restlet
- 6. Thời gian chờ của máy chủ SQL
- 7. Truy xuất thời gian rảnh/bận cho nhiều địa chỉ email
- 8. Kiểm tra xem ứng dụng có rảnh trong một khoảng thời gian không và khóa nó
- 9. truy xuất thời gian chờ của máy chủ php
- 10. Gỡ rối hết thời gian chờ của Máy chủ SQL
- 11. Có phải 'Khóa' lấy thời gian của CPU không?
- 12. Thời gian tồn tại của thời gian
- 13. Lấy thời gian từ chỉ số xts
- 14. Lấy thời gian từ một chuỗi ngày
- 15. Xóa thời gian khỏi máy chủ sql của DateTime 2005
- 16. C# thời gian chờ của nhà máy nhiệm vụ
- 17. Tăng tốc thời gian khởi động của Máy chủ Weblogic
- 18. Dấu thời gian xem trước của máy ảnh Android
- 19. Cách lấy thời gian hiện tại
- 20. Cách tốt nhất để đồng bộ thời gian máy tính với máy chủ thời gian internet là gì?
- 21. Làm cách nào để có được thời gian địa phương của người dùng thay vì thời gian của máy chủ?
- 22. Thời gian API máy/dòng lệnh script?
- 23. Lấy dữ liệu từ máy chủ mà không kéo dài thời gian chờ phiên
- 24. Cách lấy dấu thời gian tệp UNIVERSAL Windows
- 25. Lấy ngày hiện tại và thời gian với [NSDate ngày] Thời gian ngày
- 26. Lấy thời gian và ngày tháng từ dấu thời gian bằng php
- 27. Lấy Dấu thời gian của Unix trong Ngôn ngữ Go (thời gian hiện tại tính bằng giây),
- 28. Máy chủ SQL - Phòng quản lý - Thống kê khách hàng - Thời gian chờ trả lời trên máy chủ và thời gian xử lý của máy khách
- 29. Làm cách nào để lấy mã máy của lệnh lắp ráp được biết đến tại thời gian biên dịch?
- 30. Xóa phần thời gian của dấu thời gian
Xác định "không được sử dụng cho" chính xác hơn. Kể từ khi nó được đăng xuất? Trình bảo vệ màn hình đã bật bao lâu? Những gì chính xác? –
Tôi không thể làm bất cứ điều gì ngay trên trang này ... Khi điều đó xảy ra, câu trả lời dưới đây chính xác là những gì tôi đang tìm kiếm - thời gian rảnh từ điểm người dùng ngừng di chuyển chuột hoặc nhấn các nút trên bàn phím. – StrattonL
Không chắc chắn lý do tại sao một người nào đó bỏ phiếu cho bạn, có lẽ câu hỏi hơi mơ hồ, hoặc không hiển thị nếu bạn đã thử bất cứ điều gì ... Hãy chắc chắn kiểm tra [cách hỏi] (http://stackoverflow.com/ câu hỏi/cách hỏi) –