planshit / tai Goto Github PK
View Code? Open in Web Editor NEW👻 在Windows上统计软件使用时长和网站浏览时长
License: MIT License
👻 在Windows上统计软件使用时长和网站浏览时长
License: MIT License
目前想要添加一个分类要
希望简化这个流程,直接在界面的任意有图标的地方都能通过右键弹出菜单设置分类(我发现目前似乎所有有图标的地方都没有右键功能?)
是否能添加一个今日选项,并且能够成为可配置的,并能够选择成为默认选项
例如我在电脑上将网站YouTube添加为应用,但现在我在这个应用上所耗时间会被算进浏览器,希望可以单独识别
我的设备信息:
版本 Windows 10 专业版
版本号 21H1
操作系统内部版本 19043.2006
体验 Windows Feature Experience Pack 120.2212.4180.0
以下是崩溃日志:
2022-10-04.log
请增加license保护自己的软件著作权
删除data文件夹后程序正常启动。
Data文件夹备份:
Data.zip
日志:
[ Tai Version ] 1.0.0.2;
[ WindowsOS Name ] Microsoft Windows 10 专业版;
[ Screen Size ] 2736 × 1824;
++++++++++++++++++++++++++++++++++++++++++++++++++
[ Error ] [ 2022-06-22 00:11:03 ]
[程序崩溃异常] System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SQLite.SQLiteException: database disk image is malformed
database disk image is malformed
在 System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
在 System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
在 System.Data.SQLite.SQLiteDataReader.NextResult()
在 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<>c.<Reader>b__6_0(DbCommand t, DbCommandInterceptionContext`1 c)
在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
在 System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
在 System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__1()
在 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.Execute(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.EntityReference`1.Load(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.RelatedEnd.DeferredLoad()
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue, String relationshipName, String targetRoleName, Boolean mustBeNull, Object wrapperObject)
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.<>c__DisplayClass0_0`2.<GetInterceptorDelegate>b__2(TProxy proxy, TItem item)
在 System.Data.Entity.DynamicProxies.AppModel_BCA53A72C023DFE6EE1E10AC451ABCB26EFE9A210103FE02921FC3CC8487BCBB.get_Category()
在 Core.Servicers.Instances.AppData.<>c.<Load>b__5_5(AppModel m)
在 System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 Core.Servicers.Instances.AppData.Load()
在 Core.Servicers.Instances.Main.<Run>b__23_0()
在 System.Threading.Tasks.Task.InnerInvoke()
在 System.Threading.Tasks.Task.Execute()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Core.Servicers.Instances.Main.<Run>d__23.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[ Caller Info ] Line:80,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
------------------------
[ Error ] [ 2022-06-22 00:47:04 ]
[程序崩溃异常] System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SQLite.SQLiteException: database disk image is malformed
database disk image is malformed
在 System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
在 System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
在 System.Data.SQLite.SQLiteDataReader.NextResult()
在 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<>c.<Reader>b__6_0(DbCommand t, DbCommandInterceptionContext`1 c)
在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
在 System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
在 System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__1()
在 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.Execute(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.EntityReference`1.Load(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.RelatedEnd.DeferredLoad()
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue, String relationshipName, String targetRoleName, Boolean mustBeNull, Object wrapperObject)
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.<>c__DisplayClass0_0`2.<GetInterceptorDelegate>b__2(TProxy proxy, TItem item)
在 System.Data.Entity.DynamicProxies.AppModel_BCA53A72C023DFE6EE1E10AC451ABCB26EFE9A210103FE02921FC3CC8487BCBB.get_Category()
在 Core.Servicers.Instances.AppData.<>c.<Load>b__5_5(AppModel m)
在 System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 Core.Servicers.Instances.AppData.Load()
在 Core.Servicers.Instances.Main.<Run>b__23_0()
在 System.Threading.Tasks.Task.InnerInvoke()
在 System.Threading.Tasks.Task.Execute()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Core.Servicers.Instances.Main.<Run>d__23.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[ Caller Info ] Line:80,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
------------------------
[ Error ] [ 2022-06-22 00:47:32 ]
[程序崩溃异常] System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SQLite.SQLiteException: database disk image is malformed
database disk image is malformed
在 System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
在 System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
在 System.Data.SQLite.SQLiteDataReader.NextResult()
在 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<>c.<Reader>b__6_0(DbCommand t, DbCommandInterceptionContext`1 c)
在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
在 System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
在 System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__1()
在 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.Execute(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.EntityReference`1.Load(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.RelatedEnd.DeferredLoad()
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue, String relationshipName, String targetRoleName, Boolean mustBeNull, Object wrapperObject)
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.<>c__DisplayClass0_0`2.<GetInterceptorDelegate>b__2(TProxy proxy, TItem item)
在 System.Data.Entity.DynamicProxies.AppModel_BCA53A72C023DFE6EE1E10AC451ABCB26EFE9A210103FE02921FC3CC8487BCBB.get_Category()
在 Core.Servicers.Instances.AppData.<>c.<Load>b__5_5(AppModel m)
在 System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 Core.Servicers.Instances.AppData.Load()
在 Core.Servicers.Instances.Main.<Run>b__23_0()
在 System.Threading.Tasks.Task.InnerInvoke()
在 System.Threading.Tasks.Task.Execute()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Core.Servicers.Instances.Main.<Run>d__23.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[ Caller Info ] Line:80,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
------------------------
[ Error ] [ 2022-06-22 00:47:55 ]
[程序崩溃异常] System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SQLite.SQLiteException: database disk image is malformed
database disk image is malformed
在 System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
在 System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
在 System.Data.SQLite.SQLiteDataReader.NextResult()
在 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
在 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<>c.<Reader>b__6_0(DbCommand t, DbCommandInterceptionContext`1 c)
在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
在 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
在 System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
在 System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__1()
在 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
在 System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func`1 operation)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
在 System.Data.Entity.Core.Objects.ObjectQuery`1.Execute(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.EntityReference`1.Load(MergeOption mergeOption)
在 System.Data.Entity.Core.Objects.DataClasses.RelatedEnd.DeferredLoad()
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue, String relationshipName, String targetRoleName, Boolean mustBeNull, Object wrapperObject)
在 System.Data.Entity.Core.Objects.Internal.LazyLoadBehavior.<>c__DisplayClass0_0`2.<GetInterceptorDelegate>b__2(TProxy proxy, TItem item)
在 System.Data.Entity.DynamicProxies.AppModel_BCA53A72C023DFE6EE1E10AC451ABCB26EFE9A210103FE02921FC3CC8487BCBB.get_Category()
在 Core.Servicers.Instances.AppData.<>c.<Load>b__5_5(AppModel m)
在 System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 Core.Servicers.Instances.AppData.Load()
在 Core.Servicers.Instances.Main.<Run>b__23_0()
在 System.Threading.Tasks.Task.InnerInvoke()
在 System.Threading.Tasks.Task.Execute()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Core.Servicers.Instances.Main.<Run>d__23.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[ Caller Info ] Line:80,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
------------------------
Showing detailed web browsing time can help user better manager their time, Is there any way to implement it?
scoop 安装方式:
# 1. 按照 https://scoop.sh/ 安装 scoop
# 2. 在 `cmd` 或 `powershell` 中安装含有 `tai` 的 `bucket`:
scoop bucket add scoop-it https://github.com/younger-1/scoop-it
# 3. 安装 `tai`
scoop install tai
# 4. 升级 `tai` 版本
scoop update tai
就不用开两个软件了。
提供程序内部更新进行更新,提示发生意料外错误。
该段时间内的详细log:
[Warn] [2022-06-15 19:37:06]
无法获取进程:Idle的句柄,请尝试以管理员身份运行Tai。
[Caller Info] Line:134,File:Tai\Servicers\Instances\Observer.cs,name:GetProcessInfoByWindowHandle
------------------------
[Warn] [2022-06-15 19:37:06]
路径的形式不合法。 | Process Name:Idle | Process File: | Process Description:
[Caller Info] Line:90,File:Tai\Servicers\Instances\Observer.cs,name:WinEventProc
------------------------
[Warn] [2022-06-15 19:37:06]
无法获取进程:Idle的句柄,请尝试以管理员身份运行Tai。
[Caller Info] Line:134,File:Tai\Servicers\Instances\Observer.cs,name:GetProcessInfoByWindowHandle
------------------------
[Warn] [2022-06-15 19:37:06]
路径的形式不合法。 | Process Name:Idle | Process File: | Process Description:
[Caller Info] Line:90,File:Tai\Servicers\Instances\Observer.cs,name:WinEventProc
------------------------
[Info] [2022-06-15 19:37:06]
【Wake】进程:explorer 更新时间:10,开始时间:2022/6/15 19:36:56,当前时间:2022/6/15 19:37:06
[Caller Info] Line:269,File:Tai\Servicers\Instances\Main.cs,name:UpdateTime
------------------------
[Info] [2022-06-15 19:37:09]
【Wake】进程:TeraCopy 更新时间:3,开始时间:2022/6/15 19:37:06,当前时间:2022/6/15 19:37:09
[Caller Info] Line:269,File:Tai\Servicers\Instances\Main.cs,name:UpdateTime
------------------------
[Info] [2022-06-15 19:37:16]
【Wake】进程:explorer 更新时间:6,开始时间:2022/6/15 19:37:09,当前时间:2022/6/15 19:37:16
[Caller Info] Line:269,File:Tai\Servicers\Instances\Main.cs,name:UpdateTime
------------------------
[Warn] [2022-06-15 19:37:23]
无法获取进程:dwm的句柄,请尝试以管理员身份运行Tai。
[Caller Info] Line:134,File:Tai\Servicers\Instances\Observer.cs,name:GetProcessInfoByWindowHandle
------------------------
[Warn] [2022-06-15 19:37:23]
路径的形式不合法。 | Process Name:dwm | Process File: | Process Description:
[Caller Info] Line:90,File:Tai\Servicers\Instances\Observer.cs,name:WinEventProc
------------------------
[Warn] [2022-06-15 19:37:23]
无法获取进程:Idle的句柄,请尝试以管理员身份运行Tai。
[Caller Info] Line:134,File:Tai\Servicers\Instances\Observer.cs,name:GetProcessInfoByWindowHandle
------------------------
[Warn] [2022-06-15 19:37:23]
无法获取进程:Idle的句柄,请尝试以管理员身份运行Tai。
[Caller Info] Line:134,File:Tai\Servicers\Instances\Observer.cs,name:GetProcessInfoByWindowHandle
------------------------
[Warn] [2022-06-15 19:37:23]
路径的形式不合法。 | Process Name:Idle | Process File: | Process Description:
[Caller Info] Line:90,File:Tai\Servicers\Instances\Observer.cs,name:WinEventProc
------------------------
[Warn] [2022-06-15 19:37:23]
路径的形式不合法。 | Process Name:Idle | Process File: | Process Description:
[Caller Info] Line:90,File:Tai\Servicers\Instances\Observer.cs,name:WinEventProc
------------------------
[Info] [2022-06-15 19:37:23]
【Wake】进程:Everything 更新时间:6,开始时间:2022/6/15 19:37:16,当前时间:2022/6/15 19:37:23
[Caller Info] Line:269,File:Tai\Servicers\Instances\Main.cs,name:UpdateTime
------------------------
[ Error ] [ 2022-06-15 19:37:42 ]
SQLiteBuilder handle fail!Exception Message:SQL logic error
near "s": syntax error
[ Caller Info ] Line:247,File:Tai\Librarys\SQLite\SQLiteBuilder.cs,name:HandleTable
------------------------
[ Info ] [ 2022-06-15 19:37:56 ]
【Wake】进程:chrome 更新时间:6,开始时间:2022/6/15 19:37:49,当前时间:2022/6/15 19:37:56
[ Caller Info ] Line:339,File:Tai\Servicers\Instances\Main.cs,name:UpdateTime
------------------------
[ Error ] [ 2022-06-15 19:37:56 ]
[程序崩溃异常] An error occurred while updating the entries. See the inner exception for details.
[ Caller Info ] Line:80,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
------------------------
[ Error ] [ 2022-06-15 19:37:42 ]
SQLiteBuilder handle fail!Exception Message:SQL logic error
near "s": syntax error
[ Caller Info ] Line:247,File:Tai\Librarys\SQLite\SQLiteBuilder.cs,name:HandleTable
------------------------
[ Info ] [ 2022-06-15 19:37:56 ]
【Wake】进程:chrome 更新时间:6,开始时间:2022/6/15 19:37:49,当前时间:2022/6/15 19:37:56
[ Caller Info ] Line:339,File:Tai\Servicers\Instances\Main.cs,name:UpdateTime
------------------------
[ Error ] [ 2022-06-15 19:37:56 ]
[程序崩溃异常] An error occurred while updating the entries. See the inner exception for details.
[ Caller Info ] Line:80,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
------------------------
还有就是Tai窗口变更内容的时候能不能增加动画,现在感觉顺序变更的时候特别卡顿,
Windows Defender识别为Trojan:Script/Wacatac.B!ml
.
如题。
好吧,看懂了,不是比例显示,是按长度排序。
[Error] [2022-02-11 19:47:27]
[程序崩溃异常] 该字符串未被识别为有效的 DateTime。
[Caller Info] Line:58,File:Tai\App.xaml.cs,name:App_DispatcherUnhandledException
Discussons好像没法提交,所以提交成Issues请大佬评估下。
目前很多人喜欢汇总自己在某种语言上花的时间,也有不少软件已经能实现这种功能,但是目前基本上都是通过插件的方式存在,比如不得不在VS/Sublime/IDEA/Eclipse等分别装对应的插件才能实现汇总功能,不太方便。
Tai能够正常识别当前活动的程序,那么是不是可以用Tai来实现对编程语言的时间汇总功能功能?
大致想法如下:
1,在Tai中程序详情的旁边加入一个按键,例如“此程序为编程工具”,点此按键将该程序存储在数据库编程工具列表,之后侦测到此程序列表中的程序便开始进行下面第2条。
2,如果当前活动的程序是编程工具,则通过OCR识别屏幕文本,通过语言字典识别目前正在编辑哪种语言。例如用tesseract的c#版本https://github.com/charlesw/tesseract
3, 考虑到OCR比较费资源,可以把分辨率设置为10分钟,每10分钟侦测一次屏幕OCR,获取到对应的语言算10分钟,最后进行每日汇总。
当然也可能有更好的方法。
很棒的应用,如果能推出深色主题并与windows主题同步就更好了
能不能导出每个软件每天的使用时长,点击次数等数据到excel,这样更好统计保存记录。
也可以参照浏览器插件Web Activity Time Tracker制作一些time chart等功能
谢谢啦,尤其想要导出功能
==================================
RT,较长时间使用mumu模拟器后发现Tai没有记录其使用时长。
操作细节:在统计里面选择其中的某个时间段里的软件,右键忽略此应用就会崩溃
2022-11-10.log
目前使用scoop来进行软件管理, 希望能发布到scoop, 方便进行搜索下载更新, 谢谢
1:管理员模式启动的情况下,无法自启动。通过任务计划启动则打不开或者崩溃。
2022-09-26.log
今天发现 Tai 不知道什么时候崩溃(也可能是其他原因)退出了,要重新打开只能进入文件夹再打开程序,如果能安装的话就会方便很多。
另外不知道能不能实现自动重启?因为是统计类软件,发现数据丢失的时候还是挺难受的。
Windows 11 家庭版 21H2 22000.376
复现,在tai keepalive窗口所在的虚拟桌面,桌面无窗口,点击多任务或者是手势唤出都会重启
其他虚拟桌面不会崩溃,有窗口最大化之后不会崩溃
日志1
错误应用程序名称: explorer.exe,版本: 10.0.22000.120,时间戳: 0xe846e749
错误模块名称: Windows.UI.Xaml.dll,版本: 10.0.22000.348,时间戳: 0x003360cd
异常代码: 0xc000027b
错误偏移量: 0x0000000000834af0
错误进程 ID: 0x1544
错误应用程序启动时间: 0x01d7f814417d1738
错误应用程序路径: C:\windows\explorer.exe
错误模块路径: C:\Windows\System32\Windows.UI.Xaml.dll
报告 ID: 82a936ed-5d86-4073-b003-3ea526939f8f
错误程序包全名:
错误程序包相对应用程序 ID:
2
故障存储段 ,类型 0
事件名称: APPCRASH
响应: 不可用
Cab ID: 0
问题签名:
P1: explorer.exe
P2: 10.0.22000.120
P3: e846e749
P4: combase.dll
P5: 10.0.22000.282
P6: 426c1ced
P7: 80070057
P8: 000000000005c41b
P9:
P10:
附加文件:
可在此处获取这些文件:
\?\C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_explorer.exe_9e18538ecb5211ffe9aae1efdd49a2305f660_f0d6a280_116933eb-31de-4259-9e70-47f4652ca59e
分析符号:
重新检查解决方案: 0
报告 ID: 82a936ed-5d86-4073-b003-3ea526939f8f
报告状态: 4100
哈希存储段: nCab GUID: 0
3
外壳程序意外停止,explorer.exe 被重新启动。
4
故障存储段 1267383427371873465,类型 4
事件名称: APPCRASH
响应: 不可用
Cab ID: 0
问题签名:
P1: explorer.exe
P2: 10.0.22000.120
P3: e846e749
P4: combase.dll
P5: 10.0.22000.282
P6: 426c1ced
P7: 80070057
P8: 000000000005c41b
P9:
P10:
附加文件:
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.1a774f21-3777-42a3-a627-e46f9b3a0bc1.tmp.WERInternalMetadata.xml
可在此处获取这些文件:
\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_explorer.exe_9e18538ecb5211ffe9aae1efdd49a2305f660_f0d6a280_116933eb-31de-4259-9e70-47f4652ca59e
分析符号:
重新检查解决方案: 0
报告 ID: 82a936ed-5d86-4073-b003-3ea526939f8f
报告状态: 268439552
哈希存储段: 3d6fc532bf627bbbb196a68326b7b4b9nCab GUID: 0
还有一个错位的问题
笔记本断开电源后,程序闪退。日志中没有记录。测试时关闭了所有窗口与后台程序(除了七彩虹控制中心Control Center3.0),仍然闪退。
Tai版本:1.3.0.0
笔记本型号:七彩虹将星x15 xs
windows型号:Windows 11 专业版 22H2 22621.674
20H2 19042.868
rt,工作电脑在公司,下班回家使用个人电脑,但是想两个数据可以合并?因时间上并不冲突,把两份data.db合并可以解决吗,我不太清楚数据库的操作抱歉
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.