Jump to content

WinAPIEx UDF


Yashied
 Share

Recommended Posts

The Help file/function for _WinAPI_StrFormatByteSize() states you can use an optional flag, but then when I look at the function this isn't the case.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Link to comment
Share on other sites

  • 2 weeks later...

Have you thought about adding GetFullPathName?

This is how I interpreted MSDN >>

MsgBox(64, "_WinAPI_GetFullPathName", _WinAPI_GetFullPathName(".\Example.exe"))

Func _WinAPI_GetFullPathName($sFile)
    Local $aReturn = DllCall('kernel32.dll', 'dword', 'GetFullPathNameW', 'wstr', $sFile, 'dword', 1024, 'wstr', '', 'wstr', '')
    If (@error) Or (Not $aReturn[0]) Then
        Return SetError(1, 0, $sFile)
    EndIf
    Return $aReturn[3]
EndFunc   ;==>_WinAPI_GetFullPathName
Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I found APIConstansts.au3 failing with Obfuscator so I amended the function __Def() to alleviate the need for Eval() which was the cause of the error >>

Func __Def($iVer1, $iVal1, $iVer2, $iVal2, $iVer3 = Default, $iVal3 = Default, $iVer4 = Default, $iVal4 = Default)
Local $aVal[5] = [4, $iVal1, $iVal2, $iVal3, $iVal4], $aVer[5] = [4, $iVer1, $iVer2, $iVer3, $iVer4]
Local $iCount = $aVer[0]
For $i = 1 To $iCount
  If $__WINVER >= $aVer[$i] Then
   Return $aVal[$i]
  EndIf
Next
Return $aVer[$iCount]
EndFunc   ;==>__Def

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

1. GetFullPathName() is similar to PathSearchAndQualify() but does not search the file. I will add it in the next release.

2. I know about this problem and it has already been fixed. Anyway, thanks.

Edited by Yashied
Link to comment
Share on other sites

Brilliant. Cant wait for the new version. I kind of thought you would have known about the issue already.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

In the Help file under _WinAPI_ShellChangeNotify() it states ...

the values contained in the $iItem2 and $iItem2

Shouldn't it be $iItem1 and $iItem2?

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Is it possible to lock a file and write to the file ? so no others can write to this file, only the program

Actualy, you do not need these functions, just open a file without sharing.

_WinAPI_CreateFile(..., 3, 6, 0)
Edited by Yashied
Link to comment
Share on other sites

The library has been updated (nightmare update).

v3.4

