使我的程序在启动时运行的正确方法

时间:2018-05-20 11:46:22

标签: c++ wxwidgets

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

  • HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run [Or]
  • HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Run中

enter image description here

以前,该程序在启动时运行,但在我添加了Manifest文件后,为我的程序提供了以下管理权限:

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

最后,将值添加到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)还有一个与该问题有关的简单问题:
如何让我的程序在启动时运行到系统托盘后隐藏?

1 个答案:

答案 0 :(得分:0)

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