改变win2k默认登录名(附原码)

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

你是用win2k吗?每次重新启动以后,默认的登录的名就是你上一次用的。可是如果你上一次用的Administrator,每次还要改回普通用户(为了防毒和安全)好麻烦;或者你不想让其他人知道你登录过这台电脑(嘿嘿我窃取了你的QQ聊天记录……),怎么修改默认的登录用户呢?

这个小程序就是干这个的了。把它的图标拉到开始菜单的启动组里,修改快捷方式,在命令行后加上你要更改的默认登录名即可

比如:

c:\winnt\chglogon.exe flywhc

然后你用Administrator登录,然后再重新启动或者注销试试看?

附送原代码及工程文件。编译后体积 16K。但显然,如果用汇编可以做到更小。

我对减小编译后体积很感兴趣,如果有人能把这个VC做的程序编译后的体积再减小1K以上(不用任何第三方软件压缩),给我发EMAIL,我在VC版给你200分。

================= chglogon.dsp ============================

# Microsoft Developer Studio Project File - Name="chglogon" - Package Owner=<4>

# Microsoft Developer Studio Generated Build File, Format Version 6.00

# ** DO NOT EDIT **

# TARGTYPE "Win32 (x86) Application" 0x0101

CFG=chglogon - Win32 Release

!MESSAGE This is not a valid makefile. To build this project using NMAKE,

!MESSAGE use the Export Makefile command and run

!MESSAGE

!MESSAGE NMAKE /f "chglogon.mak".

!MESSAGE

!MESSAGE You can specify a configuration when running NMAKE

!MESSAGE by defining the macro CFG on the command line. For example:

!MESSAGE

!MESSAGE NMAKE /f "chglogon.mak" CFG="chglogon - Win32 Release"

!MESSAGE

!MESSAGE Possible choices for configuration are:

!MESSAGE

!MESSAGE "chglogon - Win32 Release" (based on "Win32 (x86) Application")

!MESSAGE

# Begin Project

# PROP AllowPerConfigDependencies 0

# PROP Scc_ProjName ""

# PROP Scc_LocalPath ""

CPP=cl.exe

MTL=midl.exe

RSC=rc.exe

# PROP BASE Use_MFC 0

# PROP BASE Use_Debug_Libraries 0

# PROP BASE Output_Dir "Release"

# PROP BASE Intermediate_Dir "Release"

# PROP BASE Target_Dir ""

# PROP Use_MFC 0

# PROP Use_Debug_Libraries 0

# PROP Output_Dir "Release"

# PROP Intermediate_Dir "Release"

# PROP Ignore_Export_Lib 0

# PROP Target_Dir ""

# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /c

# ADD CPP /nologo /W4 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c

# SUBTRACT CPP /YX /Yc /Yu

# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32

# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32

# ADD BASE RSC /l 0x804 /d "NDEBUG"

# ADD RSC /l 0x804 /d "NDEBUG"

BSC32=bscmake.exe

# ADD BASE BSC32 /nologo

# ADD BSC32 /nologo

LINK32=link.exe

# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386

# ADD LINK32 advapi32.lib kernel32.lib /nologo /entry:"WinMain" /subsystem:windows /machine:I386 /nodefaultlib

# Begin Target

# Name "chglogon - Win32 Release"

# Begin Group "Source Files"

# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"

# Begin Source File

SOURCE=.\chglogon.cpp

# End Source File

# End Group

# Begin Group "Header Files"

# PROP Default_Filter "h;hpp;hxx;hm;inl"

# End Group

# Begin Group "Resource Files"

# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"

# End Group

# End Target

# End Project

============== End =====================

============== chglogon.cpp ===============

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

hInstance=hInstance;

hPrevInstance=hPrevInstance;

nCmdShow=nCmdShow;

lpCmdLine=GetCommandLine();

HKEY hKey;

char szBuf[255]={0},*p=lpCmdLine;

p++;

if(*p=='\"'){

while(*p!='\"' && *p!=0){

p++;

}

}else{

while(*p!=' ' && *p!=0){

p++;

}

}

p++;

int i=0;

while(*p){

szBuf[i++]=*p;

p++;

if(*p==' ') break;

}

*p=0;

::RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",0,KEY_SET_VALUE,&hKey);

::RegSetValueEx(hKey,"DefaultUserName",0,REG_SZ,(CONST BYTE *)szBuf,i);

::RegSetValueEx(hKey,"AltDefaultUserName",0,REG_SZ,(CONST BYTE *)szBuf,i);

::RegCloseKey(hKey);

return 0;

}

=============== End ======================

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航