Doporučujeme














Naše Bannery








Toplist




Modul užitočných funkcií - WinAPI
Napísal Patrik Slučiak (Diallix)   
Streda, 07 Január 2015 22:31

 

V tomto projektu vytvorím modul do ktorého budem postupne vytvárať užitočné funkcie pre prácu či už so súbormi, dátami, alebo inými časťami v systéme.

Pevne verím, že tak ako mne, budú užitočné a pomôžu aj vám :]]




ResourceLoad

Ako prvou by som začal funkciou spracovania dát z dátového zdroja Resources, čo som popísal v článku >>Tu<<
Funkciu som trocha poupravil, aby bola univerzálna a pridal som štvrtý parameter instance, ktorý umožňuje načítať dátový zdroj aj z inej lokality ako z defaultného zdroja materského súboru, do ktorého sme Resources uložili (ako v hore spomenutom článku), čo sme reprezentovali hodnotou NULL.

v Projekte som funkciu pomenoval ako :


       bool ResourceLoad(int id, LPCWSTR section, LPCWSTR path, HMODULE instance)

Parameter id Povinná vstupná hodnota reprezentujúca označenie uloženého súboru v resources.
Parameter section Povinná vstupná hodnota reprezentujúca sekciu/typ danej resources.
Parameter path Povinná vstupná hodnota reprezentujúca cestu uloženia súboru z resources.
Parameter instance Povinná vstupná hodnota reprezentujúca inštanciu dátového zdroja, odkiaľ sa majú dáta načítať. Ak sú dáta-resource uložené v tom istom súbore projektu, z ktorého je knižnica includovaná, zadáva sa parameter NULL.
Funkcia vracia pravdivostnú hodnotu úspešnosti spracovania.
Príklad použitia► SOURCE 

 

 

SetAttrib

Druhou užitočnou funkciou je funkcia na nastavenie atribútov súborom.

Umožňuje nastaviť súboru atribúty ako HIDE (označí súbor ako skrytý), SYSTEM (označí súbor ako systémový), READONLY (označí súbor iba na čítanie), HIDE-SYSTEM-READONLY (nastaví súboru všetky tri atribúty), NORMAL (zresetuje atribúty na default).


V knižnici je funkcia pomenovaná ako:


       bool SetAttrib(LPCWSTR path, FileAttribute attrib)


Parameter path reprezentuje cestu k súboru, ktorému chceme nastaviť atribúty.
Parameter attrib reprezentuje druh atribútu, ktorý nastavujeme, napríklad SYSTEM.

Podrobnejší popis je v dokumentácií DoxyGen nižšie.
Príklad použitia► SOURCE 

 

 

IsAdminExec

Dosť užitočnou funkciou je funkcia, ktorá vie detekovať či bola aplikácie spustená s oprávnením administrátora alebo nie. Môže sa to hodiť a určite aj bude.

Funkcia vracia pravdivostnú hodnotu na základe druhu spustenia: TRUE, ak bola aplikácia spustená s Admin. právom, FALSE, ak aplikácia nemá administrátorske oprávnenia.


       bool IsAdminExec(void);

Podrobnejší popis je v dokumentácií DoxyGen nižšie.
Príklad použitiaSOURCE

 

 

SystemIntegrity

Táto funkcia nám zabezpečí nastavenie úrovne SystemIntegrity. Článok o obídení prístupu s využitím tejto úrovne som popísal: >>Tu<<
Pre povolenie úrovne je potrebné použiť parameter: Privilege::ENABLE.
Pre zakázanie úrovne parameter: Privilege::DISABLE.


       int SystemIntegrity(Privilege privilege)

Pri úspešnom nastavení úrovne parametrom Privilege::ENABLE, funkcia vráti hodnotu "2".
Pri úspešnom zrušení úrovne parametrom Privilege::DISABLE, funkcia vráti hodnotu "1".
Pri zlyhaní, funkcia vráti danú chybu zlyhanej časti.

Podrobnejší popis je v dokumentácií DoxyGen nižšie.
Príklad použitia► SOURCE 



 

ClearConsole

Funkcia ClearConsole() umožňuje vymazať obsah konzoly.


       void ClearConsole(void)

Príklad použitiaSOURCE

 

