`
huozheleisi
  • 浏览: 1291966 次
文章分类
社区版块
存档分类
最新评论

vc++学习(六)——代码学习

 
阅读更多

这几天一直在看计算机方面的书,准备考试软件工程师,但是看了看书,太恐怖了,很多我都不会,但是里面提醒了一个内容就是必须会使用一种语言(c++,java等)来编写程序。刚好今天看了一个杂志,里面有一片文章很好,我就开始学习了,所以就写了仿效写了下面的内容。

该工具是用来判断你是否具有管理员权限的工具,代码我就贴在这里。

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

BOOL IsAdmin(void)
{
HANDLE hAccessToken;
BYTE *InfoBuffer;
PTOKEN_GROUPS ptgGroups;

DWORD dwInfoBufferSize;
PSID psidAdministrators;

SID_IDENTIFIER_AUTHORITY sidNtAuthority=SECURITY_NT_AUTHORITY;
UINT i;

BOOL bRet=FALSE;

if(!OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,&hAccessToken))
InfoBuffer=new BYTE[1024];
if(!InfoBuffer)
goto cleanup;

bRet=GetTokenInformation(hAccessToken,TokenGroups,InfoBuffer,1024,&dwInfoBufferSize);

CloseHandle(hAccessToken);
if(!bRet)
goto cleanup;
if(!AllocateAndInitializeSid(&sidNtAuthority,
2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0,0,0,0,0,0,
&psidAdministrators));
goto cleanup;

bRet=FALSE;

ptgGroups=(PTOKEN_GROUPS)InfoBuffer;

for(i=0;i < ptgGroups-> GroupCount;i++)
{
if(EqualSid(psidAdministrators,ptgGroups->Groups[i].Sid))
{
bRet=TRUE;
break;
}

}

FreeSid(psidAdministrators);

cleanup:
if(InfoBuffer)
delete InfoBuffer;

return bRet;
}

main()
{
printf("+------------------------------------+/n");
printf("| ChkAdinistrator v0.1 |/n");
printf("| Write By AloneSword |/n");
printf("| 2005-9-14 |/n");
printf("| thx to sinister |/n");
printf("| http://blog.csdn.net/alonesword/ |/n");
printf("+-----------------------------------+/n");
if(IsAdmin) printf("You have got the Administrators rights./n");
else printf("Sorry,administrator is not you./n");
}

分享到:
评论

相关推荐

    VC++求1——100同构数代码

    在给定的标题"VC++求1——100同构数代码"中,我们讨论的是使用Microsoft的Visual C++编译器编写的一个小程序,这个程序用于寻找1到100之间的所有同构数。 在VC++环境下,我们可以使用C++的基础语法和控制结构来实现...

    vc++程序设计——基础与实例分析源代码

    在"VC++程序设计——基础与实例分析源代码"这个资源中,我们可以找到一系列关于VC++编程的基础知识和实例应用。源代码是学习编程最直接的方式,通过阅读和分析这些代码,你可以更深入地理解C++语言的特性和MFC框架的...

    VC++6.0入门——可视化设计.zip

    **VC++6.0入门——可视化设计** VC++6.0是Microsoft公司开发的一款集成开发环境,主要用于编写基于C++语言的应用程序。这个版本在20世纪90年代末期非常流行,尤其对于Windows平台的桌面应用开发。在这个入门教程中...

    VC++拼图游戏——我在VS2008下编译通过

    【标题】"VC++拼图游戏——我在VS2008下编译通过"揭示了这是一个使用Microsoft Visual C++(VC++)编程环境在Visual Studio 2008版本下开发的项目。这个项目是一个拼图游戏,意味着它涉及到图像处理、用户交互以及...

    vc++课件——轻松搞定vc++

    通过这个“VC++课件——轻松搞定VC++”的学习,你可以掌握C++的基础语法,深入理解面向对象编程的核心概念,并学会如何在VC++环境中运用这些知识。每个章节的PPT文件将详细讲解每个主题,并提供实例代码和练习,确保...

    我的VC++树控——动态树形菜单实例

    内容索引:VC/C++源码,控件相关,树控,树形菜单 我的VC++树控——动态树形菜单实例,可以多次分级,运行适时添加数据,学习树控最好的参考资料,树控可为你的程序增光添彩,带来更好的用户体验,大家应该掌握用法和...

    vc++简单应用程序——适合初级VC使用者

    8. **面向对象编程**:虽然初学者可能会先从面向过程的编程开始,但理解类、对象、继承、封装和多态等面向对象的概念也是VC++学习的重要部分。 通过这样的简单应用程序,初学者可以逐步建立起对VC++和C++语言的直观...

    VC++程序设计--基础与实例分析

    《VC++程序设计--基础与实例分析》...通过学习这本书,读者可以系统地掌握VC++编程技术,为今后的软件开发工作打下坚实的基础。无论是对C++感兴趣的学生,还是希望转行进入软件开发领域的专业人士,都能从中受益匪浅。

    VC++范例——基本控件

    在这一章节中,我们将学习到如何搭建VC++开发环境,了解Visual Studio IDE的基本操作,以及创建和管理项目。VC++是Microsoft为Windows平台开发的应用程序提供的集成开发环境,它基于C++语言并集成了MFC(Microsoft ...

    VC++高级界面特效——3

    以上是可能在"VC++高级界面特效——3"中涉及的一些技术点,实际内容可能根据提供的资源文件"char24"进一步展开,包括具体的代码示例、教程步骤或其他实用技巧。深入学习和实践这些知识点,能够帮助开发者创建出更为...

    VC++编译器源代码

    《VC++编译器源代码——深入理解C++编译器内部机制》 在软件开发领域,编译器是至关重要的工具,它将人类可读的高级语言转换为机器可以执行的指令。对于C++这样的面向对象编程语言,编译器的理解与分析显得尤为复杂...

    VC++开发经验技巧宝典——光盘--源代码合集

    《VC++开发经验技巧宝典》是一本专为VC++开发者设计的技术图书,其光盘包含的源代码合集是学习和提升VC++编程技能的重要资源。这本书的作者团队,明日科技,以其丰富的经验和深入的理解,精心挑选并提供了上百个经典...

    vc++深入详解源代码

    这本书的描述简洁明了,直接指向主题——深入解析VC++的源代码,这对于想要提升编程技能、优化代码性能或解决复杂问题的开发者来说,无疑是一份宝贵的参考资料。 标签"vc深入详解源"突出了本书的核心内容,即对VC++...

    vc++编译器源代码

    ### 四、源代码学习价值 1. **理解编译原理**:通过阅读VC++ 6.0的源代码,开发者可以深入理解编译器的工作流程和设计思想。 2. **扩展和定制**:对于需要针对特定需求定制编译器的开发者,源代码提供了基础框架和...

    拼图游戏——VC++源代码

    综上所述,"拼图游戏——VC++源代码"是一个综合性的编程实践项目,涵盖了C++编程、图形界面设计、算法实现、错误处理等多个重要领域,对于学习和提升VC++开发技能大有裨益。通过研究这个源代码,开发者不仅可以学习...

    VC++高级界面特效——2

    以上只是“VC++高级界面特效(2)”可能涵盖的一部分内容,实际的学习过程中,你可能会遇到更多关于界面设计、图形编程和用户体验的深度话题。通过深入学习和实践,你可以创造出令人眼前一亮的VC++应用程序。

    21天学会VC++ —— PPT教程

    《21天学会VC++ —— PPT教程》是一份专为初学者设计的课程,旨在帮助学习者在三周时间内掌握VC++的基础知识。VC++是Microsoft开发的一款集成开发环境,支持C++语言,广泛应用于Windows平台上的应用程序开发。本教程...

    VC++贪吃蛇源代码

    【VC++贪吃蛇源代码】是一个非常适合VC++初学者学习和实践的项目。这个项目的核心是使用Microsoft的Visual C++编程环境来实现经典游戏——贪吃蛇。通过研究和理解这个源代码,初学者可以深入掌握C++编程语言、...

    VC++斗地主源代码实例

    【VC++斗地主源代码实例】是一个编程学习资源,主要使用Microsoft的Visual C++(简称VC++)作为开发工具,实现了一款经典的扑克牌游戏——斗地主。在这个实例中,开发者通过C++语言来设计游戏逻辑,构建服务器端和...

    VC++俄罗斯方块源代码

    【VC++俄罗斯方块源代码】是一个基于Microsoft Visual C++(VC++)开发的经典游戏——俄罗斯方块的源代码项目。这个项目展示了如何利用C++编程语言和VC++的MFC(Microsoft Foundation Classes)框架来实现一个桌面版...

Global site tag (gtag.js) - Google Analytics