我在ElementaryOS Freya的托盘上遇到了一些带有Dropbox图标的问题
Dropbox正在同步,唯一的问题是我无法显示的托盘上的图标.
程序完成:
1 - 使用从Dropbox站点下载的.deb的Instaled Dropbox dpkg -i
2 - 使用以下方法从Dropbox站点下载.tar:
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
$ ~/.dropbox-dist/dropboxd
Run Code Online (Sandbox Code Playgroud)
3 - 由Elementary存储库使用:
$ sudo apt-get install dropbox
Run Code Online (Sandbox Code Playgroud)
4 - 我删除了文件夹 ~/.dropbox, ~/.dropbox.dist然后再次执行守护进程 $ dropbox start -i
5 - 我把代码 export DROPBOX_USE_LIBAPPINDICATOR=1 放在文件中: ~/.bashrc, ~/xsessionrc 和 /etc/profile.
6 - 我已经安装了包裹: pantheon-files-plugin-dropbox和 libappindicator1
有任何修复的想法吗?
我需要将一个表单隐藏到系统托盘中,但同时我想使用热键,例如"ctrl + 3"从我的hiden表单上的tEdit获取文本,插入到Firefox SendText(edit1.Text); //在这种方法中.我知道如何插入文本,但我对热键没有任何了解/任何建议?谢谢.下面插入的文字代码
procedure SendText(const Value: WideString);
var
I: Integer;
S: WideString;
TI: TInput;
KI: TKeybdInput;
const
KEYEVENTF_UNICODE = $0004;
begin
S := WideUpperCase(Value);
TI.Itype := INPUT_KEYBOARD;
for I := 1 to Length(S) do
begin
KI.wVk := 0;
KI.dwFlags := KEYEVENTF_UNICODE;
KI.wScan := Ord(S[I]);
TI.ki := KI;
SendInput(1, TI, SizeOf(TI));
end;
end;
Run Code Online (Sandbox Code Playgroud) 我们有一个管理打印文档的项目.起初我想知道为什么不能在一个地方设置打印选项.例如,可以使用MS Word自动化完成第一页和其他页面的打印机托盘选择:
var doc = _applicationObject.Documents.OpenNoRepairDialog(FileName: ref sourceFile, ReadOnly: ref readOnly,
AddToRecentFiles: ref addToRecentFiles,
Visible: ref visible);
doc.PageSetup.FirstPageTray = (WdPaperTray) firstPageTrayCode;
doc.PageSetup.OtherPagesTray = (WdPaperTray) otherPagesTrayCode;
_applicationObject.ActivePrinter = printerPath;
doc.Activate();
_applicationObject.PrintOut(Background: ref backgroundPrint, FileName: sourceFile);
doc.Close(ref saveChanges, ref _missing, ref _missing);
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,打印机托盘被指定为整数,因为某些打印机没有托盘的标准值(我们遇到了HP的问题 - 这里描述的托盘代码).所以我们首先使用代码检索托盘打印机的内容:
var setting = new PrinterSettings();
setting.PrinterName = myPrinterName;
foreach (PaperSource tray in setting.PaperSources)
{
Console.WriteLine("\t{0}: #{1}", tray.SourceName, tray.RawKind);
}
Run Code Online (Sandbox Code Playgroud)
这段代码没有任何问题.
但是这里没有办法指定双面打印和装订选项.双面打印可以做到的,使用驱动程序功能OpenPrinter和SetPrinter,就像描述这里的以及和微软推荐此论坛主题. Staple完全不清楚 …
正如标题所说,如果我做这有一个选项经过那里打开一个对话框等(例如偏好)一个SystemTray中的图标,当我关闭这个对话框等,整个应用程序关闭,当我把这个>关闭(); 来自偏好对话框.以此示例代码为例:main.cpp:
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(QIcon(":/icons/error.png"));
//replace 'error' with 'video' and recompile. The indicator isn't shown!
trayIcon->setToolTip("Test");
QMenu *changer_menu = new QMenu;
Show_action = new QAction(tr("S&how"),this);
Show_action->setIconVisibleInMenu(true);
connect(Show_action, SIGNAL(triggered()), this, SLOT(show_me()));
changer_menu->addAction(Show_action);
changer_menu->addSeparator();
Preferences_action = new QAction(tr("Preferences"), this);
Preferences_action->setIconVisibleInMenu(true);
connect(Preferences_action, SIGNAL(triggered()), this, SLOT(showpref()));
changer_menu->addAction(Preferences_action);
Quit_action = new …Run Code Online (Sandbox Code Playgroud) 我有一个WPF应用程序,我可以最小化托盘.当我正常点击它时,窗口再次显示.
现在我想知道如何创建一个简单的ContextMenu?
将ContextMenu要得到充满了的onclick将运行一个函数x选项.现在我只需要一个'Exit'项链接到'Exit_Click'方法.
我尝试过的是:
ContextMenu menu = (ContextMenu)this.FindResource("NotifierContextMenu");
menu.IsOpen = true;
Run Code Online (Sandbox Code Playgroud)
menu不知道任何IsOpen价值.
其他例子喜欢使用很多不同的东西.其中一个要求我出于某种原因创建HostManager.
我只需要一个简单的ContextMenu.我怎样才能做到这一点?
这是场景,我打开我的应用程序然后托盘图标显示,如果我双击托盘图标,将显示主界面.如果我再次打开我的应用程序,主界面应该被给予焦点或如果它还没有显示那么它应该显示而不是打开我的应用程序的另一个实例.
这是我的代码的样子:
//Program.cs
.....
if(myAppIsNotRunningYet) //the program has not been open yet
{
MyTray = new MyTray();
Application.Run();
}
else //the program is already on the tray
{
//the code to give focus to the mainForm or open it up if not yet open
}
//MyTray.cs
.....
public MyTray()
{
notifyIcon = new NotifyIcon();
....
notifyIcon.Visible = true;
}
private void notifyIcon_DoubleClick(object sender, EventArgs e)
{
MainForm mainForm = new MainForm();
mainForm.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud) 请为Delphi建议一些现代托盘组件.功能越多越好.它应该支持Delphi 2010.我只需要在托盘上放置一个图标并点击它,并在鼠标光标悬停时显示弹出窗口.
是否可以在Windows Vista或更高版本下从Delphi服务应用程序创建托盘图标?
我正在尝试编写一个放置当前温度的应用程序(从在线源获取)并在系统托盘/通知(适用于Windows 7+)的应用程序图标中显示温度(作为文本).
我正在使用Delphi TTrayIcon组件,我无法弄清楚如何在图标区域中显示文本.我过去曾经有过其他应用程序,所以它必须是可能的.
我在这里引用以下线程来回答我的问题:
我基本上想做与 OP 相同的事情,但与响应此线程的其他一些用户不同,在添加代码示例中未明确定义的缺少的 PInvoke 声明后,我无法使代码正常工作。我组装了一个类文件,试图将所有内容放在一起,并引用了 PInvoke.net 的声明(我不确定这是否是用户 michalczerwinski 所做的,或者他是否正在使用某种 PInvoke 库)。这是我到目前为止所拥有的:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.ConstrainedExecution;
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
using System.Threading.Tasks;
namespace Example
{
public static class TrayTooltip
{
[Flags]
public enum ProcessAccessFlags : uint
{
All = 0x001F0FFF,
Terminate = 0x00000001,
CreateThread = 0x00000002,
VirtualMemoryOperation = 0x00000008,
VirtualMemoryRead = 0x00000010,
VirtualMemoryWrite = 0x00000020,
DuplicateHandle = 0x00000040,
CreateProcess = 0x000000080,
SetQuota = 0x00000100,
SetInformation = 0x00000200,
QueryInformation = 0x00000400,
QueryLimitedInformation …Run Code Online (Sandbox Code Playgroud)