Sign in to follow this  
Followers 0
rudi

Failing to use UDF GUICtrlGetBkColorEx()

10 posts in this topic

#1 ·  Posted (edited)

Hi.

As updating buttons in GUIs results in a "flickering", I wanted to check first, if an update is required.

I found this UDF in the forum:

; #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
; #FUNCTION# =========================================================================================================
; Name...........: GUICtrlGetBkColorEx
; Description ...: Retrieves the RGB value of the control background.
; Syntax.........: GUICtrlGetBkColor($iControlID)
; Parameters ....: $iControlID - A valid control ID.
; Requirement(s).: v3.3.2.0 or higher
; Return values .: Success - Returns RGB value of the control background.
;                Failure - Returns 0 & sets @error = 1
; Author ........: guinness & additional information from Yashied for WinAPIEx.
; Example........; Yes
;=====================================================================================================================
Func GUICtrlGetBkColorEx($iControlID)
Local $aResult, $bGetBkColor, $hDC, $hHandle
$hHandle = GUICtrlGetHandle($iControlID)
$aResult = DllCall("user32.dll", "handle", "GetDC", "hwnd", $hHandle)
If @error Then
Return SetError(@error, @extended, 0)
EndIf
$hDC = $aResult[0]
$aResult = DllCall("gdi32.dll", "dword", "GetPixel", "hwnd", $hDC, "int", 0, "int", 0)
If @error Or ($aResult[0] = 0xFFFFFFFF) Then
Return SetError(@error, @extended, 0)
EndIf
$bGetBkColor = $aResult[0]
$aResult = DllCall("user32.dll", "int", "ReleaseDC", "hwnd", $hHandle, "handle", $hDC)
If @error Then
Return SetError(@error, @extended, 0)
EndIf
Return BitOR(BitAND($bGetBkColor, 0x00FF00), BitShift(BitAND($bGetBkColor, 0x0000FF), -16), BitShift(BitAND($bGetBkColor, 0xFF0000), 16))
EndFunc ;==>GUICtrlGetBkColorEx

It seems to return always 0xFFFFFF - what do I miss?

Sample Script:

#include <GUIConstantsEx.au3>

$RGB_UP = 0x9CBCAA ; Button Farbe, wenn der Switch UP ist
$RGB_DOWN = 0xFF8A8A ; Button Farbe, wenn der Switch DOWN ist


$w = 300
$h = 200

$gui = GUICreate("test", $w, $h)
$Btn = GUICtrlCreateButton("Test", 20, 20, $w - 40, 25)
$an = GUICtrlCreateButton("enable", 20, 80, $w / 2 - 30, 25)
$aus = GUICtrlCreateButton("disable", 20, 110, $w / 2 - 30, 25)
$rot = GUICtrlCreateButton("red", 20 + $w / 2 - 10, 80, $w / 2 - 30, 25)
$gruen = GUICtrlCreateButton("green", 20 + $w / 2 - 10, 110, $w / 2 - 30, 25)
GUISetState()



While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $an
UpdateBtn($Btn, $GUI_ENABLE)
Case $msg = $aus
UpdateBtn($Btn, $GUI_DISABLE)
Case $msg = $rot
UpdateBtn($Btn, "", $RGB_DOWN)
Case $msg = $gruen
UpdateBtn($Btn, "", $RGB_UP)
EndSelect
WEnd


Func UpdateBtn($_control, $_status = 0, $_farbe = 0)
ConsoleWrite("------------" & @LF & @LF)
Local $stateNow = GUICtrlGetState($_control)
Local $FarbeNow = GUICtrlGetBkColorEx($_control)

ConsoleWrite("Color found: " & Hex($FarbeNow,6) & @LF)

If BitAND($stateNow, $_status) = $_status Then
ConsoleWrite("Status OK" & @LF)
Else
ConsoleWrite("Status Cange " & $_status & @LF)
GUICtrlSetState($Btn, $_status)
EndIf

If $_farbe Then
If $FarbeNow = $_farbe Then
ConsoleWrite("Color OK" & @LF)
Else
ConsoleWrite("Color new: " & Hex($_farbe,6) & @LF)
GUICtrlSetBkColor($_control, $_farbe)
EndIf
EndIf



ConsoleWrite($stateNow & @LF)
ConsoleWrite(Hex($FarbeNow,6) & @LF)


