gpt4 book ai didi

c# - 如何显示超过 63 个字符的系统托盘工具提示?

转载 作者:IT王子 更新时间:2023-10-29 04:53:58 26 4
gpt4 key购买 nike

如何显示超过 63 个字符的系统托盘工具提示? NotifyIcon.Text 有 63 个字符的限制,但我看到 VNC 服务器有更长的工具提示。

我怎样才能完成 VNC 服务器的功能?

最佳答案

实际上,这是 Text 属性的属性 setter 中的错误。 Windows 窗体中 NOTIFYICONDATA 的 P/Invoke 声明使用 128 个字符限制。你可以用 Reflection 绕过它:

using System;
using System.Windows.Forms;
using System.Reflection;

public class Fixes {
public static void SetNotifyIconText(NotifyIcon ni, string text) {
if (text.Length >= 128) throw new ArgumentOutOfRangeException("Text limited to 127 characters");
Type t = typeof(NotifyIcon);
BindingFlags hidden = BindingFlags.NonPublic | BindingFlags.Instance;
t.GetField("text", hidden).SetValue(ni, text);
if ((bool)t.GetField("added", hidden).GetValue(ni))
t.GetMethod("UpdateIcon", hidden).Invoke(ni, new object[] { true });
}
}

关于c# - 如何显示超过 63 个字符的系统托盘工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/579665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com