Проверка прав пользователя на 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