Print

Fun with DllCall in AutoHotkey

Ok so there are more fun things to do out there. If you're the type of AutoHotkey programmer that doesn't like having to use the command prompt to write to an extra text file which your program has to read, then this is for you. DllCall will usually run contained in the program and can be hidden from the end-user.

The one to rule them all:
This is a function I pulled from the Autohotkey forums submitted by SKAN which lists all the functions for a specified Dynamic Link Library (DLL) along with an inputbox for convenience:
copyraw
// get number of network card interfaces
DllCall("iphlpapi\GetNumberOfInterfaces", "UintP", nIf)
MsgBox % nIf
...
// get current process ID
ProcessID := DllCall("GetCurrentProcessId")
  1.  // get number of network card interfaces 
  2.  DllCall("iphlpapi\GetNumberOfInterfaces", "UintP", nIf) 
  3.  MsgBox % nIf 
  4.  ... 
  5.  // get current process ID 
  6.  ProcessID :DllCall("GetCurrentProcessId") 


Examples of DllCall'ing:
// get number of network card interfaces
DllCall("iphlpapi\GetNumberOfInterfaces", "UintP", nIf)
MsgBox % nIf
...
// get current process ID
ProcessID := DllCall("GetCurrentProcessId")
Category: AutoHotkey :: Article: 388