Changes

  • Added the following functions.

    _WinAPI_CascadeWindows

    _WinAPI_CloseDesktop

    _WinAPI_CloseWindowStation

    _WinAPI_CombineTransform

    _WinAPI_CommDlgExtendedErrorEx

    _WinAPI_CreateDesktop

    _WinAPI_CreateDirectoryEx

    _WinAPI_CreateString

    _WinAPI_CreateTransform

    _WinAPI_CreateWindowStation

    _WinAPI_DefSubclassProc

    _WinAPI_DeleteObjectID

    _WinAPI_DisplayStruct

    _WinAPI_DllGetVersion

    _WinAPI_DPtoLP

    _WinAPI_EnumDesktops

    _WinAPI_EnumDesktopWindows

    _WinAPI_EnumPageFiles

    _WinAPI_EnumWindowStations

    _WinAPI_ExtCreatePen

    _WinAPI_FindTextDlg

    _WinAPI_FlushFRBuffer

    _WinAPI_GdiComment

    _WinAPI_CreateObjectID

    _WinAPI_GetAllUsersProfileDirectory

    _WinAPI_GetCompressedFileSize

    _WinAPI_GetCurrentObject

    _WinAPI_GetCurrentPosition

    _WinAPI_GetCurrentProcessExplicitAppUserModelID

    _WinAPI_GetDefaultUserProfileDirectory

    _WinAPI_GetFileInformationByHandle

    _WinAPI_GetFileType

    _WinAPI_GetFRBuffer

    _WinAPI_GetFullPathName (Thanks guinness)

    _WinAPI_GetGraphicsMode

    _WinAPI_GetLastActivePopup

    _WinAPI_GetMapMode

    _WinAPI_GetMessageExtraInfo

    _WinAPI_GetModuleFileNameEx

    _WinAPI_GetModuleInformation

    _WinAPI_GetObjectID

    _WinAPI_GetProcessID

    _WinAPI_GetProcessWindowStation

    _WinAPI_GetProfilesDirectory

    _WinAPI_GetPwrCapabilities

    _WinAPI_GetShellWindow

    _WinAPI_GetStartupInfo

    _WinAPI_GetString

    _WinAPI_GetTextCharacterExtra

    _WinAPI_GetThreadDesktop

    _WinAPI_GetThreadErrorMode

    _WinAPI_GetUserObjectInformation

    _WinAPI_GetWindowDisplayAffinity

    _WinAPI_GetWindowExt

    _WinAPI_GetWindowOrg

    _WinAPI_GetWindowSubclass

    _WinAPI_GetWorldTransform

    _WinAPI_Hex64

    _WinAPI_InvertColor

    _WinAPI_IsBadCodePtr

    _WinAPI_IsBadReadPtr

    _WinAPI_IsBadStringPtr

    _WinAPI_IsBadWritePtr

    _WinAPI_LPtoDP

    _WinAPI_MapVirtualKey

    _WinAPI_ModifyWorldTransform

    _WinAPI_OffsetWindowOrg

    _WinAPI_OpenDesktop

    _WinAPI_OpenFileById

    _WinAPI_OpenInputDesktop

    _WinAPI_OpenWindowStation

    _WinAPI_PageSetupDlg

    _WinAPI_PrintDlg

    _WinAPI_PrintDlgEx

    _WinAPI_RegisterPowerSettingNotification

    _WinAPI_RemoveWindowSubclass

    _WinAPI_ReplaceTextDlg

    _WinAPI_SetCurrentProcessExplicitAppUserModelID

    _WinAPI_SetFRBuffer

    _WinAPI_SetGraphicsMode

    _WinAPI_SetMapMode

    _WinAPI_SetMessageExtraInfo

    _WinAPI_SetProcessWindowStation

    _WinAPI_SetTextCharacterExtra

    _WinAPI_SetTextJustification

    _WinAPI_SetThreadDesktop

    _WinAPI_SetThreadErrorMode

    _WinAPI_SetThreadExecutionState

    _WinAPI_SetUserObjectInformation

    _WinAPI_SetWindowDisplayAffinity

    _WinAPI_ScaleWindowExt

    _WinAPI_SetWindowExt

    _WinAPI_SetWindowOrg

    _WinAPI_SetWindowSubclass

    _WinAPI_SetWorldTransform

    _WinAPI_ShellGetLocalizedName

    _WinAPI_ShellNotifyIconGetRect

    _WinAPI_ShellRemoveLocalizedName

    _WinAPI_ShellRestricted

    _WinAPI_ShellSetLocalizedName

    _WinAPI_ShellStartNetConnectionDlg

    _WinAPI_SwitchDesktop

    _WinAPI_TileWindows

    _WinAPI_UnregisterPowerSettingNotification

  • Added examples for the functions above.
  • Removed the following functions.

    _WinAPI_GetModuleFileName (use _WinAPI_GetModuleFileNameEx)

    _WinAPI_GetObjectEx (use _WinAPI_GetObject)

    _WinAPI_IsPressed (unnecessary)

    _WinAPI_LookupPrivilegeName (use Security.au3)

    _WinAPI_LookupPrivilegeValue (use Security.au3)

  • APIConstants.au3 now includes most of the libraries, such as FileСonstants.au3, FontСonstants.au3, etc, which relate to _WinAPI_* functions.
  • APIConstants.au3 now fully compatible with all UDF libraries that are included in the AutoIt package except NamedPipes.au3.
  • WinAPIEx.au3 now does not includes the APIConstants.au3. If you want to use constants that are declared in APIConstants.au3, you must include it in your scripts by using "#Include" keyword.
  • The following functions now returns an array instead of structure:

    _WinAPI_GetCurrentHwProfile

    _WinAPI_GetDriveGeometryEx

    _WinAPI_GetDriveNumber

    _WinAPI_GetIconInfoEx

  • Added $SFGAO_* constants that may be used in _WinAPI_ShellGetFileInfo() function.
  • Added window classes ($WC_*) constants.
  • Changed examples for some functions such as _WinAPI_PlaySound().
  • The _WinAPI_GetCDType() and _WinAPI_IsDoorOpen() functions now works in 64-bit system. (Thanks madmasles)
  • The _WinAPI_EnumProcessModules() function now works in 64-bit system starting with Windows Vista. Also added an optional parameter.
  • The _WinAPI_AdjustTokenPrivileges() and _WinAPI_ShowLastError() functions has been modified, see its description.
  • The _WinAPI_GetFileSizeOnDisk() function has been completely rewritten.
  • Returned back the _WinAPI_DllGetVersion() function.
  • Rewrited _WinAPI_Create32BitHBITMAP() function to support transparency and compatibility with Static controls.
  • Fixed wrong data type of "GUID" member in the $tagNOTIFYICONDATA_XP structure.
  • Removed _WinAPI_GetTextMetrics() function for compatibility to AutoIt 3.3.7.* beta and next stable version.
  • Renamed structure $tagNOTIFYICONDATA_XP to $tagNOTIFYICONDATA_V3, and $tagNOTIFYICONDATA_VISTA to $tagNOTIFYICONDATA_V4.
  • Fixed bug causing the appearance of error messages when Obfuscator is used with "/striponly" parameter. (Thanks asdf8)
  • Fixed discrepancy in description of the _WinAPI_StrFormatByteSize() function. (Thanks guinness)
  • Fixed bug related to wrong data type declaration in the _WinAPI_PathFindFileName() function. (Thanks Zedna)
  • Fixed bug in some _WinAPI_Reg* examples that could cause to crash the script. (Thanks madmasles)
  • Fixed bug that could cause a memory leak if _WinAPI_RegQueryMultipleValues() fails.
  • Fixed wrong value in declaration of some constants.
  • Updated documentation.

Your comments, particularly about _WinAPI_DisplayStruct().

Edited by Yashied
Link to comment
Share on other sites

Wow what an update and I made it into the change log.

Edit: There are a couple of variable which are being declared but aren't used in the function. #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7

Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Only comments I have on _WinAPI_DisplayStruct(), as Its way beyond me, is its pretty fantastic, very good layout of the display gui.

Simple spelling mistake is all I seen, in the example .

Lenght <- Length :mellow:

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

Darn small font use if you ask me. :mellow: (locally fixed of course.)

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Link to comment
Share on other sites

I've just updated to the latest version and discovered a tiny issue, easily fixed.

In WinAPIEx.au3 #include statements

#Include <StructureConstants.au3> <--- should be #Include <APIConstants.au3>

without making said change, debugger, compiler etc all fail with errors.

Thanks for making this terrific UDF for a Wonderful product.

WS

~ WhiteStar Magic

Always tuned to http://www.superbluesradio.com/  Tune in at http://87.117.217.41:8036/

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...