Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2010, 11:08   #1
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию Где найти Registry.hpp

DEV C++
Код:
#include <Registry.hpp>
int main()
{
TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_CURRENT_USER;
reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
reg->WriteString("Prog",Application->ExeName);
reg->CloseKey();
}
Пишет что незнает Registry.hpp после чего еще незнает TRegistry из-за Registry.hpp наверно. Как исправить?
Hichigo вне форума Ответить с цитированием
Старый 03.08.2010, 13:28   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это класс от C++ Builder.
используйте АПИ.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.08.2010, 13:42   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

В Dev ке есть модуль winreg.h для этого помоему!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 03.08.2010, 15:02   #4
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию

Не подскажете функцию

Цитата:
В Dev ке есть модуль winreg.h для этого помоему!
winreg.h

#ifndef _WINREG_H
#define _WINREG_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif

#ifdef __cplusplus
extern "C" {
#endif
#define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
#define HKEY_CURRENT_USER ((HKEY)0x80000001)
#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
#define HKEY_USERS ((HKEY)0x80000003)
#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
#define HKEY_DYN_DATA ((HKEY)0x80000006)
#define REG_OPTION_VOLATILE 1
#define REG_OPTION_NON_VOLATILE 0
#define REG_CREATED_NEW_KEY 1
#define REG_OPENED_EXISTING_KEY 2
#define REG_NONE 0
#define REG_SZ 1
#define REG_EXPAND_SZ 2
#define REG_BINARY 3
#define REG_DWORD_LITTLE_ENDIAN 4
#define REG_DWORD 4
#define REG_DWORD_BIG_ENDIAN 5
#define REG_LINK 6
#define REG_MULTI_SZ 7
#define REG_RESOURCE_LIST 8
#define REG_FULL_RESOURCE_DESCRIPTOR 9
#define REG_RESOURCE_REQUIREMENTS_LIST 10
#define REG_QWORD_LITTLE_ENDIAN 11
#define REG_QWORD 11
#define REG_NOTIFY_CHANGE_NAME 1
#define REG_NOTIFY_CHANGE_ATTRIBUTES 2
#define REG_NOTIFY_CHANGE_LAST_SET 4
#define REG_NOTIFY_CHANGE_SECURITY 8

#ifndef RC_INVOKED
typedef ACCESS_MASK REGSAM;
typedef struct value_entA {
LPSTR ve_valuename;
DWORD ve_valuelen;
DWORD ve_valueptr;
DWORD ve_type;
} VALENTA,*PVALENTA;
typedef struct value_entW {
LPWSTR ve_valuename;
DWORD ve_valuelen;
DWORD ve_valueptr;
DWORD ve_type;
} VALENTW,*PVALENTW;
BOOL WINAPI AbortSystemShutdownA(LPCSTR);
BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR ,DWORD,BOOL,BOOL);
BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWS TR,DWORD,BOOL,BOOL);
LONG WINAPI RegCloseKey(HKEY);
LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHK EY);
LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PH KEY);
LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,L PSTR,DWORD,REGSAM,LPSECURITY_ATTRIB UTES,PHKEY,PDWORD);
LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD, LPWSTR,DWORD,REGSAM,LPSECURITY_ATTR IBUTES,PHKEY,PDWORD);
LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD) ;
LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD );
LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWO RD,PDWORD,LPSTR,PDWORD,PFILETIME);
LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDW ORD,PDWORD,LPWSTR,PDWORD,PFILETIME) ;
LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWO RD,PDWORD,PDWORD,LPBYTE,PDWORD);
LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDW ORD,PDWORD,PDWORD,LPBYTE,PDWORD);
LONG WINAPI RegFlushKey(HKEY);
LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INF ORMATION,PSECURITY_DESCRIPTOR,PDWOR D);
LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,D WORD,HANDLE,BOOL);
LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REG SAM,PHKEY);
LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,RE GSAM,PHKEY);
LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD, PDWORD,PDWORD,PDWORD,PDWORD,PDWORD, PDWORD,PDWORD,PDWORD,PFILETIME);
LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD ,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD ,PDWORD,PDWORD,PDWORD,PFILETIME);
LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALEN TA,DWORD,LPSTR,LPDWORD);
LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALEN TW,DWORD,LPWSTR,LPDWORD);
LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PL ONG);
LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWOR D,LPDWORD,LPBYTE,LPDWORD);
LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWO RD,LPDWORD,LPBYTE,LPDWORD);
LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR, PLONG);
LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,L PCSTR);
LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR ,LPCWSTR);
LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ ATTRIBUTES);
LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY _ATTRIBUTES);
LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INF ORMATION,PSECURITY_DESCRIPTOR);
LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCS TR,DWORD);
LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DW ORD,const BYTE*,DWORD);
LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,D WORD,const BYTE*,DWORD);
LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPC WSTR,DWORD);
LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
.......................
Hichigo вне форума Ответить с цитированием
Старый 03.08.2010, 15:04   #5
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию

