О великие программисты!!!
От: Аноним  
Дата: 18.02.05 10:44
Оценка: :))) :)))
О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!! Обьясните (как можете) как работать с реестром, какие библиотеки подключать, какие функции вызывать,и как указывать путь к разделу реестра, как создавать значения с параметрами, как менять параметры?!?! Плиз!!! Напишите хотть что то!!!
С Уважением Гонадс!

18.02.05 15:39: Перенесено из 'C/C++'
Re: О великие программисты!!!
От: Vamp Россия  
Дата: 18.02.05 10:47
Оценка: :)))
А>Плиз!!! Напишите хотть что то!!!

ааа ббб ввв.
Да здравствует мыло душистое и веревка пушистая.
Re[3]: О великие программисты!!!
От: Кодт Россия  
Дата: 21.02.05 10:42
Оценка: :))
Здравствуйте, Ghonads, Вы писали:

G>Спасибо всем Богам и другим ангелам програмирования которые мне помогли (Это я был Анонимом)!!! Спасибо за чудесные функции!!! Надеюсь что в скором будущем админские и программерские шаманские бубны будут тесно дружить!!!


Пожертвования богам принимаются в виде оценок
Перекуём баги на фичи!
Re: О великие программисты!!!
От: Кодт Россия  
Дата: 18.02.05 10:51
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!! Обьясните (как можете) как работать с реестром, какие библиотеки подключать, какие функции вызывать,и как указывать путь к разделу реестра, как создавать значения с параметрами, как менять параметры?!?! Плиз!!! Напишите хотть что то!!!


Что подключать:
#include <windows.h>
#pragma comment(lib, "kernel32")

Какие функции вызывать: rtfm MSDN RegCreateKey, RegOpenKey, RegQueryValue, RegSetValue и так далее.

В минимальном виде, может быть достаточно GetPrivateProfileString и т.д.

В MFC есть ООП-обёртки для всего этого хозяйства — CRegKey.

Кроссплатформенные С++ные библиотеки для работы с реестром — я не знаю (пользуюсь рукодельной), но могу поспорить, что на www.sourceforge.net и www.codeguru.com чего-нибудь найдётся.
Перекуём баги на фичи!
Re: О великие программисты!!!
От: Other Sam Россия  
Дата: 20.02.05 08:59
Оценка: 1 (1)
Здравствуйте, <Аноним>, Вы писали:

А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!! Обьясните (как можете) как работать с реестром, какие библиотеки подключать, какие функции вызывать,и как указывать путь к разделу реестра, как создавать значения с параметрами, как менять параметры?!?! Плиз!!! Напишите хотть что то!!!

А> С Уважением Гонадс!

Насколько я знаю админы предпочитают скрипты и командную строку.
В командной строке есть regedit /e которые можно использовать для импорта и экспорта разделов. Какая-то еще была софтинка для этого, но я не смог вспомнить.
Что касается скриптов....
Вот пример на vbs
Option Explicit

Dim wsh
Dim homepath

Set wsh = CreateObject("WScript.Shell")

homepath = wsh.RegRead("HKEY_CURRENT_USER\Volatile Environment\HOMEPATH")
WScript.Echo homepath
Re[2]: О великие программисты!!!
От: Awaken Украина  
Дата: 18.02.05 10:53
Оценка: :)
AR>Странный ты Гонадс. Тебе в winAPI надо, а не сюда

Гонадс это яйца что ли?
Re: О великие программисты!!!
От: Pavel Dvorkin Россия  
Дата: 21.02.05 12:09
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!!


О великие нераздупленные админы! Гуру сетей компьютерных и гении файрволов сетевых! Гиганты мысли и отцы политики безопасности! За какой надобностью вы решили отбивать хлеб у несчастных программистов, которые вынуждены писать сложные программы с вызовом ужасных Reg* функций, когда все, что они умеют, делается вами, гуру великие , путем нажатия нескольких кнопок в великом и ужасном regedit.exe, да снизойдет на него благословение от Микрософт!
With best regards
Pavel Dvorkin
Re[2]: О великие программисты!!!
От: Ghonads Украина  
Дата: 21.02.05 22:06
Оценка: :)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Аноним, Вы писали:


А>>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!!


PD>О великие нераздупленные админы! Гуру сетей компьютерных и гении файрволов сетевых! Гиганты мысли и отцы политики безопасности! За какой надобностью вы решили отбивать хлеб у несчастных программистов, которые вынуждены писать сложные программы с вызовом ужасных Reg* функций, когда все, что они умеют, делается вами, гуру великие , путем нажатия нескольких кнопок в великом и ужасном regedit.exe, да снизойдет на него благословение от Микрософт!