ExecuteFile

Funkcia ExecuteFile(...) poskytuje možnosti spustenia daného súboru.


       void ExecuteFile(string filepath, string param, SelfWindow ishide)

Parameter "filepath" reprezentuje umiestnenie súboru.
Parameter "param" reprezentuje parametre, ktorými sú subor vyvolaný.
Parameter "ishide" udáva, či má byť súbor spustený na pozadí. Skrýva, respektíve zobrazuje okná spusteného súboru. Nastavuje sa dvomi hodnotami, a to SelfWindow::HIDE a SelfWindow::SHOW .
Príklad použitia► SOURCE 



 

IsConnection

Funkcia IsConnection() umožňuje detekovať pripojenie konektivitu do siete .


       bool IsConnection(void)

Príklad použitiaSOURCE

 

CreateFolder

Funkcia CreateFolder(...) umožňuje vytvoriť adresár. Pokiaľ je adresár podadresárom, funkcia rekurzívne vytvorí všetke adresáre v uvedenej ceste .


       bool CreateFolder(string folderlocation)

Parameter "folderlocation" reprezentuje cestu, kde chceme adresár (adresáre) vytvoriť.
Príklad použitia► SOURCE 



 

CreateFile

Funkcia CreateFile(...) umožňuje vytvoriť súbor.


       bool CreateFile(char * file, char * buffer, int size)

Parameter "file " povinná vstupná hodnota reprezentujúca cestu s názvom súbora.
Parameter "buffer" povinná vstupná hodnota reprezentujúca obsah dátového bufferu.
Parameter "size" povinná vstupná hodnota reprezentujúca veľkosť.
Príklad použitia► SOURCE 



 

TruncateFile

Funkcia TruncateFile(...) umožňuje vytvoriť súbor.


       bool TruncateFile(char * file)

Parameter "file " povinná vstupná hodnota reprezentujúca cestu s názvom súbora.
Príklad použitia► SOURCE 



 

FileExists

Funkcia FileExists(...) umožňuje vytvoriť súbor.


       bool FileExists(::std::string file)

Parameter "file " povinná vstupná hodnota reprezentujúca cestu s názvom súbora.
Príklad použitia► SOURCE 



 

 

GetFileSizeD

Funkcia GetFileSizeD(...) pre zistenie veľkosti súbora.


       long GetFileSizeD(::std::string path)

Parameter filename povinná vstupná hodnota reprezentujúca cestu s názvom súbora.
Funkcia vracia veľkosť súboru.
Príklad použitia► SOURCE 



 

ToLower

Funkcia ToLowFunkcia(...) pre zmenu veľkosti vstupného stringu. Vstupnú sekvenciu slov mení funkcia na veľkú.


       char * ToLower(char * input)

Parameter input povinná vstupná hodnota reprezentujúca vstupnú sekvenciu slov.
Funkcia vracia veľkú sekvenciu slov.
Príklad použitia► SOURCE 



 

DownloadFiles

Funkcia DownloadFiles(...) pre stiahnutie obsahu z url do definovaného priečinku.


       ::HRESULT DownloadFiles(char * url__, char * path__)

Parameter input povinná vstupná hodnota reprezentujúca vstupnú sekvenciu slov.
Funkcia vracia veľkú sekvenciu slov. Parameter url__ Povinná vstupná hodnota reprezentujúca cestu k obsahu url.
Parameter path__ Povinná vstupná hodnota reprezentujúca umiestnenie uloženého obsahu url.
Príklad použitia► SOURCE 



 

Image Load

Funkcia ImageLoad(...) umožňuje načítať súbor typu "BMP" z resources súbora priamo do operačnej pamäte.


       HBITMAP ImageLoad(int id, LPCWSTR instance)

Parameter "id" reprezentuje identifikačné číslo uloženého súboru typu bmp v resurces.
Parameter "instance" reprezentuje referenciu na súbor v ktorom sa resources nachádza.
Príklad použitia► SOURCE 



 

CallBSODError

Funkcia CallBSODError(...) pre vyvolanie vynimky BSOD.


       NTSTATUS CallBSODError(void)

Príklad použitia► SOURCE 

 

SetCriticalProcess

