x42x4b Posted December 3, 2006 Posted December 3, 2006 Hello,I was searching on forum, but didn't find it - netstat in autoit. So, I decided to make it :-).Getting solution via "netstat.exe" isn't good for real AutoIt app maker .I've started debuging netstat.exe and I found source here:http://msdn.microsoft.com/library/default....gettcptable.aspI took this code from @cojms1 (http://www.autoitscript.com/forum/index.php?showtopic=28617&hl=iphlpapi.dll). This code is very... hmm... honestly, I don't know why it works. I don't understand, why it crashes:expandcollapse popupGlobal Const $TCP_STATE_CLOSED = 1 Global Const $TCP_STATE_LISTEN = 2 Global Const $TCP_STATE_SYN_SENT = 3 Global Const $TCP_STATE_SYN_RCVD = 4 Global Const $TCP_STATE_ESTAB = 5 Global Const $TCP_STATE_FIN_WAIT1 = 6 Global Const $TCP_STATE_FIN_WAIT2 = 7 Global Const $TCP_STATE_CLOSE_WAIT = 8 Global Const $TCP_STATE_CLOSING = 9 Global Const $TCP_STATE_LAST_ACK = 10 Global Const $TCP_STATE_TIME_WAIT = 11 Global Const $TCP_STATE_DELETE_TCB = 12 #comments-start Public Enum tcpStates TCP_STATE_CLOSED = 1 TCP_STATE_LISTEN = 2 TCP_STATE_SYN_SENT = 3 TCP_STATE_SYN_RCVD = 4 TCP_STATE_ESTAB = 5 TCP_STATE_FIN_WAIT1 = 6 TCP_STATE_FIN_WAIT2 = 7 TCP_STATE_CLOSE_WAIT = 8 TCP_STATE_CLOSING = 9 TCP_STATE_LAST_ACK = 10 TCP_STATE_TIME_WAIT = 11 TCP_STATE_DELETE_TCB = 12 End Enum #comments-end #comments-start 'Winapi structures Private Type MIB_TCPROW dwState As tcpStates dwLocalAddr(0 To 3) As Byte dwLocalPort As String * 4 dwRemoteAddr(0 To 3) As Byte dwRemotePort As String * 4 End Type typedef struct _MIB_TCPROW { DWORD dwState; DWORD dwLocalAddr; DWORD dwLocalPort; DWORD dwRemoteAddr; DWORD dwRemotePort; } MIB_TCPROW, *PMIB_TCPROW; #comments-end $numElements = 6 $MIB_TCPROW = "dword;dword;dword;dword;dword" $MIB_TCPTABLE = DllStructCreate("dword;" & $MIB_TCPROW) $lngSize = 40 * 100 + 4 $dwSize = DllStructCreate("dword") $ret = DllCall("IPHLPAPI.DLL", "int", "GetTcpTable", "ptr", DllStructGetPtr($MIB_TCPTABLE), "ptr", $lngSize, "int", 0);get the size ;msgbox(0, "dllcall", @error) $ret = DllCall("IPHLPAPI.DLL", "int", "GetTcpTable", "ptr", DllStructGetPtr($MIB_TCPTABLE), "ptr", $lngSize, "int", 0);get the size ;msgbox(0, "dllcall", @error) $numEntries = DllStructGetData($MIB_TCPTABLE , 1) msgbox(0, "dllcall", $numEntries) ;create the structure string $strTemp = "" for $i = 1 to $numEntries $strTemp &= $strStruct & ";" next $strTemp = StringTrimRight($strTemp, 1) $_MIB_TCPROW = 0 $_MIB_TCPROW = DllStructCreate("dword;" & $strTemp) $ret = DllCall("IPHLPAPI.DLL", "int", "GetTcpTable", "ptr", DllStructGetPtr($_MIB_TCPROW), "ptr", DllStructGetPtr($dwSize), "int", 0);get the size msgbox(0, "dllcall", $ret[0]) if $ret[0] = 0 then $strd = DllStructGetData($_MIB_TCPROW, 1) for $i = 1 to 28 $strMsg = "" ;$offset = (($i -1) * $numElements) $offset = $i - 1 $strState = DllStructGetData($_MIB_TCPROW, $offset + 1) ;$strState = $ret[0] $strLocalIP = DllStructGetData($_MIB_TCPROW, $offset + 2) $ret = DllCall("wsock32.dll", "str", "inet_ntoa", "int", $strLocalIP) $strLocalIP = $ret[0] $strMask = DllStructGetData($_MIB_TCPROW, $offset + 3) $ret = DllCall("wsock32.dll", "str", "inet_ntoa", "int", $strMask) $strMask = $ret[0] $strBAddr = DllStructGetData($_MIB_TCPROW, $offset + 4) $ret = DllCall("wsock32.dll", "str", "inet_ntoa", "int", $strBAddr) $strBAddr = $ret[0] $dwReasmSize = DllStructGetData($_MIB_TCPROW, $offset + 5) $unused1 = DllStructGetData($_MIB_TCPROW, $offset + 6) msgbox(0, $i, $strMsg) $strMsg = $strState & @crlf & $strLocalIP & @crlf & $strMask & @crlf & $strBAddr & @crlf & $dwReasmSize & @crlf & $unused1 & @crlf msgbox(0, $i, $strMsg) next endifAfter working on it for 3hours, i've decided to make it clean:expandcollapse popup; TCP list #include <Array.au3> Dim $number_of_elements Const $TCP_STATE_CLOSED = 1 Const $TCP_STATE_LISTEN = 2 Const $TCP_STATE_SYN_SENT = 3 Const $TCP_STATE_SYN_RCVD = 4 Const $TCP_STATE_ESTAB = 5 Const $TCP_STATE_FIN_WAIT1 = 6 Const $TCP_STATE_FIN_WAIT2 = 7 Const $TCP_STATE_CLOSE_WAIT = 8 Const $TCP_STATE_CLOSING = 9 Const $TCP_STATE_LAST_ACK = 10 Const $TCP_STATE_TIME_WAIT = 11 Const $TCP_STATE_DELETE_TCB = 12 #cs typedef struct _MIB_TCPROW { //the structure that represent //a single row in the tcp table DWORD dwState; DWORD dwLocalAddr; DWORD dwLocalPort; DWORD dwRemoteAddr; DWORD dwRemotePort; } MIB_TCPROW, *PMIB_TCPROW #ce $_MIB_TCPROW = "dword;dword;dword;dword;dword" #cs typedef struct _MIB_TCPTABLE { // The top level structure //that hold an array of the second structure DWORD dwNumEntries; MIB_TCPROW table[ANY_SIZE]; //an array of undefined size } MIB_TCPTABLE, *PMIB_TCPTABLE; #ce $_MIB_TCPTABLE = DllStructCreate("dword;" & $_MIB_TCPROW) #cs DWORD GetTcpTable(PMIB_TCPTABLE pTcpTable,PDWORD pdwSize,BOOL bOrder); #ce $dwSize = DllStructCreate("dword") $lngReturn = DllCall("iphlpapi.dll", "int", "GetTcpTable", "ptr", DllStructGetPtr($_MIB_TCPTABLE), "ptr", DllStructGetPtr($dwSize), "int", 0) msgbox(0, $lngReturn[0] & "/" & $lngReturn[1] & "/" & $lngReturn[2] , @error); for sure we have size to small :D, but we now know correct value $lngReturn = DllCall("iphlpapi.dll", "int", "GetTcpTable", "ptr", DllStructGetPtr($_MIB_TCPTABLE), "int", $lngReturn[2], "int", 0) if $lngReturn[0] == 0 Then msgbox(0, "Everything is OK", @error) EndIf if $lngReturn[0] == 87 Then msgbox(0, "Incorrect parameter", @error) EndIf if $lngReturn[0] == 122 Then msgbox(0, "Structure too small, can't gather", @error) EndIf if $lngReturn[0] == 232 Then msgbox(0, "Not connected to a network.", @error) EndIf $number_of_elements = DllStructGetData($_MIB_TCPTABLE, 1) msgbox(0, @error, $number_of_elements); number of all connections/open ports TCP msgbox(0, "why this...", "crashes????")The results are:- retrives correct number of TCP connections (all)- it crashes when connections number is changing (i think so)I need help in:- retrive details for connections (from $_MIB_TCPROW)- stop crashingWanna be pr0? :-)I've found something what is just great:http://www.codeproject.com/cs/internet/iphlpapi.aspThere you'll find "IpHelperApi Undocumented functions" - GetTcpConnexion() and GetUdpConnexion().Using those funcs gives you extra information about connection - it is PID :-).I know, there are people on this forum, who can solve this problem. The problem is:AllocateAndGetTcpExTableFromStack(PMIB_TCPTABLE_EX*, BOOL,HANDLE,DWORD,DWORD);Please, don't think I am lazy or something... Honestly, I really don't know how to do it...Thanks for reading this post. 1. RTFM | /dev/LOL2. RTFS | /dev/OMG3. FGI | /dev/WTF4. /dev/BBQ :)
BALA Posted January 6, 2007 Posted January 6, 2007 (edited) have you found any solution? PaulWhat do you think @x42x4b I think it may have something to do with that code you got of netstat.exe EDIT: This is the code in AutoIt syntax: expandcollapse popup; TCP list #include <Array.au3> Dim $number_of_elements Const $TCP_STATE_CLOSED = 1 Const $TCP_STATE_LISTEN = 2 Const $TCP_STATE_SYN_SENT = 3 Const $TCP_STATE_SYN_RCVD = 4 Const $TCP_STATE_ESTAB = 5 Const $TCP_STATE_FIN_WAIT1 = 6 Const $TCP_STATE_FIN_WAIT2 = 7 Const $TCP_STATE_CLOSE_WAIT = 8 Const $TCP_STATE_CLOSING = 9 Const $TCP_STATE_LAST_ACK = 10 Const $TCP_STATE_TIME_WAIT = 11 Const $TCP_STATE_DELETE_TCB = 12 #cs typedef struct _MIB_TCPROW { //the structure that represent //a single row in the tcp table DWORD dwState; DWORD dwLocalAddr; DWORD dwLocalPort; DWORD dwRemoteAddr; DWORD dwRemotePort; } MIB_TCPROW, *PMIB_TCPROW #ce $_MIB_TCPROW = "dword;dword;dword;dword;dword" #cs typedef struct _MIB_TCPTABLE { // The top level structure //that hold an array of the second structure DWORD dwNumEntries; MIB_TCPROW table[ANY_SIZE]; //an array of undefined size } MIB_TCPTABLE, *PMIB_TCPTABLE; #ce $_MIB_TCPTABLE = DllStructCreate("dword;" & $_MIB_TCPROW) #cs DWORD GetTcpTable(PMIB_TCPTABLE pTcpTable,PDWORD pdwSize,BOOL bOrder); #ce $dwSize = DllStructCreate("dword") $lngReturn = DllCall("iphlpapi.dll", "int", "GetTcpTable", "ptr", DllStructGetPtr($_MIB_TCPTABLE), "ptr", DllStructGetPtr($dwSize), "int", 0) msgbox(0, $lngReturn[0] & "/" & $lngReturn[1] & "/" & $lngReturn[2] , @error); for sure we have size to small :D, but we now know correct value $lngReturn = DllCall("iphlpapi.dll", "int", "GetTcpTable", "ptr", DllStructGetPtr($_MIB_TCPTABLE), "int", $lngReturn[2], "int", 0) if $lngReturn[0] == 0 Then msgbox(0, "Everything is OK", @error) EndIf if $lngReturn[0] == 87 Then msgbox(0, "Incorrect parameter", @error) EndIf if $lngReturn[0] == 122 Then msgbox(0, "Structure too small, can't gather", @error) EndIf if $lngReturn[0] == 232 Then msgbox(0, "Not connected to a network.", @error) EndIf $number_of_elements = DllStructGetData($_MIB_TCPTABLE, 1) msgbox(0, @error, $number_of_elements); number of all connections/open ports TCP msgbox(0, "why this...", "crashes????") Notice how some of it isn't colored Edited January 6, 2007 by BALA [font="Comic Sans MS"]BA-LA[/font]http://ba-la.110mb.comJoin my community, CLICK HEREAlternative links to my site:http://www.ba-la.tkhttp://www.ba-la.co.nrContact me if you would like to help with some of my projects: joeythepirate@gmail.com
The Kandie Man Posted January 6, 2007 Posted January 6, 2007 @BALA The code that isn't colored is clearly commented out and used for reference(#cs & #ce). The syntax highlighting on the forum for autoit doesn't work perfectly, but you can clearly see that he commented out the C/C++ datatype structures. He is using them for reference when he creates the structures in AutoIt using the DllStructCreate function. "So man has sown the wind and reaped the world. Perhaps in the next few hours there will no remembrance of the past and no hope for the future that might have been." & _"All the works of man will be consumed in the great fire after which he was created." & _"And if there is a future for man, insensitive as he is, proud and defiant in his pursuit of power, let him resolve to live it lovingly, for he knows well how to do so." & _"Then he may say once more, 'Truly the light is sweet, and what a pleasant thing it is for the eyes to see the sun.'" - The Day the Earth Caught Fire
x42x4b Posted January 19, 2007 Author Posted January 19, 2007 @BALAThe code that isn't colored is clearly commented out and used for reference(#cs & #ce). The syntax highlighting on the forum for autoit doesn't work perfectly, but you can clearly see that he commented out the C/C++ datatype structures. He is using them for reference when he creates the structures in AutoIt using the DllStructCreate function.Thank you. Your answer is so... complete .I had some troubles with my PC, but now I going to solve this issue. 1. RTFM | /dev/LOL2. RTFS | /dev/OMG3. FGI | /dev/WTF4. /dev/BBQ :)
giltree Posted March 5, 2007 Posted March 5, 2007 First post on this forum. This might help: expandcollapse popup;~ _GetTCPtable( [optional handle to "ws2_32.dll" [, optional handle to "iphlpapi.dll" ] ] ) ;~ ;~ Return Value ;~ Success: TCPtable[][] = 2-D array ;~ [0][0] = number of connections ;~ for connection n: ;~ [n][0] = connection state (integer) ;~ [n][1] = local IP ;~ [n][2] = local port ;~ [n][3] = remote IP ;~ [n][4] = remote port ;~ [n][5] = connection state (informative text) ;~ Failure: TCPtable[0][0] = -1 Func _GetTCPtable($WSdll = "ws2_32.dll", $IHdll = "iphlpapi.dll") Local Const $connState[12] = ["CLOSED", "LISTENING", "SYN_SENT", "SYN_RCVD", "ESTABLISHED", "FIN_WAIT1", _ "FIN_WAIT2", "CLOSE_WAIT", "CLOSING", "LAST_ACK", "TIME_WAIT", "DELETE_TCB"] Local $TCPtable[1][1] = [[ -1]] ; preset to "failed" $dwSize = DllStructCreate("dword") ; for MIB_TCPTABLE buffer size $MIB_TCPTABLE = DllStructCreate("dword") ; nominal struct initially DllStructSetData($dwSize, 1, 0) ; force zero size $ret = DllCall($IHdll, "int", "GetTcpTable", "ptr", DllStructGetPtr($MIB_TCPTABLE), "ptr", DllStructGetPtr($dwSize), "int", 1) ; get size If @error Or $ret[0] <> 122 Then Return $TCPtable ; dllCall error or RC is *not* ERROR_INSUFFICIENT_BUFFER = 122 $MIB_TCPTABLE = "" For $i = 1 To DllStructGetData($dwSize, 1) / 4 ; make to requested size of buffer $MIB_TCPTABLE &= "dword;" Next $MIB_TCPTABLE = DllStructCreate(StringTrimRight($MIB_TCPTABLE, 1)) ; requested struct DllStructSetData($dwSize, 1, DllStructGetSize($MIB_TCPTABLE)) ; recheck its size $ret = DllCall($IHdll, "int", "GetTcpTable", "ptr", DllStructGetPtr($MIB_TCPTABLE), "ptr", DllStructGetPtr($dwSize), "int", 1) ; get data If @error Or $ret[0] Then Return $TCPtable ; dllCall error or RC is Error $numTCPentries = DllStructGetData($MIB_TCPTABLE, 1) ; number of entries ReDim $TCPtable[$numTCPentries + 1][6] For $i = 1 To $numTCPentries $offset = ($i - 1) * 5 + 1 ; dword offset into struct $TCPtable[$i][0] = DllStructGetData($MIB_TCPTABLE, $offset + 1) ; integer connection state $TCPtable[$i][5] = $connState[$TCPtable[$i][0] - 1] ; connection state text $ret = DllCall($WSdll, "str", "inet_ntoa", "uint", DllStructGetData($MIB_TCPTABLE, $offset + 2)) ; local IP / translate If @error Then Return $TCPtable ; dllCall error $TCPtable[$i][1] = $ret[0] $ret = DllCall($WSdll, "ushort", "ntohs", "uint", DllStructGetData($MIB_TCPTABLE, $offset + 3)) ; local port / translate If @error Then Return $TCPtable ; dllCall error $TCPtable[$i][2] = $ret[0] If $TCPtable[$i][0] <= 2 Then ; CLOSED or LISTENING state $TCPtable[$i][3] = "0.0.0.0" $TCPtable[$i][4] = 0 Else $ret = DllCall($WSdll, "str", "inet_ntoa", "uint", DllStructGetData($MIB_TCPTABLE, $offset + 4)) ; remote IP / translate If @error Then Return $TCPtable ; dllCall error $TCPtable[$i][3] = $ret[0] $ret = DllCall($WSdll, "ushort", "ntohs", "uint", DllStructGetData($MIB_TCPTABLE, $offset + 5)) ; remote port / translate If @error Then Return $TCPtable ; dllCall error $TCPtable[$i][4] = $ret[0] EndIf Next $dwSize = 0 $MIB_TCPTABLE = 0 $TCPtable[0][0] = $numTCPentries ; success Return $TCPtable EndFunc ;==>_GetTCPtable ;~ _CloseTCPconnection( LocalIP, LocalPort, RemoteIP, RemotePort, [optional handle to "ws2_32.dll" [, optional handle to "iphlpapi.dll"]] ) ;~ ;~ Return Value ;~ Success: 1 ;~ Failure: 0 Func _CloseTCPconnection($localIP, $localPort, $remoteIP, $remotePort, $WSdll = "ws2_32.dll", $IHdll = "iphlpapi.dll") $MIB_TCPROW = DllStructCreate("dword;dword;dword;dword;dword") ; connection struct DllStructSetData($MIB_TCPROW, 1, 12) ; set to DELETE_TCB state = 12 $ret = DllCall($WSdll, "uint", "inet_addr", "str", $localIP) ; local IP / translate If Not @error Then DllStructSetData($MIB_TCPROW, 2, $ret[0]) $ret = DllCall($WSdll, "uint", "htons", "ushort", $localPort) ; local port / translate If Not @error Then DllStructSetData($MIB_TCPROW, 3, $ret[0]) $ret = DllCall($WSdll, "uint", "inet_addr", "str", $remoteIP) ; remote IP / translate If Not @error Then DllStructSetData($MIB_TCPROW, 4, $ret[0]) $ret = DllCall($WSdll, "uint", "htons", "ushort", $remotePort) ; remote port / translate If Not @error Then DllStructSetData($MIB_TCPROW, 5, $ret[0]) $ret = DllCall($IHdll, "int", "SetTcpEntry", "ptr", DllStructGetPtr($MIB_TCPROW)) ; close connection If @error Or $ret[0] Then Return 0 ; dllCall error or RC is Error $MIB_TCPROW = 0 Return 1 ; success EndFunc ;==>_CloseTCPconnection
x42x4b Posted May 15, 2007 Author Posted May 15, 2007 Great job! Works perfect! Nothing crashes! 1. RTFM | /dev/LOL2. RTFS | /dev/OMG3. FGI | /dev/WTF4. /dev/BBQ :)
EdwardTFN Posted July 2, 2009 Posted July 2, 2009 The code sent by Giltree is working fine, but I really want to use AllocateAndGetTcpExTableFromStack (or something else) to get the PID info, but I'm not familiar with requests to DLL... someone else have sucessfully get PID info related to a specific port?
WeMartiansAreFriendly Posted July 2, 2009 Posted July 2, 2009 @giltree, works great. Yes, PID info would be nice. Don't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet()
matwachich Posted December 3, 2011 Posted December 3, 2011 Should use GetTcpTable2 instead of GetTcpTable
outdated Posted November 30, 2012 Posted November 30, 2012 Should use GetTcpTable2 instead of GetTcpTablenever say thing like that without provehttp://msdn.microsoft.com/ru-ru/library/windows/desktop/bb408406%28v=vs.85%29.aspx The GetTcpTable2 function is defined on Windows Vista and later.
BrewManNH Posted November 30, 2012 Posted November 30, 2012 You do realize you have just resurrected the long since dead with this gem of a post? The original post was from 2006, it was necro-posted to in 2009, 2011, and now again. Someone PLEASE stop the stupidity!. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
outdated Posted November 30, 2012 Posted November 30, 2012 (edited) You do realize you have just resurrected the long since dead with this gem of a post? The original post was from 2006, it was necro-posted to in 2009, 2011, and now again. Someone PLEASE stop the stupidity!.im dont see in forum rules "forbidden bump old threads"found this thread by googleso im really want post somethingwhat im should do?open new thread only for small fix?so people find old thread and confuse again?also nothing change since 2006no point open new threadonly solution all "old" threads should be deletedbut then too many useful info will be gonepsbetter solution than with PID info Edited November 30, 2012 by macwcodvs
guinness Posted November 30, 2012 Posted November 30, 2012 (edited) open new thread only for small fix?so people find old thread and confuse again?Yes, because common sense dictates that if you have a problem you open your own support query and not hijack someone else's. Plus, as this is a language that is being actively developed, it's constantly changing all the time, new functions, wne standards. So opening old threads can lead to confusion with outdated code being present and especially when the original poster hasn't signed in since Feb 11.Oh, and it's BrewManNH. I think they know what they're talking about considering their reputation on the Forum. So a simple sorry (don't post that) and move on is suffice. Edited November 30, 2012 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
outdated Posted November 30, 2012 Posted November 30, 2012 (edited) Plus, as this is a language that is being actively developed, it's constantly changing all the time, new functions, wne standards.script work nothing change since 2007So opening old threads can lead to confusion with outdated code being present and especially when the original poster hasn't signed in since Feb 11.really?we answer only for "original poster"?and 3,319 views dont mean anything? Edited November 30, 2012 by macwcodvs
BrewManNH Posted November 30, 2012 Posted November 30, 2012 im dont see in forum rules "forbidden bump old threads"There should be one.found this thread by googleSo?so im really want post somethingwhat im should do?open new thread only for small fix?so people find old thread and confuse again?Where was the confusion? Most people are not using Windows XP in this day and age. As to whether you should have posted a response or not, my feeling is that what you posted was unhelpful to anyone and not needed. No, you shouldn't have posted in a 6 year old thread just to refute something someone said over a year ago in a thread HE shouldn't have posted in.also nothing change since 2006no point open new threadNo point in posting at all. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
outdated Posted November 30, 2012 Posted November 30, 2012 (edited) Where was the confusion? Most people are not using Windows XP in this day and age.http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=11&qpcustomb=0a bit more<>mostAs to whether you should have posted a response or not, my feeling is that what you posted was unhelpful to anyone and not needed.so ur feeling more important than mine?u troll sirNo point in posting at all.no sense talk with trolland dont will continue Edited November 30, 2012 by macwcodvs
BrewManNH Posted November 30, 2012 Posted November 30, 2012 More than means most. If you have 10 things and one person has 6 and the other has 4 than the guy with 6 has most of the items.http://dictionary.reference.com/browse/most If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now