О спасибо за раздупление великий программист Pavel Dvorkin!!! Мы (Админы) всё делаем ручками, это правда!!! Но мне захотелось чего то и почему то полезть в С++!!! О извините меня за Ваш Хлеб!!! Я Вам не буду мешать!!!
Re: О великие программисты!!!
От: Amon-RA  
Дата: 18.02.05 10:46
Оценка:
Здравствуйте, Аноним, Вы писали:

А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!! Обьясните (как можете) как работать с реестром, какие библиотеки подключать, какие функции вызывать,и как указывать путь к разделу реестра, как создавать значения с параметрами, как менять параметры?!?! Плиз!!! Напишите хотть что то!!!

А> С Уважением Гонадс!

Странный ты Гонадс. Тебе в winAPI надо, а не сюда
Re: О великие программисты!!!
От: Awaken Украина  
Дата: 18.02.05 10:51
Оценка:
А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не >могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!! Обьясните (как можете) как

и при чем тут C++?
все что тебе нужно знать это несколько функций из Win32 API RegCreateKeyEx/RegOpenKeyEx/RegEnumKeyEx
MSDN рулит, примеры там найдешь.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regopenkeyex.asp
Re: О великие программисты!!!
От: sadomovalex Россия http://sadomovalex.blogspot.com
Дата: 18.02.05 10:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!! Обьясните (как можете) как работать с реестром, какие библиотеки подключать, какие функции вызывать,и как указывать путь к разделу реестра, как создавать значения с параметрами, как менять параметры?!?! Плиз!!! Напишите хотть что то!!!


Дары на алтаре ?
http://www.rsdn.ru/Forum/Message.aspx?mid=53264
Автор: ynblpb
Дата: 11.05.02

http://www.rsdn.ru/Forum/Message.aspx?mid=482828
Автор: klmn
Дата: 18.12.03

http://www.rsdn.ru/Forum/Message.aspx?mid=654835
Автор: Den_ISBogdanov
Дата: 26.05.04


http://www.rsdn.ru/article/qna/baseserv/regren.xml
Автор(ы): Александр Шаргин
Дата: 18.02.2001

http://www.rsdn.ru/article/qna/baseserv/regdel.xml
Автор(ы): Александр Шаргин
Дата: 18.02.2001

http://www.rsdn.ru/article/qna/baseserv/regcopy.xml
Автор(ы): Александр Шаргин
Дата: 18.02.2001
"Что не завершено, не сделано вовсе" Гаусс
Re: О великие программисты!!!
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 18.02.05 12:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>О Великие программисты! Боги программ компьютерных!!! Помогите нераздуплённому админу, помогите Богам сетей компьютерных, Короче не могу я вас понять, не могу понять как работать с реестром Маздая в С++!!! Не могу понять что Вы пишете!!!


Жалко, что админские и программерские шамански бубны плохосовместимы

А>Обьясните (как можете) как работать с реестром, какие библиотеки подключать, какие функции вызывать,и как указывать путь к разделу реестра, как создавать значения с параметрами, как менять параметры?!?! Плиз!!! Напишите хотть что то!!!


Вот тебе в помощь:

Как в MS Windows работать с ключами и подключами в реестре
----------------------------------------------------------------------------------------------
Rentaguru
Re: О великие программисты!!!
От: Xanatoss Беларусь  
Дата: 18.02.05 13:06
Оценка:
RegOpenKey
RegDeleteKey
и т.п.

Это в Visual C++;
подробней см в MSDN
Re[2]: О великие программисты!!!
От: Ghonads Украина  
Дата: 19.02.05 14:26
Оценка:
Здравствуйте, Xanatoss, Вы писали:

X>RegOpenKey

X>RegDeleteKey
X>и т.п.

X>Это в Visual C++;

X>подробней см в MSDN

Спасибо всем Богам и другим ангелам програмирования которые мне помогли (Это я был Анонимом)!!! Спасибо за чудесные функции!!! Надеюсь что в скором будущем админские и программерские шаманские бубны будут тесно дружить!!!
Re: О великие программисты!!!
От: Ghonads Украина  
Дата: 19.02.05 19:33
Оценка:
Вот фигня получается! Я делаю всё как надо, а она не хочет...
Вот посмотрите код:

# include <iostream.h>
# include <winreg.h>

