HAL9000 Posted October 27, 2010 Posted October 27, 2010 How to change the Start button text? autoit windows info >>>> Control <<<< Class: Button Instance: 1 ClassnameNN: Button1 Name: Advanced (Class): [CLASS:Button; INSTANCE:1] ID: 304 Text: start Position: 0, 0 Size: 99, 32 ControlClick Coords: 52, 16 Style: 0x54000D00 ExStyle: 0x00000000 Handle: 0x00030046 I tried with ControlSetText but I failed
willichan Posted October 27, 2010 Posted October 27, 2010 You will have to edit the explorer.exe binary (in C:\Windows). You can't do it from AutoIt.If you are determined, you can read this article.http://www.theeldergeek.com/change_text_on_xp_start_button1.htmA little Google goes a long way. My UDFs: Barcode Libraries, Automate creation of any type of project folder, File Locking with Cooperative Semaphores, Inline binary files, Continue script after reboot, WinWaitMulti, Name Aggregator, Enigma, CornedBeef Hash
PsaltyDS Posted October 27, 2010 Posted October 27, 2010 Explorer.exe draws the start button and would have to be modified. As the app that owns the control, it is not going to let you change it unless modified itself. Modifying Explorer.exe is possible, but is going to be resisted by every facet of malware protection and system restore functions on the machine. That makes me think you would have to "lower your shields" so much to do this it wouldn't be worth it.Here's a quick Google'd up ref: Change Text on XP Start Button - Version II Step 1 – Modify Explorer.exe FileIn order to make the changes, the file explorer.exe located at C:\Windows needs to be edited. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
HAL9000 Posted October 27, 2010 Author Posted October 27, 2010 i have found this old script expandcollapse popupIf WinExists("%_StartClock_%") Then ;Checks to see if StartClock is already running Exit EndIf ;//setting environment variables// #include <GUIConstants.au3> Opt("GuiOnEventMode", 1) Opt("GUICoordMode", 1) Opt ("WinTitleMatchMode", 4) Opt ("WinTextMatchMode", 2) ;Opt ("WinWaitDelay", 300) AutoItWinSetTitle("%_StartClock_%") ProcessSetPriority("StartClock.exe", 0) $Button1_pos = ControlGetPos( "classname=Shell_TrayWnd", "", "Button1") ;find and store location of button1(start button) $tray_pos = ControlGetPos("classname=Shell_TrayWnd", "", "ReBarWindow321") ;entire task and quicklaunch area $GetTime = FileGetTime(@ScriptDir & "\StartClock.ini", 0, 1) ;store startclock.ini last modified $date = "" $AMPM = "" $hour = "" $min = "" $sec = "" $display = "" If FileExists(@ScriptDir & "\StartClock.ini") Then ReadINI() Else MakeINI() EndIf Opt ("TrayIconHide", $HideTrayIcon) If $BeginAtStartup = 1 Then RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock", "REG_SZ", @ScriptFullPath) Else RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock") EndIf If $DisableHotkeys = 4 Then HotKeySet("^!x", "ExitScript");CTRL+ALT+X HotKeySet("^!z", "Config");CTRL+ALT+Z HotKeySet("^!+d", "Debug");CTRL+ALT+D EndIf ;//end// ResizBtn() AdlibRegister( "Watch", 250) ;AdlibEnable( "Watch", 250) Do $timer = Timerinit() $HOUR = @HOUR $MIN = @MIN ;//wait for changes in startclock.ini// If FileGetTime(@ScriptDir & "\StartClock.ini", 0, 1) <> $GetTime Then ReadINI() If $HideTrayIcon = 4 Then $HideTrayIcon = 1;hide tray icon Else $HideTrayIcon = 0;show tray icon EndIf Opt ("TrayIconHide", $HideTrayIcon) If $BeginAtStartup = 1 Then RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock", "REG_SZ", @ScriptFullPath) Else RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "StartClock") EndIf If $DisableHotkeys = 4 Then HotKeySet("^!x", "ExitScript");CTRL+ALT+X HotKeySet("^!c", "Config");CTRL+ALT+C HotKeySet("^!+d", "Debug");CTRL+ALT+D Else HotKeySet("^!x") HotKeySet("^!c") HotKeySet("^!+d") EndIf $GetTime = FileGetTime(@ScriptDir & "\StartClock.ini", 0, 1) EndIf ;//end// ;//define seconds// If $ShowSeconds = 1 Then $SEC = ":" & @SEC Else $SEC = "" EndIf ;//end// ;//define date// If $Showdate = 1 Then Calldate() Else $date = "" EndIf ;//end// ;//define hours// If $ClockType = 1 Then If $HOUR <= 11 And Not $HOUR = 00 Then $HOUR = 24 + $HOUR - 24 $AMPM = " AM" ElseIf $HOUR > 12 Then $HOUR = $HOUR - 12 $AMPM = " PM" ElseIf $HOUR = 12 Then $HOUR = $HOUR $AMPM = " PM" ElseIf $HOUR = 00 Then $HOUR = "12" $AMPM = " AM" EndIf Else $AMPM = "" EndIf ;//end// $test = Timerinit() ;;MsgBox(0, "Debug - Calculation Time", TimerDiff($timer)) If TimerDiff($timer) > 1 Then ;;MsgBox(0, "Debug - Verify Run", "Time Lag corrected") $sec = @SEC $display = $HOUR & ":" & $MIN & $SEC & $AMPM & $date Else $display = $HOUR & ":" & $MIN & $SEC & $AMPM & $date Sleep(1000 - TimerDiff($timer)) EndIf Until 1 <> 1 ;//begin functions// Func Watch() If ControlGetPos( "classname=Shell_TrayWnd", "", "Button1") <> $Pre_Watch Then ResizBtn() EndIf EndFunc ;//note: x, y, width, height// Func ResizBtn() $thin_siz = StringSplit($hour & ":" & $min & $sec & $ampm & $date, "fijl :-") $med_siz = StringSplit($hour & ":" & $min & $sec & $ampm & $date, "abcdeghknopqrstuvxyz") $wide_siz = StringSplit($hour & ":" & $min & $sec & $ampm & $date, "0123456789mwABCDEFGHIJKLMNOPQRSTUVWXYZ") $resize = ($thin_siz[0]-1) * ($button1_pos[3] * 0.125) + ($med_siz[0]-1) * ($button1_pos[3] * 0.3125) + ($wide_siz[0]-1) * ($button1_pos[3] * 0.40625) $tray_current = ControlGetPos("classname=Shell_TrayWnd", "", "ReBarWindow321") If $tray_pos[3] <> $tray_current[3] Then RefreshTray();drastic theme changes If $tray_pos[2] > $tray_pos[3] Then;entire tray width greater than height ControlMove("classname=Shell_TrayWnd", "", "ReBarWindow321", $tray_pos[0] - $Button1_pos[2] + ($Button1_pos[2] * 0.58 + $resize), $tray_pos[1], $tray_pos[2] + $Button1_pos[2] - ($Button1_pos[2] * 0.58 + $resize), $tray_pos[3]);resizes tray EndIf ControlMove("classname=Shell_TrayWnd", "", "Button1", $Button1_pos[0], $Button1_pos[1], ($Button1_pos[2] * 0.58 + $resize), $Button1_pos[3]);resizes start button ControlSetText("classname=Shell_TrayWnd", "", "Button1", $display) GUISetFont(8.5, 100,"","","classname=Shell_TrayWnd") GLOBAL $Pre_Watch = ControlGetPos( "classname=Shell_TrayWnd", "", "Button1") EndFunc Func Debug() $thin_siz = StringSplit($hour & ":" & $min & $sec & $ampm & $date, "fijl :-") $med_siz = StringSplit($hour & ":" & $min & $sec & $ampm & $date, "abcdeghknopqrstuvxyz") $wide_siz = StringSplit($hour & ":" & $min & $sec & $ampm & $date, "0123456789mwABCDEFGHIJKLMNOPQRSTUVWXYZ") $posrefill = ControlGetPos("classname=Shell_TrayWnd", "", "Button1") $resize = ($thin_siz[0]-1) * ($button1_pos[3] * 0.125) + ($med_siz[0]-1) * ($button1_pos[3] * 0.3125) + ($wide_siz[0]-1) * ($button1_pos[3] * 0.375) ;0.40625) MsgBox(0, "Debug - Characters", "Start Height: " & $button1_pos[3] & @LF & "Start Width: " & $button1_pos[2] & @LF & @LF & "Thin Char: " & $thin_siz[0]-1 & @LF & "Med Char: " & $med_siz[0]-1 & @LF & "Wide Char: " & $wide_siz[0]-1 & @LF & "Char Space: " & $resize & @LF & @LF &"Actual space taken: " & $posrefill[2]) EndFunc Func Calldate() If @MON = 1 Then $mon = "Jan" ElseIf @MON = 2 Then $mon = "Feb" ElseIf @MON = 3 Then $mon = "Mar" ElseIf @MON = 4 Then $mon = "Apr" ElseIf @MON = 5 Then $mon = "May" ElseIf @MON = 6 Then $mon = "June" ElseIf @MON = 7 Then $mon = "July" ElseIf @MON = 8 Then $mon = "Aug" ElseIf @MON = 9 Then $mon = "Sept" ElseIf @MON = 10 Then $mon = "Oct" ElseIf @MON = 11 Then $mon = "Nov" ElseIf @MON = 12 Then $mon = "Dec" EndIf $date = " - " & $mon & " " & @MDAY EndFunc Func RefreshTray() ProcessWaitClose( "net.exe" ) Sleep(250) Opt ("TrayIconHide", 0) Opt ("TrayIconHide", 1) Opt ("TrayIconHide", $HideTrayIcon) $Button1TXT = ControlGetText("classname=Shell_TrayWnd", "", "Button1") ;Start Button $Button1_pos = ControlGetPos( "classname=Shell_TrayWnd", "", "Button1") ;Start Button NEW replace $Button1_pos eventually $tray_pos = ControlGetPos("classname=Shell_TrayWnd", "", "ReBarWindow321") ;entire runningApp and quicklaunch area EndFunc Func ReadINI() GLOBAL $ShowSeconds = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ShowSeconds", "4") GLOBAL $ClockType = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ClockType", "1") GLOBAL $Showdate = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "ShowDate", "4") GLOBAL $HideTrayIcon = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "HideTrayIcon", "4") GLOBAL $BeginAtStartup = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "BeginAtStartup", "4") GLOBAL $DisableHotkeys = IniRead(@ScriptDir & "\StartClock.ini", "Settings", "DisableHotkeys", "4") EndFunc ;//note: x, y, width, height// Func MakeINI() GuiCreate("StartClock Configuration", 248, 155,(@DesktopWidth-248)/2, (@DesktopHeight-155)/2 , 0x12CA0000) GUISetState (@SW_SHOW) $about_menu = GUICtrlCreateMenuitem ("&About", -1) $Label_Options = GuiCtrlCreateLabel("Options:", 15, 5, 60, 20, 0x08000000) GLOBAL $Radio_12Hour = GuiCtrlCreateRadio("12 Hour Clock", 15, 23, 100, 20) GLOBAL $Radio_24Hour = GuiCtrlCreateRadio("24 Hour Clock", 15, 43, 90, 20) GLOBAL $Checkbox_ShowSeconds = GuiCtrlCreateCheckbox("Show Seconds", 15, 63, 90, 20) GLOBAL $Checkbox_Showdate = GuiCtrlCreateCheckbox("Show date", 15, 83, 70, 20) GLOBAL $Checkbox_Tray = GuiCtrlCreateCheckbox("Show Tray Icon", 140, 23, 100, 20) GLOBAL $Checkbox_Startup = GuiCtrlCreateCheckbox("Begin at Startup", 140, 43, 100, 20) GLOBAL $Checkbox_Hotkeys = GuiCtrlCreateCheckbox("Disable Hotkeys", 140, 63, 100, 20) GLOBAL $Exit1 = GuiCtrlCreateButton("Exit", 78, 110, 90, 20) If FileExists (@ScriptDir & "\StartClock.ini") Then ReadINI() If $ClockType = 4 Then GUICtrlSetState($Radio_24Hour, 1) Else GUICtrlSetState($Radio_12Hour, 1) EndIf GUICtrlSetState ( $Checkbox_ShowSeconds, $ShowSeconds ) GUICtrlSetState ( $Checkbox_Showdate, $Showdate ) GUICtrlSetState ( $Checkbox_Tray, $HideTrayIcon ) GUICtrlSetState ( $Checkbox_Startup, $BeginAtStartup ) GUICtrlSetState ( $Checkbox_Hotkeys, $DisableHotkeys ) Else GUICtrlSetState ( $Checkbox_ShowSeconds, 4) GUICtrlSetState ( $Radio_12Hour, 1 ) GUICtrlSetState ( $Checkbox_Showdate, 4) GUICtrlSetState ( $Checkbox_Tray, 4) GUICtrlSetState ( $Checkbox_Startup, 4) GUICtrlSetState ( $Checkbox_Hotkeys, 4) IniWrite ( "StartClock.ini", "Settings", "ShowSeconds", 4 ) IniWrite ( "StartClock.ini", "Settings", "ClockType", 1 ) IniWrite ( "StartClock.ini", "Settings", "Showdate", 4 ) IniWrite ( "StartClock.ini", "Settings", "HideTrayIcon", 4 ) IniWrite ( "StartClock.ini", "Settings", "BeginAtStartup", 4 ) IniWrite ( "StartClock.ini", "Settings", "DisableHotkeys", 4 ) ReadINI() EndIf GUICtrlSetOnEvent($about_menu, "AboutPressed") GUICtrlSetOnEvent($Radio_12Hour, "ButtonPressed") GUICtrlSetOnEvent($Radio_24Hour, "ButtonPressed") GUICtrlSetOnEvent($Checkbox_ShowSeconds, "ButtonPressed") GUICtrlSetOnEvent($Checkbox_Showdate, "ButtonPressed") GUICtrlSetOnEvent($Checkbox_Tray, "ButtonPressed") GUICtrlSetOnEvent($Checkbox_Startup, "ButtonPressed") GUICtrlSetOnEvent($Checkbox_Hotkeys, "ButtonPressed") GUICtrlSetOnEvent($GUI_EVENT_CLOSE, "ExitPressed") GuiSetOnEvent($GUI_EVENT_CLOSE, "ExitPressed") EndFunc Func AboutPressed() MsgBox(0, "About", "StartClock" & @CRLF & "Version 1.13" & @CRLF & @CRLF & "By chaos945@msn.com" & @CRLF & "Created with AutoIt v3") EndFunc Func ButtonPressed() IniWrite ( "StartClock.ini", "Settings", "ShowSeconds", GUICtrlRead( $Checkbox_ShowSeconds ) ) IniWrite ( "StartClock.ini", "Settings", "ClockType", GUICtrlRead( $Radio_12Hour ) ) IniWrite ( "StartClock.ini", "Settings", "Showdate", GUICtrlRead( $Checkbox_Showdate ) ) IniWrite ( "StartClock.ini", "Settings", "HideTrayIcon", GUICtrlRead( $Checkbox_Tray ) ) IniWrite ( "StartClock.ini", "Settings", "BeginAtStartup", GUICtrlRead( $Checkbox_Startup ) ) IniWrite ( "StartClock.ini", "Settings", "DisableHotkeys", GUICtrlRead( $Checkbox_Hotkeys ) ) EndFunc Func ExitPressed() GUIDelete() EndFunc Func Config() GUIDelete() MakeINI() EndFunc Func ExitScript() AdlibUnRegister() Opt ( "TrayIconHide", 0) Opt ("TrayIconHide", 1) Opt ("TrayIconHide", $HideTrayIcon) Exit EndFunc ;//end functions//
nitekram Posted October 27, 2010 Posted October 27, 2010 There was a post about changing the start button with autoit - you may have to do a search via the forums for it, but i thought there was more than one 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
nitekram Posted October 27, 2010 Posted October 27, 2010 Try this link http://www.autoitscript.com/forum/index.php?showtopic=37037&st=0&p=276662&hl=changing%20start%20button&fromsearch=1&#entry276662 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator
willichan Posted October 27, 2010 Posted October 27, 2010 (edited) I stand corrected. That does appear to work, but there are three drawbacks to this method: 1 - you are limited to what will fit in the 5 letter space 2 - your start button will flicker 3 - eats up a lot of processor time (between 20-25% for my system Edited October 27, 2010 by willichan My UDFs: Barcode Libraries, Automate creation of any type of project folder, File Locking with Cooperative Semaphores, Inline binary files, Continue script after reboot, WinWaitMulti, Name Aggregator, Enigma, CornedBeef Hash
trancexx Posted October 27, 2010 Posted October 27, 2010 (edited) I stand corrected. That does appear to work, but there are three drawbacks to this method: 1 - you are limited to what will fit in the 5 letter space 2 - your start button will flicker 3 - eats up a lot of processor time (between 20-25% for my system Of method for changing the start button text? $hHandle = ControlGetHandle("[CLASS:Shell_TrayWnd]", "", "Button1") WinSetTitle($hHandle, 0, "end") ; Win... MsgBox(32 + 262144, "", "Changed?" & @CRLF & "Don't worry, it's only temporary.") Edited October 27, 2010 by trancexx ♡♡♡ . eMyvnE
willichan Posted October 27, 2010 Posted October 27, 2010 Of method for changing the start button text? Sorry. Seriously lacking sleep right now.Ignore 2 and 3. They apply to the example script, not the method of changing the text.Number 1 still applies. My UDFs: Barcode Libraries, Automate creation of any type of project folder, File Locking with Cooperative Semaphores, Inline binary files, Continue script after reboot, WinWaitMulti, Name Aggregator, Enigma, CornedBeef Hash
trancexx Posted October 27, 2010 Posted October 27, 2010 Without your space helmet, Dave, you're going to find that rather difficult. Dave, this conversation can serve no purpose anymore. Goodbye. ♡♡♡ . eMyvnE
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