Autor
|
Tema: Cambiar el texto del boton inicio (Leído 3,345 veces)
|
moe88
Desconectado
Mensajes: 36
|
Bueno, aqui dejo un pequeño code que cambia el texto del boton de inicio.
En un módulo:
Public Const WM_SETTEXT = &HC
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Public Function StringToByteArray(str As String) As Variant Dim bray() As Byte Dim cnt As Integer Dim ln As Integer
ln = Len(str)
ReDim bray(ln)
For cnt = 0 To ln - 1 bray(cnt) = Asc(Mid(str, cnt + 1, 1)) Next cnt bray(ln) = 0 StringToByteArray = bray
End Function
En un form:
1 Textbox 1 comandbutton
Dim wnd As Long, tWnd As Long Private Sub Command1_Click() Dim tInicio() As Byte ReDim tInicio(Len(Text1) + 1) tInicio = StringToByteArray(Text1.Text) Call SendMessage(wnd, WM_SETTEXT, 0&, tInicio(0)) End Sub
Private Sub Form_Load() tWnd = FindWindow("Shell_TrayWnd", "") wnd = GetWindow(tWnd, 5) End Sub
P.D : Solo para Xp
Un saludo
|
|
|
En línea
|
|
|
|
moe88
Desconectado
Mensajes: 36
|
Una cosita más, los cambios en el boton inicio no son permanentes, cada vez que se carga el explorer, el boton toma de nuevo el valor "Inicio", pero buenos, siempre puede ponerse en un timer o alguna cosilla mas...
|
|
|
En línea
|
|
|
|
sowher
Desconectado
Mensajes: 204
Programar es un arte diseñemos arte
|
pues eso se soluciona facil, has q ese programa se carge a registro y cunado el ordenador se enciende se ejecute p, y listo el boton se cambia....
Suerte Bytes
|
|
|
En línea
|
|
|
|
Gorky
|
Es mas logico lo que ha dicho moe88 ya que si el explorer muere y se vuelve a iniciar volveria a tomar el texto original. Ese es el tipico momento tan odiado de cuando te quedas viendo el tapiz del escritorio sin icono ninguno.
|
|
|
En línea
|
|
|
|
SheKeL_C$
Desconectado
Mensajes: 549
_-=[Sh3K3L_C$]=-_
|
A mi no m cambia con q xp lo habeis probado?? Yo tengo home sp2
|
|
|
En línea
|
|
|
|
moe88
Desconectado
Mensajes: 36
|
pues eso se soluciona facil, has q ese programa se carge a registro y cunado el ordenador se enciende se ejecute p, y listo el boton se cambia....
Suerte Bytes
a ver, no es tan sencillo como eso.. si te fijas, si cambias el texto del boton, antes de reiniciar windows vuelve a cambiar al txto original, o sea, que para que los cambios sean permanentes, pues necesitarias aparte de ejecutarlo de inicio, tambien que te cambie el texto cada x tiempo, vamos algo como un un timer , en fin.. que tan "fácil" no es...
|
|
|
En línea
|
|
|
|
SheKeL_C$
Desconectado
Mensajes: 549
_-=[Sh3K3L_C$]=-_
|
Bueno sigo con el mismo problema.. a ver, no es tan sencillo como eso.. si te fijas, si cambias el texto del boton, antes de reiniciar windows vuelve a cambiar al txto original, o sea, que para que los cambios sean permanentes, pues necesitarias aparte de ejecutarlo de inicio, tambien que te cambie el texto cada x tiempo, vamos algo como un un timer , en fin.. que tan "fácil" no es... Lo q se podria hacer es q cuando se cerrase el programa q cree un archivo txt y q dentro ponga el text1.. y q cuando carge el programa q lo lea y lo meta en el text1.. tan dificil no es.. o sino editar el mismo exe..
|
|
|
En línea
|
|
|
|
Kizar
Desconectado
Mensajes: 1.325
kizar_net
|
El code esta asi mejor, el otro da errores y en SP2 no funciona. Aqui no hace falta ni boton ni textbox, ni modulo, solo un formulario. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_SETTEXT = &HC
Dim Wnd As Long, tWnd As Long
Private Function StringToByteArray(Str As String) As Byte() Dim Bray() As Byte Dim Cnt As Long
ReDim Bray(Len(Str))
For Cnt = 0 To Len(Str) - 1 Bray(Cnt) = Asc(Mid(Str, Cnt + 1, 1)) Next Cnt
StringToByteArray = Bray End Function
Private Sub ReName(Name As String) Dim tInicio() As Byte ReDim tInicio(Len(Name)) tInicio = StringToByteArray(Name) Call SendMessage(Wnd, WM_SETTEXT, 0&, tInicio(0)) End Sub
Private Sub Form_Load() tWnd = FindWindow("Shell_TrayWnd", vbNullString) If tWnd = 0 Then MsgBox "Se produjo un error", vbCritical Exit Sub End If Wnd = FindWindowEx(tWnd, ByVal 0, "button", vbNullString) If Wnd = 0 Then MsgBox "Se produjo un error", vbCritical Exit Sub End If ReName ("k1z4r") 'NOMBRE PARA EL BOTON End Sub
Salu2
|
|
|
En línea
|
|
|
|
moe88
Desconectado
Mensajes: 36
|
Pues no se, pero tengo sp2 pro y a mi me funciona sin problemas en 3 máquinas diferentes , y en niguna me tira error... ¿?... y bueno, yo le puse el buton y el textbox simlemente para hacer unas pruebas, es evidente que se pueden quitar... en fin, un saludo
|
|
|
En línea
|
|
|
|
xXnewbieXx
Desconectado
Mensajes: 68
|
muy curioso el code thnx! salu2
|
|
|
En línea
|
Hardware: Lo que golpeas. Software: La causa
Error 943 - El sistema esta funcionando demasiado bien, se caerá para seguir con la rutina...
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Los usuarios de Windows 8 no pueden vivir sin un botón de Inicio
Noticias
|
wolfbcn
|
0
|
2,345
|
18 Enero 2013, 02:27 am
por wolfbcn
|
|
|
Windows 8.1 puede traer de vuelta el botón inicio
Noticias
|
wolfbcn
|
7
|
3,906
|
18 Abril 2013, 13:11 pm
por -- KiLiaN --
|
|
|
Rumor: El botón de Inicio de Windows 8.1 lanzará sólo la Pantalla de Inicio
Noticias
|
wolfbcn
|
0
|
2,891
|
23 Abril 2013, 02:16 am
por wolfbcn
|
|
|
Tutorial: personaliza el botón de inicio de tu ordenador
Windows
|
Catovar
|
1
|
2,181
|
18 Enero 2016, 17:49 pm
por Arnaldo Otegi
|
|
|
ruta boton de inicio
« 1 2 »
Windows
|
lobopk2
|
10
|
5,995
|
21 Abril 2017, 21:10 pm
por lobopk2
|
|