有没有办法在Windows中更改浏览器的任务栏图标?
我打开很多浏览器窗口,我喜欢按窗口分组类似的网站(在标签中).所以我想知道是否有办法为它们分配任务栏图标,以便您可以更容易地区分它们.
我真的不知道从哪里开始.让我们从愚蠢的问题开始:
我应该用什么语言呢?什么适合手头的任务?
接下来,真正的:
有没有办法阻止屏幕保护程序启动,没有更改光标位置?如果没有,改变光标位置即使工作?
我想最小化一个Delphi应用程序到系统托盘而不是任务栏.
必要的步骤似乎如下:
而已.对?
如何在Delphi中实现这一点?
我发现了以下代码,但我不知道为什么会这样.它不遵循我上面描述的步骤......
unit uMinimizeToTray;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi;
const WM_NOTIFYICON = WM_USER+333;
type
TMinimizeToTray = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CMClickIcon(var msg: TMessage); message WM_NOTIFYICON;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
MinimizeToTray: TMinimizeToTray;
implementation
{$R *.dfm}
procedure TMinimizeToTray.CMClickIcon(var msg: TMessage);
begin
if msg.lparam = …Run Code Online (Sandbox Code Playgroud) 该程序不应该有一个可见的窗口,更像是一个守护进程.(例如任务栏程序)任何链接或建议将不胜感激.
我正在以编程方式重新创建叠加图标,以便在任务栏图标上显示文本.我这样做了:
GlyphRunDrawing gDrawing = new GlyphRunDrawing(Brushes.Black,
iconOverlayText.ToGlyphRun());
Window.TaskbarItemInfo =
new System.Windows.Shell.TaskbarItemInfo();
DrawingImage image = new DrawingImage();
image.Drawing = gDrawing;
Window.TaskbarItemInfo.Overlay = image;
Run Code Online (Sandbox Code Playgroud)
图像源似乎很好,如果我将"图像"设置为测试wpf图像的来源,文本显示就好了.但由于某种原因,它不会显示在任务栏图标上.你知道为什么吗?
所以我尝试了一些其他选项,比如官方任务栏支持库.这有点令人困惑,因为其中有两个看起来像,但都没有为我显示一个图标叠加:
它不适用于此官方示例应用程序示例MainDemo和IMClient演示:
而且我无法启动其他名为Win7API Codepack样本的样本集合,因为这个神秘的错误:
TaskDialog功能需要加载comctl32.dll的版本6,但当前在内存中加载了不同的版本.
有什么建议可能是错的吗?
我有一个VB6可执行文件,我们用作真实程序的Starter可执行文件.
问题是Windows 7在任务栏中为新进程显示一个新图标,而不是我点击启动我的程序的那个(当然,因为启动程序exe已经结束,而新的exe似乎是一个新的程序).
目前我使用Shell对象启动另一个exe.是否有更好的方法从vb6执行此操作,可能通过使用具有声明的本机C函数,该函数在当前进程中启动exe,而不会生成新进程?
编辑:
感谢atzz提供有关应用程序模型ID的重要信息.我现在有一个快捷方式,我的应用程序启动器具有良好定义的ID,我的应用程序也在启动时设置ID,现在可以从工具栏中的右侧图标精美地访问.但是,仍存在两个问题:
该应用程序是一个以Exe4J开头的Java应用程序,在Exe4J显示启动画面之前我没有任何机会设置AppID,因此在显示启动画面时,任务栏中有第二个图标.
如果我没有手动将我的入门应用程序图标从桌面拖到工具栏,而是使用我的应用程序图标并将其设置为"粘性",则真正的应用程序会被粘贴,而不是启动器.
如果我的启动器会在自己的进程中启动应用程序,那么这两个问题都会得到很好的解决.我听说过使用exec()而不是fork()来实现Linux程序...是否有类似于Windows的东西?
我试图在C#中隐藏Windows 7任务栏.我查看了这篇文章和这个页面,但在按照所有说明后,我最后在底部放了一个普通的黑条.我最终得到了这样一个任务栏类:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Diagnostics;
public static class Taskbar
{
[DllImport("user32.dll")]
private static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern bool EnumThreadWindows(int threadId, EnumThreadProc pfnEnum, IntPtr lParam);
[DllImport("user32.dll", SetLastError = true)]
private static extern System.IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);
[DllImport("user32.dll")]
private static extern int ShowWindow(IntPtr …Run Code Online (Sandbox Code Playgroud) 我创建了从JFrame继承的通知窗口,但它们在Windows任务栏中显示为新图标.是否可以在出现通知时突出显示主应用程序图标(例如在Skype中,当新消息到来时)并且在任务栏中不显示通知窗口中的新图标?
这是弹出的代码:
public class NotificationWindow extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
static private int m_count = 0;
public NotificationWindow(String text)
{
super("NotificationWindow");
setLayout(new GridBagLayout());
setSize(300, 70);
setLocationRelativeTo(null);
setOpacity(0.77f);
setUndecorated(true);
setResizable(false);
add(new JLabel(text));
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt)
{
--m_count;
}
});
++m_count;
}
static public int GetWindowCount()
{
return m_count;
}
static public void ShowNotificationWindow(final String text)
{
// Determine if the GraphicsDevice supports translucency.
GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment
.getLocalGraphicsEnvironment();
final …Run Code Online (Sandbox Code Playgroud) 我在Netbeans上创建了JavaFX应用程序,并将此代码用于将图标设置到窗口
primaryStage.getIcons().add(new Image("file:sicadcam.png"));
Run Code Online (Sandbox Code Playgroud)
当我从Netbeans运行该项目时,它运行正常:该图标出现在窗口和任务栏中。我必须在其中放置图像。
当我清理并生成该项目时,它将生成两个安装程序:一个exe和一个msi;另一个是安装程序。当我安装该应用程序并打开它时,该窗口没有图标sicadcam.png,它具有默认的Java徽标图标。
如何或在哪里可以设置图像的路径,以便在安装应用程序时出现图标。
我有一个C#/ WPF应用程序,根据它是否已从Windows任务栏上的固定链接启动,我希望给出不同的行为。