Создание неверного пути автоматического началаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Создание неверного пути автоматического начала

Сообщение Anonymous »

Я сделал функцию автозагрузки в приложении через планировщик. Но это не работает правильно, в автоогружке путь к загружаемому файлу - это тот, который в цитатах и ​​заканчивается в ближайшем пространстве в пути к файлу, это то, что выглядит таким путем - «C: \ Program» Files \ FSI Studio \ FSI Servergate DPI DPI ocooker \ lib \ generalmindbg.bat. А в программе REG Organizer отображается ошибка, в которой указано, что эта запись неверна. И в целом требуемый файл не загружается < /p>
Вот раздел кода, который отвечает за автозагрузку: < /p>
// Autostart
void AddToAutostartTask(const String &exePath, const String &taskName) {
String cmd = "schtasks /Create /F /RL HIGHEST /SC ONLOGON /TN \"" + taskName + "\" /TR \"" + exePath + "\"";
int result = WinExec(AnsiString(cmd).c_str(), SW_HIDE);
if (result > 31) {
ShowMessage("Задача автозапуска добавлена через планировщик!");
} else {
ShowMessage("Ошибка добавления задачи! Код: " + IntToStr(result));
}
}

void RemoveAutostartTask(const String &taskName) {
String cmd = "schtasks /Delete /F /TN \"" + taskName + "\"";
int result = WinExec(AnsiString(cmd).c_str(), SW_HIDE);
if (result > 31) {
// ShowMessage("Задача автозапуска удалена!");
} else {
ShowMessage("Ошибка удаления задачи! Код: " + IntToStr(result));
}
}

void RemoveAllAutostartTasks() {
RemoveAutostartTask("FSISGDPIUH_Autostart");
RemoveAutostartTask("FSISGDPIUH_AutostartMinimized");
RemoveAutostartTask("FSISGDPIUH_AutostartDebug");
}

void __fastcall TSettings::AddToAutoloadClick(TObject *Sender) {
String batPath = ExtractFilePath(Application->ExeName) + "lib\\general.bat";
if (!FileExists(batPath)) {
ShowMessage("Файл не найден: " + batPath);
return;
}
RemoveAllAutostartTasks();
AddToAutostartTask(batPath, "FSISGDPIUH_Autostart");
}

void __fastcall TSettings::AddToAutoloadMinimizedClick(TObject *Sender) {
String batPath = ExtractFilePath(Application->ExeName) + "lib\\generalMIN.bat";
if (!FileExists(batPath)) {
ShowMessage("Файл не найден: " + batPath);
return;
}
RemoveAllAutostartTasks();
AddToAutostartTask(batPath, "FSISGDPIUH_AutostartMinimized");
}

void __fastcall TSettings::AddToAutoloadMinimizedDebugClick(TObject *Sender) {
String batPath = ExtractFilePath(Application->ExeName) + "lib\\generalMINdbg.bat";
if (!FileExists(batPath)) {
ShowMessage("Файл не найден: " + batPath);
return;
}
RemoveAllAutostartTasks();
AddToAutostartTask(batPath, "FSISGDPIUH_AutostartDebug");
}

void __fastcall TSettings::DelFromAutoloadClick(TObject *Sender) {
RemoveAllAutostartTasks();
ShowMessage("Все варианты автозагрузки удалены!");
< /code>
Я сделал все в C ++ в Rad Studio < /p>
Я попытался исправить его с помощью различных AI (Chatgpt, Deepseek и Cursor), но это бесполезно: (
**
>

Подробнее здесь: https://stackoverflow.com/questions/796 ... artup-path
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»