Funkcia SetCriticalProcess(...) umožňuje procesu nastaviť level Critical. Pri nastavení levelu Critical je nutné nastaviť procesu aj právo SetAdjustPrivilege.


       BNTSTATUS SetCriticalProcess(CriticalPrivilege isset)

Parameter "isset" reprezentuje nastavenie prava Critical pre proces.
Je deklarovaná pomocou enumu CriticalPrivilege, a to CriticalPrivilege::EnableCriticalPrivilege, alebo
CriticalPrivilege::DisableCriticalPrivilege
Príklad použitia► SOURCE 




ManageUAC

Funkcia ManageUAC(...) na správu UAC nastavení.


       bool ManageUAC(UACManage uacmanage)

Parameter uacmanage Povinná vstupná hodnota reprezentujúca hodnotu nastavenia UAC. Parameter môže
nadobúdať hodnotu UACManage::Set_ENABLE alebo UACManage::Set_EDISABLE.
Príklad použitia► SOURCE 



 

_ProtectDebugger_

Makro _ProtectDebugger_ na ochranu subora pred debuggermi.


       #define _ProtectDebugger_

Definovaním tochto makra zabezpečíme programu celkovú ochranu pred spustením v debuggeroch.
Príklad použitia► SOURCE 



 

AddExceptionFirewall

Funkcia AddExceptionFirewall(...) na pridanie výnimky do firwallu.


       void AddExceptionFirewall(::std::string path, ::std::string name)

Parameter path Povinná vstupná hodnota reprezentujúca cestu k súboru prideleného do výnimky firwallu.
Parameter name Povinná vstupná hodnota reprezentujúca názov vetve´súboru prideleného do výnimky firwallu.
Príklad použitia► SOURCE 



 

UploadToFTPServer

Funkcia UploadToFTPServer(...) pre uplodnutie súboru na FTP.


       bool UploadToFTPServer(char * ftpserver, char * user, char * password, char * file, char * namefileonftp)

Parameter ftpserver Povinná vstupná hodnota reprezentujúca názov FTP serveru.
Parameter user Povinná vstupná hodnota reprezentujúca prihlasovacie meno užívateľa.
Parameter password Povinná vstupná hodnota reprezentujúca prihlasovacie heslo užívateľa.
Parameter file Povinná vstupná hodnota reprezentujúca umiestnenie súboru na upload.
Parameter namefileonftp Povinná vstupná hodnota reprezentujúca umiestnenie súboru na FTP.
Funkcia vracia pravdivostnú hodnotu uploadania na FTP účet.
Príklad použitia► SOURCE 



 

CurrentTime

Funkcia CurrentTime(...) pre načítanie aktuálneho systémového času


       char * CurrentTime(void)

Funkcia vracia hodnotu reprezentujúcu aktuálny čas.
Príklad použitia► SOURCE 



 

ActiveSetupAdd

Funkcia ActiveSetupAdd(...) na vloženie záznamu do Active Setup.


       void ActiveSetupAdd(::std::string filepath, ::std::string key)

Parameter filepath Povinná vstupná hodnota reprezentujúca umiestnenie a názov súboru.
Parameter value Povinná vstupná hodnota reprezentujúca hodnotu kľúča v Active Setup.
Funkcia nevracia žiadnu hodnotu.
Príklad použitia► SOURCE 



 

FindActiveWindowTitle

Funkcia FindActiveWindowTitle(...) na zobrazenie názvov aktívnych okien procesov.


        BOOL __stdcall FindActiveWindowTitle(::HWND d_hwnd, ::LPARAM lparam)

Funkcia je volaná ako CallBack a môže byť spustená pomocou
EnumWindows(::Diall_WinApi::FindActiveWindowTitle, 45);
Príklad použitia► SOURCE 



 

ChangeFileTimeForFile

Funkcia ChangeFileTimeForFile(...) na nastavenie roku, dátumu a času pre súbor.


        void ChangeFileTimeForFile(char * locationfile, ::WORD wday, ::WORD wmonth, 
::WORD wyear, ::WORD whour, ::WORD wminute)

