Jump to content

DllCallbackRegister Problem


Go to solution Solved by trancexx,

Recommended Posts

When I use DllCallbackRegister zero is returned and @error is set to three.  The helpfile doesn't explain the @error.  Searching the forum reveals that no one else seems to have this same problem as far as I could see.  Here is my code:

#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 6 -w 7 -d

#include <Misc.au3>

_Singleton(@ScriptName)

#include <WinAPI.au3>

Global Const $hStub_MouseProc = DllCallbackRegister("_Mouse_Proc", "int", "int;ptr;ptr")

Switch $hStub_MouseProc
    Case 0
        ConsoleWrite("$hStub_MouseProc: " & $hStub_MouseProc & " @error: " & @error & @CRLF)
        Exit
EndSwitch

Global Const $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hStub_MouseProc), _WinAPI_GetModuleHandle(0))

OnAutoItExitRegister("cleanup")

Do
    Sleep(10)
Until False

Func _Mouse_Proc(Const $nCode, Const $wParam, Const $lParam)
    Switch $nCode >= 0
        Case True
            ConsoleWrite("$nCode: " & $nCode & @CRLF)
    EndSwitch

    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc

Func cleanup()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_MouseProc)
EndFunc

Windows 7 x64 -- AutoIt 3.3.9.5 & Stable

Edited by jaberwocky6669
Link to comment
Share on other sites

Try... '_Mouse_Pro', 'long', 'int;wparam;lparam' as stated on MSDN.

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

jaberwocky,

As guinness advised

#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 6 -w 7 -d

#include <Misc.au3>

_Singleton(@ScriptName)

#include <WinAPI.au3>

Global Const $hStub_MouseProc = DllCallbackRegister("_Mouse_Proc", "int", "int;ptr;ptr")

Switch $hStub_MouseProc
    Case 0
        ConsoleWrite("$hStub_MouseProc: " & $hStub_MouseProc & " @error: " & @error & @CRLF)
        Exit
EndSwitch

Global Const $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hStub_MouseProc), _WinAPI_GetModuleHandle(0))

OnAutoItExitRegister("cleanup")

Do
    Sleep(10)
Until False

Func _Mouse_Proc($ncode,$wParam,$lParam)
    Switch $nCode >= 0
        Case True
            ConsoleWrite("$nCode: " & $nCode & @CRLF)
    EndSwitch

    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc

Func cleanup()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_MouseProc)
EndFunc

kylomas

edit:  Se the Help file and this link

Edited by kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Link to comment
Share on other sites

I've never seen anything like this.  It works with Kylomas' example.  I've done it like this before.  When I modify original script to match Kylomas' it doesn't work.  Yet, when I copy and paste Kylomas' script then it works.

Thanks for the help!

Link to comment
Share on other sites

Here is the latest version of my script that did not work:

#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 6 -w 7 -d

#include <Misc.au3>

_Singleton(@ScriptName)

#include <WinAPI.au3>

Global Const $mouse_proc_callback = DllCallbackRegister("_Mouse_Proc", "int", "int;ptr;ptr")

Switch $mouse_proc_callback
    Case 0
        ConsoleWrite("$mouse_proc_callback: " & $mouse_proc_callback & " @error: " & @error & @CRLF)
        Exit
EndSwitch

Global Const $hook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($mouse_proc_callback), _WinAPI_GetModuleHandle(0))

OnAutoItExitRegister("cleanup")

Do
    Sleep(10)
Until False

Func _Mouse_Proc(Const $code, Const $w_param, Const $l_param)
    Switch $code >= 0
        Case True
            Switch $w_param
                Case $WM_LBUTTONDOWN
                    ConsoleWrite("$WM_LBUTTONDOWN" & @CRLF)

                Case $WM_LBUTTONUP
                    ConsoleWrite("$WM_LBUTTONUP" & @CRLF)

                Case $WM_MOUSEMOVE
                    ConsoleWrite("$WM_MOUSEMOVE" & @CRLF)

                Case $WM_MOUSEWHEEL
                    ConsoleWrite("$WM_MOUSEWHEEL" & @CRLF)

                Case $WM_MOUSEHWHEEL
                    ConsoleWrite("$WM_MOUSEHWHEEL" & @CRLF)

                Case $WM_RBUTTONDOWN
                    ConsoleWrite("$WM_RBUTTONDOWN" & @CRLF)

                Case $WM_RBUTTONUP
                    ConsoleWrite("$WM_RBUTTONUP" & @CRLF)
            EndSwitch

            Return 0
        Case False
            Return _WinAPI_CallNextHookEx($hook, $code, $w_param, $l_param)
    EndSwitch
EndFunc

Func cleanup()
    _WinAPI_UnhookWindowsHookEx($hook)
    DllCallbackFree($mouse_proc_callback)
EndFunc

Compared to Kylomas' version that does work:

#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 6 -w 7 -d

#include <Misc.au3>

_Singleton(@ScriptName)

#include <WinAPI.au3>

