Hola
Ya hice esta pregunta hace un tiempo y quisiera exponerla de nuevo, con algún dato mas:
Estuve buscando y no encontré (o no busqué bien) como cambiar el texto del reloj.
Encontré un programa llamado WinCalendarTime el cual cambia el reloj de windows, agrandándolo y mostrando mas información.
Quise copiar esta funcionalida pero no pude.
Vi en uno de los hilos (Hint del reloj de Windows - 53838) que iban a modificar un programa escrito en C, pero no avisaron si lo habían echo o si lo iban a compartir.
El código que yo hice, para probar cambiar el mensaje, es el siguiente.
Código Delphi
[-]
procedure TFClock.Button2Click(Sender: TObject);
var
hShell_TrayWnd: THandle;
hTrayNotifyWnd: THandle;
hClockWClass: THandle;
Texto: PChar;
begin
hShell_TrayWnd := FindWindow('Shell_TrayWnd', nil);
hTrayNotifyWnd := FindWindowEx(hShell_TrayWnd, 0, 'TrayNotifyWnd', nil);
hClockWClass := FindWindowEx(hTrayNotifyWnd, 0, 'TrayClockWClass', nil);
Texto := 'HOLA';
SendMessage(hClockWClass, WM_SETTEXT, 0, LongInt(Texto));
end;
Lo "raro" es que si veo las propiedades del hClockWClass me dice que el "caption" es HOLA, pero en pantalla no se actualiza.
Luego probé con
Código Delphi
[-]
SendMessage(hClockWClass, WM_SETTEXT, 0, LongInt(Texto));
Windows.SendMessage(hClockWClass, WM_PAINT, 0, 0);
pero tampoco funcionó.
Hice algunas pruebas mas pero el texto del reloj sigue ahi... inalterable
...
Si alguien puede darme una mano, desde ya muy agradecido.
Saludos