EndFunc ;==>UpdateBtn

Using Autoit v3.3.8.1 OS = Win7 64bit, running from SciTE or as 32bit compiled exe.

Regards, Rudi.

Edited by rudi

Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Rudi,

I'm trying to understand your problem. You lead in by saying:

"As updating buttons in GUIs results in a "flickering"

That doesn't make any sense to me.

Buttons don't flicker or have a refresh problem unless you are doing something wrong.

Forget the UDF for a moment. Show us the code without the UDF "fix" that demonstrates the flickering you speak of.

Edited by StringingLong

Share this post


Link to post
Share on other sites

Hi,

If you want to get the color of a control from your own script, I suggest you to put the color in a variable (or in an array) then you won't have to use this function.

Br, FireFox.


 

OS : Win XP SP2 (32 bits) / Win 7 SP1 (64 bits) / Win 8 (64 bits) | Autoit version: latest stable / beta.
Hardware : Intel(R) Core(TM) i5-2400 CPU @ 3.10Ghz / 8 GiB RAM DDR3.

My UDFs : Skype UDF | TrayIconEx UDF | GUI Panel UDF | Excel XML UDF | Is_Pressed_UDF

My Projects : YouTube Multi-downloader | FTP Easy-UP | Lock'n | WinKill | AVICapture | Skype TM | Tap Maker | ShellNew | Scriptner | Const Replacer | FT_Pocket | Chrome theme maker

My Examples : Capture toolIP Camera | Crosshair | Draw Captured Region | Picture Screensaver | Jscreenfix | Drivetemp | Picture viewer

My Snippets : Basic TCP | Systray_GetIconIndex | Intercept End task | Winpcap various | Advanced HotKeySet | Transparent Edit control

 

Share this post


Link to post
Share on other sites

Did you try the other version that was there?


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Hi StringingLong.

Thanks for your reply.

Buttons don't flicker or have a refresh problem unless you are doing something wrong.

OK, too little facts given, sorry: This is a script, checking up/down status of hosts frequently. When "up", it checks on top, if the RDP port is open.

Mostly nothing changes. When I update the buttons that frequently, they "flicker" slightly. So I want to check, *IF* something has to be adjusted for the button properties, *BEFORE* I do any GuiCtrlSet*().

Check this script:

#include <GUIConstantsEx.au3>



$RGB_UP = 0x9CBCAA
$RGB_DOWN = 0xFF8A8A


Dim $aHosts[21][4] = [[20]]

$w = 100
$h = $aHosts[0][0] * 25 + 25 + 25 + 20
$gui = GUICreate("Test", $w, $h)

GUICtrlCreateLabel("on/off/rdp", 15, 15, $w - 30)
Opt("GUICoordMode", 2) ; cell relative
For $i = 1 To $aHosts[0][0]
$aHosts[$i][0] = "Display " & $i
$aHosts[$i][1] = GUICtrlCreateButton($aHosts[$i][0], -1, 5)
Next

GUISetState()

MsgBox(0,"Info","If the state *changes*, you won't notice the ""flickering"".",5)

$t = TimerInit()
While 1
For $i = 1 To $aHosts[0][0]
$status = Random(0, 1, 1)
If $status Then
GUICtrlSetBkColor($aHosts[$i][1], $RGB_UP)
Else
GUICtrlSetBkColor($aHosts[$i][1], $RGB_DOWN)
EndIf

$active = Random(0, 1, 1)
If $active Then
GUICtrlSetState($aHosts[$i][1], $GUI_DISABLE)
Else
GUICtrlSetState($aHosts[$i][1], $GUI_ENABLE)
EndIf
Next
Sleep(50)
If TimerDiff($t) > 5 * 1000 Then ExitLoop
WEnd


For $i = 1 To $aHosts[0][0]
$aHosts[$i][2] = Random(0, 1, 1)
$aHosts[$i][3] = Random(0, 1, 1)
Next

MsgBox(0, "Info", "If the *SAME* states are set over again, it ""flickers"".", 10)

