我在主窗体上设置了 NotifyIcon,但是当窗体运行时,通知图标没有出现?
我将其可见属性设置为 true,如果我尝试显示气球工具提示:
ntiTrayIcon.ShowBalloonTip(1000, "Info:", "Double click this icon to close AlwaysOnTop", ToolTipIcon.Info);
Run Code Online (Sandbox Code Playgroud)
这也没有显示出来。
有什么问题?
表单上的一些信息:它是一个 SizeableToolWindow,它没有控制框或标题(因此它仅显示为边框),并且在一段时间后隐藏(它本质上是注册一些全局键盘挂钩的启动屏幕),这会吗是问题所在吗?
我在托盘栏上找到托盘图标(在px中)时遇到问题.
我可以找到托盘而不是图标.这是我正在使用的代码:
unit uTrayIconPosition;
interface
uses
Types;
function GetTrayIconPosition(const AWnd: THandle; const AButtonID: Integer; var APosition: TRect): Boolean;
implementation
uses
Windows, CommCtrl, Classes, SysUtils;
function EnumWindowsFunc(AHandle: THandle; AList: TStringList): Boolean; stdcall;
var
P: array [0..256] of Char;
S: string;
begin
if GetClassName(AHandle, P, SizeOf(P) - 1) <> 0 then
begin
S := P;
if S = AList[0] then
begin
AList[0] := IntToStr(AHandle);
Result := False;
end
else
Result := True;
end
else
Result := True;
end;
function FindClass(AName: string; AHandle: …Run Code Online (Sandbox Code Playgroud) 我正在编写一个应用程序,我需要在其中单击另一个应用程序托盘图标菜单中的菜单项。这是一个更好地理解的屏幕截图,因为我不擅长解释东西。

所以我需要单击这些菜单项之一,例如“退出”。
我知道我应该使用 WinApi 来做到这一点。但是,据我所知,该消息WM_NOTIFY负责通知顶部窗口有关菜单项单击的信息。正如 MSDN 站点所说,For Windows 2000 and later systems, the WM_NOTIFY message cannot be sent between processes. 我要运行我的应用程序的 PC 正在运行 Windows XP,因此我无法将此消息发送到窗口。有没有其他方法可以单击菜单项?
提前致谢。
目前,当我右键单击SystemTray中的TrayIcon时,PopupMenu将会出现.但是,当我左键单击TrayIcon时,我希望它也能这样做.
我想我可以通过在TrayIcon上使用mouseListener来实现这一点,但我不知道在mouseClicked事件中调用什么方法来实现所需的结果.
icon = new TrayIcon(img, tooltip, popup);
icon.addMouseListener(
new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
popup.setEnabled(true);
}
});
Run Code Online (Sandbox Code Playgroud)
当我左键单击TrayIcon时,使用setEnabled()方法不会显示弹出菜单.它实际上没有明显的效果.我想知道我应该在mouseClicked()体中使用什么方法,以便在左键单击时弹出窗口显示.
所以我有一个没有控制台的程序。它通过创建一个虚拟 HWND 来启动,然后隐藏该虚拟 HWND,然后充当通知区域应用程序(保留在托盘中)。人们可以将鼠标悬停在程序上查看其状态,并按热键在屏幕上执行任务。
无论如何,我想在托盘中显示我的程序图标但不能。我将图标资源添加到 Visual Studio,并且我的可执行文件在资源管理器中有一个图标。该资源的大小为 16x16 - 256x256。
现在,我将 NOTIFYICONDATA 的信息设置为: nid.hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON1));
并包含“resource.h”
其中将 IDI_ICON1 定义为 104。但是,当我使用它时,会显示蓝色解释点图标(即 Windows 默认图标之一)。我尝试了 IDI_ERROR 并且错误图标显示正常。我尝试了自定义 12x12 图标,因为我读到尺寸可能是问题所在,但这也不起作用。
IDI_APPLICATION 使用应用程序的默认图标,即默认的.exe 图标。
我目前不知道要尝试什么或做什么。
在此先感谢您的帮助!
我似乎无法打开CD托盘.它突然出现了'extern C'的错误,extern意味着什么呢?
谢谢!这是图像! C++打开CD托盘时出错
如何将 .ico 导入到 C# 中的 .exe 中?(我只想有一个文件)
在资源文件中我有: icon.ico
当我单击该图标时,在属性中我有:“嵌入式资源”
我应该做什么(改变)?
trayIcon.Icon = new Icon("c:\\users\\wulp\\documents\\visual studio 2013\\Projects\\WifiSwitch\\WifiSwitch\\Resources\\icon.ico");
Run Code Online (Sandbox Code Playgroud)
并且,我如何使用相对路径?
谢谢