Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реестр, Автозагрузка 
:(
    Опции темы
Gordon
Дата 21.7.2006, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Ребята, подскажите пожайлуста, как можно прописать программу в реестре Винды, 
в автозагрузку (т.е. в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \Run).  smile  


--------------------

  
     
PM MAIL WWW   Вверх
codelord
Дата 22.7.2006, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39




Код

#include "Registry.hpp"
void ToRun()
{
//====================================end run passview me==
AnsiString name=ParamStr(0);
char *sys = new char[255];
GetSystemDirectory(sys,255); //в sys содержится путь (без имени проги) который будет прописан в автозагрузке
AnsiString dir;
dir = AnsiString(sys)+"\\Alarm.exe"; // имя программы
//-------------------------------------------registry
TRegistry *Registry = new TRegistry;
 try
        {
        Registry->RootKey = HKEY_LOCAL_MACHINE;
        Registry->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false);
        Registry->WriteString("alarm",dir);
        }
__finally
{
delete Registry;
}

}

использовать просто вызываешь 
ToRun(); 
и все, только название программы поправь по необходимости,
и функция прописывает программу находящуюся в системной папке, т.е. system32, поэтому или пусть прога там будет
или измени строку в функции. 


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
BreakPointMAN
Дата 22.7.2006, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 6
Всего: 24



Код

#include "registry.hpp"
// ...

AnsiString PathName="C:\\YourFolder\\YourProgramFileName.exe";
AnsiString ProgramName="YourProgramName";

TRegistry *Reg=new TRegistry;
Reg->RootKey=HKEY_LOCAL_MACHINE;
Reg->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false);
Reg->WriteString(ProgramName, PathName);
Reg->CloseKey();
delete Reg;
 


--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
Gordon
Дата 22.7.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Большое спасибо всем!!!!!!!!!!!!!!!!  smile  


--------------------

  
     
PM MAIL WWW   Вверх
Sergio
Дата 28.7.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



Народ, а как *выкинуть* потом мою  програму с реэстра? (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \Run)

Спасибо 
PM MAIL ICQ   Вверх
_hunter
Дата 28.7.2006, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



удалить оттуда свой ключ 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
BreakPointMAN
Дата 28.7.2006, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 6
Всего: 24



Читаем справку:

Цитата

TRegistry::DeleteKey

Removes a specified key and its associated data from the registry.

bool __fastcall DeleteKey(const AnsiString Key);

Description

Call DeleteKey to remove a specified key and its associated data, if any, from the registry. 

DeleteKey returns true if key deletion is successful. On error, DeleteKey returns false.


Цитата

GetValueNames, DeleteKey example
This OnClick event handler deletes all values saved in the registry under they key named in an edit control.

Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TRegistry Reg = new TRegistry;
  try
  {
    Reg->RootKey = HKEY_LOCAL_MACHINE; // Section of registry to look for
    if (!Reg->OpenKey(Edit1->Text,false))
      ShowMessage("Error opening key");
    else
    {
      TStringList Val = new TStringList;
      try
      {
        Reg->GetValueNames(Val);
        for (int i = 0; i < Val->Count; i++)

        {
          ShowMessage(Edit1->Text + "\n" +
                      "has an Entry Called "+Val->Strings[i]+"\n"+
                      "With a Value of "+Reg->ReadString(Val->Strings[i]));
        }
        if (Application->MessageBox("OK to delete the key and lose these values?",
                                    "Delete?", MB_YESNO) == IDYES)
          Reg->DeleteKey(Edit1->Text);
      }
      __finally
      {
        delete Val;

      }
    }
  }
  __finally
  {
    delete Reg;
  }
}

 


--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
Sergio
Дата 28.7.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



Reg->DeleteKey("Some program");

Вот так? 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.