Global Const $hStub_MouseProc = DllCallbackRegister("_Mouse_Proc", "int", "int;ptr;ptr")

Switch $hStub_MouseProc
    Case 0
        ConsoleWrite("$hStub_MouseProc: " & $hStub_MouseProc & " @error: " & @error & @CRLF)
        Exit
EndSwitch

Global Const $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hStub_MouseProc), _WinAPI_GetModuleHandle(0))

OnAutoItExitRegister("cleanup")

Do
    Sleep(10)
Until False

Func _Mouse_Proc($ncode,$wParam,$lParam)
    Switch $nCode >= 0
        Case True
            ConsoleWrite("$nCode: " & $nCode & @CRLF)
    EndSwitch

    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc

Func cleanup()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_MouseProc)
EndFunc

 This seems like high strangeness to me.

Edited by jaberwocky6669
Link to comment
Share on other sites

I can see the problem, instead of Return 0 you should be calling the next hook. Also my advice still stands correct. You should ideally change it to that.

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

Like this?

#AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 6 -w 7 -d

#include <Misc.au3>

_Singleton(@ScriptName)

#include <WinAPI.au3>

Global Const $mouse_proc_callback = DllCallbackRegister("_Mouse_Proc", "long", "int;wparam;lparam")

Switch $mouse_proc_callback
    Case 0
        ConsoleWrite("$mouse_proc_callback: " & $mouse_proc_callback & " @error: " & @error & @CRLF)
        Exit
EndSwitch

Global Const $hook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($mouse_proc_callback), _WinAPI_GetModuleHandle(0))

OnAutoItExitRegister("cleanup")

Do
    Sleep(10)
Until False

Func _Mouse_Proc(Const $code, Const $w_param, Const $l_param)
    Switch $code >= 0
        Case True
            Switch $w_param
                Case $WM_LBUTTONDOWN
                    ConsoleWrite("$WM_LBUTTONDOWN" & @CRLF)

                Case $WM_LBUTTONUP
                    ConsoleWrite("$WM_LBUTTONUP" & @CRLF)

                Case $WM_MOUSEMOVE
                    ConsoleWrite("$WM_MOUSEMOVE" & @CRLF)

                Case $WM_MOUSEWHEEL
                    ConsoleWrite("$WM_MOUSEWHEEL" & @CRLF)

                Case $WM_MOUSEHWHEEL
                    ConsoleWrite("$WM_MOUSEHWHEEL" & @CRLF)

                Case $WM_RBUTTONDOWN
                    ConsoleWrite("$WM_RBUTTONDOWN" & @CRLF)

                Case $WM_RBUTTONUP
                    ConsoleWrite("$WM_RBUTTONUP" & @CRLF)
            EndSwitch
    EndSwitch

    Return _WinAPI_CallNextHookEx($hook, $code, $w_param, $l_param)
EndFunc

Func cleanup()
    _WinAPI_UnhookWindowsHookEx($hook)
    DllCallbackFree($mouse_proc_callback)
EndFunc
Link to comment
Share on other sites

OK, it was because I was setting the parameters for _Mouse_Proc to Const!

 

Yes, was that not obvious?   The MSDN doc is very specific about how and when to return and/or call the next hook.  Have you read it?

kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Link to comment
Share on other sites

No, it isn't obvious.  Chill please.  I don't see why I can't set the parameters to my own UDF to Const though.

"The MSDN doc is very specific about how and when to return and/or call the next hook.  Have you read it?" 

What does that have to do with setting parameters to const?

Edited by jaberwocky6669
Link to comment
Share on other sites

I did see the Const and of course wondered that too, but didn't think it would make a blind bit of difference as they're being passed as values and not a references.

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

Hmmm...communication fails miserably in this medium...

What I was thinking when I posted that was that I should have pointed this out specifically.  When I re-read it I was afraid that you would take it critically.

The return comment refers specifically to what guinness is warning you about.

kylomas

edit: additional info

 I don't see why I can't set the parameters to my own UDF to Const though.

 

 

Because CONST vars cannot change, the parms to this procedure change with every call.

Edited by kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Link to comment
Share on other sites

I did take it critically but now I see that wasn't your intent.  I think that maybe CallNextHookEx modifies the parameters internally now that I realize what you mean.

Link to comment
Share on other sites

You don't have to edit the title anymore. Just select the button "mark solved" in the post that helped the most.

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

Both of you helped very much.  I'm torn on which post to mark.

I went with #4 because he mentioned your contribution.

Edited by jaberwocky6669
Link to comment
Share on other sites

  • Solution

Probably neither.

No, it isn't obvious.  Chill please.  I don't see why I can't set the parameters to my own UDF to Const though.

"The MSDN doc is very specific about how and when to return and/or call the next hook.  Have you read it?" 

What does that have to do with setting parameters to const?

AutoIt doesn't allow the use of any keywords (const, byref, ...) for callback functions parameters.

Edited by trancexx

♡♡♡

.

eMyvnE

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...