void main()
{
REGSETVALUE,,HKEY_CURRENT_USER,,Control Panel\International,,sLongDate,DAREG_SZ,MM/dd/yyyy;
}

Оно мне вот чё за лажу даёт:
f:\program files\microsoft visual studio\vc98\include\winreg.h(36) : error C2146: syntax error : missing ';' before identifier 'REGSAM'
f:\program files\microsoft visual studio\vc98\include\winreg.h(36) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

Вообщем, если кто знает помогите плиз!!!
Re[2]: О великие программисты!!!
От: Martusenko Украина www.palmosters.com
Дата: 20.02.05 02:51
Оценка:
Здравствуйте, Ghonads, Вы писали:

G>Вот фигня получается! Я делаю всё как надо, а она не хочет...

G>Вот посмотрите код:

...skipped...

Если есть под рукой VS, то создай консольное приложение, удали из проекта stdafx.*, в настройках проэкта установи "not use precompiled headers" и замени содержимое оставшегося файла на следующее.

#include <windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
HKEY hKey = NULL;
DWORD keyType = REG_SZ, dataBufSize = 256;
char valueKeyData[256] = {0};

// читаем текущее значение
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\International", 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
if (RegQueryValueEx(hKey, "sLongDate", NULL, &keyType, (LPBYTE)valueKeyData, &dataBufSize) == ERROR_SUCCESS)
{
printf("Current value: %s\n", valueKeyData);
}
RegCloseKey(hKey);
}

keyType = REG_SZ, dataBufSize = 256;

// записываем новое
if (RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\International", 0, KEY_WRITE, &hKey) == ERROR_SUCCESS)
{
if (RegSetValueEx(hKey, "sLongDate", NULL, REG_SZ, (BYTE*)"MM/dd/yyyy", (DWORD)strlen("MM/dd/yyyy")+1) == ERROR_SUCCESS)
{
printf("New value: MM/dd/yyyy\n");
}
RegCloseKey(hKey);
}

return 0;
}
Re[2]: О великие программисты!!!
От: Аноним  
Дата: 20.02.05 03:43
Оценка:
G>Вообщем, если кто знает помогите плиз!!!
Что это вообще было?
Re[3]: О великие программисты!!!
От: Martusenko Украина www.palmosters.com
Дата: 20.02.05 03:46
Оценка:
Здравствуйте, Аноним, Вы писали:

G>>Вообщем, если кто знает помогите плиз!!!

А>Что это вообще было?


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xpehelp/html/wesamregsetvalue.asp
Re[3]: О великие программисты!!!
От: retn нет
Дата: 21.02.05 22:27
Оценка:
Здравствуйте, Ghonads, Вы писали:

PD>>О великие нераздупленные админы! Гуру сетей компьютерных и гении файрволов сетевых! Гиганты мысли и отцы политики безопасности! За какой надобностью вы решили отбивать хлеб у несчастных программистов, которые вынуждены писать сложные программы с вызовом ужасных Reg* функций, когда все, что они умеют, делается вами, гуру великие , путем нажатия нескольких кнопок в великом и ужасном regedit.exe, да снизойдет на него благословение от Микрософт!


G>О спасибо за раздупление великий программист Pavel Dvorkin!!! Мы (Админы) всё делаем ручками, это правда!!! Но мне захотелось чего то и почему то полезть в С++!!! О извините меня за Ваш Хлеб!!! Я Вам не буду мешать!!!


Чё так много Стариков Хотыбычей в этой ветке?
RSDN@Home 1.1.4 beta 4 340
Re[3]: О великие программисты!!!
От: retn нет
Дата: 21.02.05 22:58
Оценка:
Здравствуйте, Awaken, Вы писали:

AR>>Странный ты Гонадс. Тебе в winAPI надо, а не сюда


A>Гонадс это яйца что ли?


Нет это плохой танцор.
RSDN@Home 1.1.4 beta 4 340 Billy Idol — Cradle love
Re[2]: О великие программисты!!!
От: retn нет
Дата: 21.02.05 23:42
Оценка:
Здравствуйте, Other Sam, Вы писали:

OS>Вот пример на vbs

OS>
OS>Option Explicit
OS>Dim wsh
OS>Dim homepath
OS>Set wsh = CreateObject("WScript.Shell")
OS>homepath = wsh.RegRead("HKEY_CURRENT_USER\Volatile Environment\HOMEPATH")
OS>WScript.Echo homepath
OS>


А как быть(используя только скрипт) если надо записать "большой" REG_BINARY ?
Типа такого?