$t = TimerInit()
While 1
For $i = 1 To $aHosts[0][0]
If $aHosts[$i][2] Then
GUICtrlSetBkColor($aHosts[$i][1], $RGB_UP)
Else
GUICtrlSetBkColor($aHosts[$i][1], $RGB_DOWN)
EndIf
If $aHosts[$i][3] Then
GUICtrlSetState($aHosts[$i][1], $GUI_DISABLE)
Else
GUICtrlSetState($aHosts[$i][1], $GUI_ENABLE)
EndIf
Next
Sleep(50)
If TimerDiff($t) > 5 * 1000 Then ExitLoop
WEnd

Regards, Rudi.

<edit: typo>

Edited by rudi

Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites

Did you try the other version that was there?

Yes, it uses WinApiEx() UDF. That UDF fails even a STRG+F5 syntax check. (UDF only),

C:Program Files (x86)AutoIt3IncludeWinAPIEx.au3(1044,399) : ERROR: $tagTEXTMETRIC previously declared as a 'Const'.
Global Const $tagTEXTMETRIC = 'long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;wchar tmFirstChar;wchar tmLastChar;wchar tmDefaultChar;wchar tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;byte tmPitchAndFamily;byte tmCharSet;'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3(8108,104) : ERROR: _WinAPI_DuplicateHandle() already defined.
Func _WinAPI_DuplicateHandle($hProcess, $hSource, $hTarget, $iAccess = 0, $iOptions = 2, $fInherit = 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3(18069,34) : ERROR: _WinAPI_GetTextMetrics() already defined.
Func _WinAPI_GetTextMetrics($hDC)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3 - 3 error(s), 0 warning(s)
!>12:10:29 AU3Check ended. Press F4 to jump to next error.rc:2

I couldn't see the duplicate declarations, to I choose the other one ;)

Regards, Rudi.


Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites

What version of AutoIt do you have vs version of WinAPIEx. Because those function _WinAPI_GetTextMetrics & _WinAPI_DuplicateHandle were added to WinAPI.au3, which suggests you're using WinAPIEx for V3.3.6.1 and AutoIt V3.3.8.1.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

Hi Guinnes.

Winapiex.au3: Version: 3.8 / 3.3.6.1

Autoit: v3.3.8.1

Just opening Winapiex.au3 separately, CTRL+F5 is giving this result:

>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /prod /AU3Check /in "C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3"
+>12:41:54 Starting AutoIt3Wrapper v.2.1.0.33    Environment(Language:0407  Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64)
>Running AU3Check (1.54.22.0)  from:C:Program Files (x86)AutoIt3
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3(1044,399) : ERROR: $tagTEXTMETRIC previously declared as a 'Const'.
Global Const $tagTEXTMETRIC = 'long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;wchar tmFirstChar;wchar tmLastChar;wchar tmDefaultChar;wchar tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;byte tmPitchAndFamily;byte tmCharSet;'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3(8108,104) : ERROR: _WinAPI_DuplicateHandle() already defined.
Func _WinAPI_DuplicateHandle($hProcess, $hSource, $hTarget, $iAccess = 0, $iOptions = 2, $fInherit = 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3(18069,34) : ERROR: _WinAPI_GetTextMetrics() already defined.
Func _WinAPI_GetTextMetrics($hDC)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3 - 3 error(s), 0 warning(s)
!>12:41:55 AU3Check ended. Press F4 to jump to next error.rc:2
>Exit code: 0    Time: 2.897

Regards, Rudi.


Earth is flat, pigs can fly, and Nuclear Power is SAFE!

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

Yeh, so you need to change WinAPIEx, as that version is for V3.3.6.1 not V3.3.8.1. Do you actually understand what the message means?

Hint: Re-visit the WinAPIEx thread and search for "WinAPIEx UDF v3.8 for AutoIt 3.3.8.x"

Edited by guinness

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

I will explain what the error is.

In WinAPIEx there used to be the functions _WinAPI_GetTextMetrics & _WinAPI_DuplicateHandle, as well as the structure $tagTEXTMETRIC, as these weren't present in WinAPI V3.3.6.1 (same version as AutoIt.) So when V3.3.8.1 came out these functions were added to WinAPI, hence when using an older version of WinAPIEx you get an error that states 'these functions exists,' as they're in WinAPI. So to fix this, you have to download the WinAPIEx which is meant for V3.3.8.1, not V3.3.6.1. OR to fix it yourself would have required you to read the error and comment out the appropriate sections. SciTE4AutoIt3 is pretty amazing as it tells you straight what is wrong with your code.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
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
Sign in to follow this  
Followers 0