........................
#ifdef UNICODE
typedef VALENTW VALENT,*PVALENT;
#define AbortSystemShutdown AbortSystemShutdownW
#define InitiateSystemShutdown InitiateSystemShutdownW
#define RegConnectRegistry RegConnectRegistryW
#define RegCreateKey RegCreateKeyW
#define RegCreateKeyEx RegCreateKeyExW
#define RegDeleteKey RegDeleteKeyW
#define RegDeleteValue RegDeleteValueW
#define RegEnumKey RegEnumKeyW
#define RegEnumKeyEx RegEnumKeyExW
#define RegEnumValue RegEnumValueW
#define RegLoadKey RegLoadKeyW
#define RegOpenKey RegOpenKeyW
#define RegOpenKeyEx RegOpenKeyExW
#define RegQueryInfoKey RegQueryInfoKeyW
#define RegQueryMultipleValues RegQueryMultipleValuesW
#define RegQueryValue RegQueryValueW
#define RegQueryValueEx RegQueryValueExW
#define RegReplaceKey RegReplaceKeyW
#define RegRestoreKey RegRestoreKeyW
#define RegSaveKey RegSaveKeyW
#define RegSetValue RegSetValueW
#define RegSetValueEx RegSetValueExW
#define RegUnLoadKey RegUnLoadKeyW
#else
typedef VALENTA VALENT,*PVALENT;
#define AbortSystemShutdown AbortSystemShutdownA
#define InitiateSystemShutdown InitiateSystemShutdownA
#define RegConnectRegistry RegConnectRegistryA
#define RegCreateKey RegCreateKeyA
#define RegCreateKeyEx RegCreateKeyExA
#define RegDeleteKey RegDeleteKeyA
#define RegDeleteValue RegDeleteValueA
#define RegEnumKey RegEnumKeyA
#define RegEnumKeyEx RegEnumKeyExA
#define RegEnumValue RegEnumValueA
#define RegLoadKey RegLoadKeyA
#define RegOpenKey RegOpenKeyA
#define RegOpenKeyEx RegOpenKeyExA
#define RegQueryInfoKey RegQueryInfoKeyA
#define RegQueryMultipleValues RegQueryMultipleValuesA
#define RegQueryValue RegQueryValueA
#define RegQueryValueEx RegQueryValueExA
#define RegReplaceKey RegReplaceKeyA
#define RegRestoreKey RegRestoreKeyA
#define RegSaveKey RegSaveKeyA
#define RegSetValue RegSetValueA
#define RegSetValueEx RegSetValueExA
#define RegUnLoadKey RegUnLoadKeyA
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif


Чем заменить TRegistry *reg = new TRegistry();
reg->RootKey=HKEY_CURRENT_USER;
reg->WriteString("Prog",Application->ExeName);


Это есть RegCloseKey(HKEY);
RegOpenKeyA(HKEY,LPCSTR,PHKEY);
Hichigo вне форума Ответить с цитированием
Старый 03.08.2010, 15:30   #6
Hichigo
Пользователь
 
Регистрация: 19.07.2010
Сообщений: 40
По умолчанию

Всё разобрался вот подходит для Dev C++
char autorun[255] = "D:/1.exe";
DWORD dwtype = 0;
DWORD dwBufsize = sizeof(autorun);
TCHAR szpath[MAX_PATH];
HKEY hKeys;
if(ERROR_SUCCESS==RegCreateKeyEx(HK EY_CURRENT_USER, "Software\\Microsoft\\Windows\\Curr entVersion\\Run",0,NULL,0,KEY_ALL_A CCESS, NULL,&hKeys,NULL))
{
RegSetValueEx(hKeys,"MyProgram",0,R EG_SZ, reinterpret_cast<const BYTE*>(&autorun),sizeof(autorun));
RegCloseKey(hKeys);
}
Hichigo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где найти формулы? Utkin Общие вопросы по программированию, компьютерный форум 7 20.10.2009 15:41
::Registry:: doniyor Общие вопросы Delphi 6 31.01.2009 18:41
Где найти s.mag БД в Delphi 8 30.06.2008 13:34
registry subsonic Общие вопросы Delphi 1 09.01.2008 01:35
Удаление записи с Registry celovec Общие вопросы Delphi 2 29.07.2007 21:55