"Boot Bus Extender"=hex:07,00,00,00,07,00,00,00,01,00,00,00,02,00,00,00,04,00,00,00,05,00,00,00,06,00,00,00,00,3e,00,3e

Сможешь с помощью WScript.Shell?

У меня не получилось, вот с помощью WMI:
'
'The following information applies to all version of SoftICE running on windows 2000 SP4.
'If you are experiencing a garbled screen when softice is configured for boot mode, the following workaround will be required.
'3. Using Regedit go to HKLM\System\CurrentControlSet\Services\Siwvid and change its Group to be "Boot Bus Extender" without the quotes.
'4. Make note of its tag value, it should be 0x10.
'5. Go to the following registry key, HKLM\System\CurrentControlSet\Control\GroupOrderList.
'6. Double click on boot bus extender.  Increase the first byte by one.  After entering in the +1 value you will most likely need to hit the delete key depending '   on which registry editor you are using.
'7. Add the value for the  SiwVid tag (hex value of ten) as the first entry directly after the count byte. You would enter this as (assuming byte display is 
'   showing) 00 00 00 10. For example if your entry used to look like "02 00 00 00 40 00 00 00 20", it will now look like "03 00 00 00 10 00 00 00 40 00 00 00 20"
'8. Make sure /noguiboot is in your boot.ini file for the os that is being debugged
'9. Reboot.  
'
'
'
Const HKEY_CLASSES_ROOT       = &H80000000 
Const HKEY_CURRENT_USER       = &H80000001
Const HKEY_LOCAL_MACHINE      = &H80000002
Const HKEY_USERS              = &H80000003
Const HKEY_CURRENT_CONFIG     = &H80000005
Const HKEY_DYN_DATA           = &H80000006

Const cstrSiwvidGroupVal    ="Boot Bus Extender"

Dim WshShell
Dim wscVersion
Dim objWMI,objReg
Dim strComputer
Dim strRegKeySiwvid,strRegKeyGOL,valKey
Dim uBinary(),uNewBinary()

'uBinary = 
strComputer = "."
strRegKeySiwvid = "System\CurrentControlSet\Services\Siwvid"
strRegKeyGOL = "System\CurrentControlSet\Control\GroupOrderList"
Set WshShell = WScript.CreateObject("WScript.Shell")
wscVersion = cdbl(Replace(WScript.version,".",","))
'wscVersion = cdbl(WScript.version)
'msgbox wscVersion 
if wscVersion < 5.6 then
    msgbox "WScript version not valid! Required 5.6 or higher!",vbOKOnly
    WScript.Quit -1
end if

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objReg.GetStringValue HKEY_LOCAL_MACHINE,strRegKeySiwvid,"Group",valKey
If valKey<>cstrSiwvidGroupVal Then
    objReg.SetStringValue HKEY_LOCAL_MACHINE,strRegKeySiwvid,"Group",cstrSiwvidGroupVal
end If
objReg.GetDWORDValue HKEY_LOCAL_MACHINE,strRegKeySiwvid,"Tag",valKey
'WScript.echo valKey
objReg.GetBinaryValue HKEY_LOCAL_MACHINE,strRegKeyGOL,"Boot Bus Extender",uBinary
'i = 0
ReDim uNewBinary(UBound(uBinary)+4)
For j = LBound(uBinary) To UBound(uBinary)
    If j = Lbound(uBinary) Then
        uNewBinary(j) = uBinary(j)+1
        'i=i+1
    ElseIf j = LBound(uBinary)+1 Then
        uNewBinary(j) = 0
        uNewBinary(j+1) = 0
        uNewBinary(j+2) = 0
        uNewBinary(j+3) = 16
        uNewBinary(j+4) = uBinary(j)
    Else
        uNewBinary(j+4) = uBinary(j)
    End If
Next
'--------------
For j = LBound(uBinary) To UBound(uBinary)
    sMsg = sMsg & uBinary(j) & " "
    If j = UBound(uBinary) Then
        sMsg = sMsg & vbCrLf
  End If
Next
For j = LBound(uNewBinary) To UBound(uNewBinary)
    sMsg = sMsg & uNewBinary(j) & " "
    If j = UBound(uNewBinary) Then
        sMsg = sMsg & vbCrLf
  End If
Next
WScript.echo sMsg
'--------------
objReg.SetBinaryValue HKEY_LOCAL_MACHINE,strRegKeyGOL,"Boot Bus Extender",uNewBinary
RSDN@Home 1.1.4 beta 4 340 ....................... Billy Idol — Don't need a gun (single edit)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.