如何在 Windows 10 的任务栏中显示周数?

如何在 Windows 10 的任务栏中显示周数?

有没有办法在 Windows 10 的任务栏中显示周数?我更喜欢将其集成到任务栏中显示的 Windows 时钟应用程序中 - 直接或通过左键/右键单击。但目前我采取任何解决方法,包括第三方软件

我目前的解决方法是通过开始菜单打开日历(启用周数)。因此我不需要其他打开窗口并再次手动关闭的解决方案。

笔记:我针对 Windows 11 提出了第二个问题: 如何在 Windows 11 的任务栏中显示周数?

答案1

您可以使用白虎/T 钟。它从 2.4.1 版本开始支持 Windows 10。您可以下载最新版本这里。只需解压然后运行,无需安装程序

T-Clock 日历

启动 T-Clock 后,您需要先启用其日历,右键单击时钟 > T-Clock 选项。在“杂项”选项卡中,选中使用 T-Clock 的日历显示周数

T-Clock 选项

如果您需要官方支持,请投票Windows 10 的反馈中心(需要安装 Feedback Hup App)。许多人已经报告了:https://aka.ms/AA5mk4rhttps://aka.ms/AA7ujeyhttps://aka.ms/AA7ubxo

答案2

如果您真的很挣扎,一个选择是创建一个小型应用程序,将其配置为在启动时运行,并创建一个通知托盘图标。

例子

如果你下载 Visual Studio2019 社区版,您可以使用以下代码创建一个新的 C# .Net Forms 应用程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Globalization;

namespace WeekCounter
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MyCustomApplicationContext());
        } 
        private static void MessageBox(string v)
        {
            throw new NotImplementedException();
        }
    }

    public class MyCustomApplicationContext : ApplicationContext
    {     
        private NotifyIcon trayIcon;

        public MyCustomApplicationContext()
        {
            // Initialize Tray Icon
            trayIcon = new NotifyIcon()
            {
                Icon = WeekCounter.Properties.Resources.icon,
                Text = "WeekCounter",
                ContextMenu = new ContextMenu(new MenuItem[] {
                new MenuItem("Exit", Exit)
            }),
                Visible = true
            };

            trayIcon.MouseMove += new MouseEventHandler(notifyIcon1_MouseMove);
        }
        private void notifyIcon1_MouseMove(object sender, MouseEventArgs e)
        {
            CultureInfo myCI = new CultureInfo("en-US");
            Calendar myCal = myCI.Calendar;
            CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
            DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
            trayIcon.Text = "Time: " + DateTime.Now.ToString("MM/dd/yyyy h:mm:ss tt") + "\nWeek: " + myCal.GetWeekOfYear(DateTime.Now, myCWR, myFirstDOW);
        }

        void Exit(object sender, EventArgs e)
        {
            trayIcon.Visible = false;
            Application.Exit();
        }
    }
}

注意:在项目的“资源”下,您可以添加合适的 ico 文件作为图标资源。它在代码中被引用为“图标”,因此资源需要命名为:

Icon = WeekCounter.Properties.Resources.icon

添加图标资源

您可以通过在注册表项下添加对 exe 的引用来确保它在启动时运行:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

相关内容