Mark01 Posted March 3, 2011 Posted March 3, 2011 I'm new to Autoit and wanted to know how to search C:\Windows\System32\drivers\etc\host for an entry for "10.1.1.1 www.google.com" if it doesn't exist then modify the host file to enter in that entry automatically. But if the user clicks on the Internet button then it should comment out the entry to read "#10.1.1.1 www.google.com" and if the user clicks on the dedicated button then it should change it to "10.1.1.1 www.google.com" but if the user constantly click on the Internet button it should only input in one "#". When this script runs everytime I click on the Internet button it places and "#" at the beginning of the line so if I open the app 2 times the lines shows "##10.1.1.1 www.google.com" instead of "#10.1.1.1 www.google.com". I also need it to work for Windows 7 pc's. Thanks in advance for any assistance on this. Code: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=C:\Temp\test.exe #AutoIt3Wrapper_UseX64=n #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Begin #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region #Region Variable Declarations, etc Dim $line, $HostFileName, $FileContent Global $EntryTag = "NotFound" $HostFileName = "C:\Windows\System32\drivers\etc\host" $FileContent = "" #EndRegion Variable Declarations, etc _Main() Func _Main() $Form1 = GUICreate("The ICE 1.0", 316, 238, 381, 189) GUISetIcon("D:\003.ico") $GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193) $InternetButt = GUICtrlCreateButton("&Internet", 17, 50, 131, 89, $WS_GROUP) GUICtrlSetFont(-1, 12, 800, 0, "Perpetua") $DedicatedButt = GUICtrlCreateButton("&Dedicated", 161, 50, 131, 89, $WS_GROUP) GUICtrlSetFont(-1, 12, 800, 0, "Perpetua") GUICtrlCreateLabel("Web ICE Host Switcher", 35, 16, 244, 28) GUICtrlSetFont(-1, 14, 800, 2, "Univers 55") GUICtrlSetColor(-1, 0x008000) GUICtrlCreateGroup("", -99, -99, 1, 1) $CancelButt = GUICtrlCreateButton("&Cancel", 110, 203, 75, 25, $WS_GROUP) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Select Case $nMsg = $CancelButt Exit Case $nMsg = $InternetButt InternetConfig() Case $nMsg = $DedicatedButt ModDedicated() Case $nMsg = $GUI_EVENT_CLOSE Exit EndSelect WEnd EndFunc ;==>_Main Func ModDedicated() $TheICEMod = "#10.1.1.1 www.google.com" $ReplaceText = "10.1.1.1 www.google.com" $FileContents = FileRead($HostFileName) $FileContents = StringReplace($FileContents, $TheICEMod, $ReplaceText) FileDelete($HostFileName) FileWrite($HostFileName, $FileContents) $JARMod = "#10.1.1.2 new.google.com" $ReplaceText = "10.1.1.2 new.google.com" $FileContents = FileRead($HostFileName) $FileContents = StringReplace($FileContents, $JARMod, $ReplaceText) FileDelete($HostFileName) FileWrite($HostFileName, $FileContents) $InternetButt = GUICtrlCreateButton("&Internet", 17, 50, 131, 89, $WS_GROUP) GUICtrlSetFont(-1, 12, 800, 0, "Perpetua") GUICtrlSetBkColor(-1, 0x00FF00) $DedicatedButt = GUICtrlCreateButton("&Dedicated", 161, 50, 131, 89, $WS_GROUP) GUICtrlSetFont(-1, 12, 800, 0, "Perpetua") GUICtrlSetBkColor(-1, 0xFFFFFF) Exit EndFunc ;==>ModDedicated Func InternetConfig() $TheICE = "10.1.1.1 www.google.com" $ReplaceText = "#10.1.1.1 www.google.com" $FileContents = FileRead($HostFileName) $FileContents = StringReplace($FileContents, $TheICE, $ReplaceText) FileDelete($HostFileName) FileWrite($HostFileName, $FileContents) $JAR = "10.1.1.2 new.google.com" $ReplaceText = "#10.1.1.2 new.google.com" $FileContents = FileRead($HostFileName) $FileContents = StringReplace($FileContents, $JAR, $ReplaceText) FileDelete($HostFileName) FileWrite($HostFileName, $FileContents) $InternetButt = GUICtrlCreateButton("&Internet", 17, 50, 131, 89, $WS_GROUP) GUICtrlSetFont(-1, 12, 800, 0, "Perpetua") GUICtrlSetBkColor(-1, 0x00FF00) $DedicatedButt = GUICtrlCreateButton("&Dedicated", 161, 50, 131, 89, $WS_GROUP) GUICtrlSetFont(-1, 12, 800, 0, "Perpetua") GUICtrlSetBkColor(-1, 0xFFFFFF) Exit EndFunc ;==>InternetConfig #End
guinness Posted March 3, 2011 Posted March 3, 2011 Search the Example Forum for _HostFile, this should give you a good basis to work from. Also when you do post code could you possibly use the [autoit][/autoit] tags as it makes things a lot easier to read, thanks. 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
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