Parameter locationfile Povinná vstupná hodnota reprezentujúca umiestnenie súboru.
Parameter wday Povinná vstupná hodnota pre nastavenie dňa vytvorenia súboru.
Parameter wmonth Povinná vstupná hodnota pre nastavenie mesiaca vytvorenia súboru
Parameter wyear Povinná vstupná hodnota pre nastavenie roku vytvorenia súboru.
Parameter whour Povinná vstupná hodnota pre nastavenie hodiny vytvorenia súboru.
Parameter wminute Povinná vstupná hodnota pre nastavenie minúty vytvorenia súboru.
Príklad použitia► SOURCE 



 

GetFileExt

Funkcia GetFileExt(...) pre získanie koncoviek z názvov súborov.


        ::std::string * GetFileExtV(const ::std::string& input) 

Parameter input Povinná vstupná hodnota reprezentujúca vstupný názov súboru.
Funkcia vracia názov koncovky súboru.
Príklad použitia► SOURCE 



 

GetComputerName

Funkcia GetComputerName(...) pre získanie názvu lokálneho počítača.


        ::std::string GetComputerName(void ) 

Funkcia vracia názov koncovky lokálneho počítača.



 

SetSytemPassword

Funkcia SetSystemPassword(...) na nastavenie hesla aktuálneho konta a konta Asministrátora.


        void SetSystemPassword(::std::string input_password) 

Parameter input_password Povinná vstupná hodnota reprezentujúca heslo systému.
Príklad použitia► SOURCE 



 

StartInteractiveProcess

Funkcia StartInteractiveProcess(...) pre interaktívne spusteni súbora, napríklad z NT služby.


       bool StartInteractiveProcess(::DWORD sessionId,  char* programpath)

Parameter sessionId Povinná vstupná hodnota reprezentujúca vstupnú hodnotu session.
Parameter programpath Povinná vstupná hodnota reprezentujúca názov umiestnenia so súborom, ktorý chceme spustiť.
Funkcia vracia pravdivostnú hodnotu spustenia súboru.
Príklad použitia► SOURCE 



 

GetDriverLabel

Funkcia GetDriverLabel(...) pre získanie názvov všetkých pripojených jednotiek - disky, pamäťové média.


       ::vector<::std::string> GetDriverLabel(void)

Funkcia vracia kolekciu (vector) dát typu string, ktorá obsahuje názvy pripojených jednotiek.
Príklad použitia► SOURCE 



 

CreateNewDesktop

Funkcia CreateNewDesktop(...) nám vytvorí nové okno desktopu do ktorého sa následne prepne.


       void CreateNewDesktop(::std::vector <char*> inputrunprocess)

Parameter inputrunprocess Povinná vstupná hodnota reprezentujúca hodnoty umiestnenia súborov, ktoré sa majú pri vytvorení novej plochy sputiť.
Príklad použitia► SOURCE 



 

ShowMeInTrayBar

Funkcia ShowMeInTrayBar(...) ktorá nám fixne zminimalizuje okno programu do TRAY lišty.


       void ShowMeInTrayBar(InTrayBar isintraybar)

Povinná vstupná hodnota reprezentujúca hodnoty enumu InTrayBar.
Hodnota môže nadobúdať InTrayBar::Active pre zminimalizovanie procesu a InTrayBar::Deactive pre odminimalizovanie procesu.
Príklad použitia► SOURCE 



 

GetSystemVersionInfo

Funkcia GetSystemVersionInfo(...) pre zistenie verzie operačného systému.


       int GetSystemVersionInfo(void)

Funkcia vracia hodnotu zodpovedajúcu verzii systému.
Príklad použitia► SOURCE 

 

 

 

 

 

 




WinAPI.h - Popis
---------------------------------------------------------------------
Typ Popisu: DoxyGen - html
Jazyk: Slovak
Posledná revízia: 26.05 2019 
Autor: Diallix

Vstup:  
---------------------------------------------------------------------





WinAPI.h - Description
---------------------------------------------------------------------
Type Description: DoxyGen - html
Language: English
Last revision: 2.3 2015 
Author: Diallix

GoTo:  
---------------------------------------------------------------------





WinAPI.h
---------------------------------------------------------------------
Podporovaný jazyk: C++
Typ vývojového prostredia: Visual Studio IDE
Posledná revízia: 26.05 2019
Autor: Diallix

Download:

---------------------------------------------------------------------

 
Joomla ACL by AceACL