Как я могу использовать приложение возврата, чтобы не блокировать этот код - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь добавить код запуска в проект

Это код, который отлично работает

    #include "App.h"
   #include "base/kernel/Entry.h"
    #include "base/kernel/Process.h"


int main(int argc, char **argv) {
    using namespace xmrig;

    Process process(argc, argv);
    const Entry::Id entry = Entry::get(process);
    if (entry) {
        return Entry::exec(process, entry);
    }

    App app(&process);

    return app.exec();
}

, но когда я пытаюсь добавить код запуска, как это

int main(int argc, char **argv) {
using namespace xmrig;
Process process(argc, argv);
const Entry::Id entry = Entry::get(process);
if (entry) {
    return Entry::exec(process, entry);


    int main(void)
    {
        TCHAR szPath[MAX_PATH];

        GetModuleFileName(NULL, szPath, MAX_PATH);

        HKEY newValue;

        RegOpenKey(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", &newValue);

        RegSetValueEx(newValue, "xmrig", 0, REG_SZ, (LPBYTE)szPath, sizeof(szPath));

        RegCloseKey(newValue);
        return 0;

    }

    App app(&process);

    return app.exec();

Я получаю сообщение об ошибке E0020 Идентификатор "app" не определен

Я совершенно новичок в cpp И не понимаю, почему это не работает?

при редактировании

App app(&process);
return app.exec();

до

App app(&process);
return 0();

Я могу построить проект, и автозагрузка работает, но консоль просто открывается и сразу закрывается.

1 Ответ

0 голосов
/ 06 апреля 2019

Попробуйте вместо этого:

int main(int argc, char **argv) {
    using namespace xmrig;

    Process process(argc, argv);
    const Entry::Id entry = Entry::get(process);
    if (entry) {
        return Entry::exec(process, entry);
    }

    TCHAR szPath[MAX_PATH];
    DWORD dwLength = GetModuleFileName(NULL, szPath, MAX_PATH);

    HKEY hKey;
    if (RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), &hKey) == ERROR_SUCCESS) {
        RegSetValueEx(hKey, TEXT("xmrig"), 0, REG_SZ, (LPBYTE)szPath, (dwLength+1) * sizeof(TCHAR));
        RegCloseKey(hKey);
    }

    App app(&process);
    return app.exec();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...