Проверка прав пользователя на C++

 

 Unit1.cpp

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
// Начало проверки прав прользователя
bool _fastcall (AdminOrUser) (void) //Создаем функцию AdminOrUser
{
	typedef HRESULT (WINAPI *ADMINUSER) (void);

	ADMINUSER AdminUser; // Объявляем переменную
	HANDLE cShell32; //Наш неопределенный тип данных
	bool tt = False; //Булевое значение tt Fail

	cShell32 = LoadLibrary ( TEXT("SHELL32.DLL")); //Загружаем файл SHELL32.DLL
	if (cShell32)
		{
		 AdminUser = (ADMINUSER)
		 GetProcAddress((HINSTANCE) cShell32, (LPCSTR) 680); //Читаем
		 tt = AdminUser();
		 FreeLibrary ((HINSTANCE) cShell32); //Выгружаем файл SHELL32.DLL
		}
	  return (tt) ;

}
// Конец проверки прав пользователя
__fastcall TForm4::TForm4(TComponent* Owner)
	: TForm(Owner)
{
  if (AdminOrUser()) //Достаем из функции AdminOrUser наши данные и проверяем условием
  {
	Label1->Caption = L"Администратор";
  }
  else
  {
	Label1->Caption = L"Обычный пользователь";
  }
}
//---------------------------------------------------------------------------

 Unit1.h

//---------------------------------------------------------------------------

#ifndef Unit4H
#define Unit4H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
//---------------------------------------------------------------------------
class TForm4 : public TForm
{
__published:	// IDE-managed Components
	TLabel *Label1;
private:	// User declarations
public:		// User declarations
	__fastcall TForm4(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm4 *Form4;
//---------------------------------------------------------------------------
#endif