【问题标题】:The correct way to make my program run at startup [duplicate]使我的程序在启动时运行的正确方法[重复]
【发布时间】:2018-10-30 06:19:18
【问题描述】:

(1) 我想让我的程序在启动时运行。我做了那一步:
我将我的程序路径添加到该注册表项:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run [或]
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

以前,程序在启动时运行,但在我添加了清单文件以赋予我的程序如下管理权限后:

由于该操作,程序不会在启动时运行。

最后,将值添加到Software\\Microsoft\\Windows\\CurrentVersion\\Run 的代码:

// Set launch at startup setting
bool startup = wxAtoi(CPublic::getConfigItem("settings/startup"));
wxString appName = wxTheApp->GetAppName();
wxRegKey regKey(wxRegKey::HKCU, "Software\\Microsoft\\Windows\\CurrentVersion\\Run");
if (startup == 1) {
    regKey.SetValue(appName, wxStandardPaths::Get().GetExecutablePath());
} else {
    regKey.DeleteValue(appName);
}

那有什么问题呢?


(2) 还有一个与该问题相关的简单问题:
如何让我的程序在启动后隐藏到系统托盘中?

【问题讨论】:

标签: c++ wxwidgets


【解决方案1】:

要回答第二个问题(上面的@Snetfel 在评论中回答了第一个问题),您只需创建一个wxTaskBarIcon 并避免在启动时创建任何(可见)正常窗口。

【讨论】:

  • 谢谢,关于第二个问题,我的意思是如何让我的程序在启动时将其窗口隐藏到系统托盘中(执行一个特定的方法,它的工作在启动时将程序窗口隐藏到系统托盘中)
  • 关于第一个问题,我已经阅读了Sneftel 指出的问题,但不幸的是,我仍然理解,因为他们在谈论我不清楚的事情。那么,如果可以直接向我解释这样做的方法吗?
  • @LionKing,看看任务栏示例。它应该让你知道如何让它发挥作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-23
  • 2018-04-04
  • 1970-01-01
  • 2019-06-20
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多