How would I go about obtaining the Start Buttons handle? Using MS-Spy++ I get a value of 000200F0, could i use this? If so, will that value change depending on the flavor of windows?
Posted on 2001-11-15 14:30:52 by narcoleptic_insomniac
dont think so, just try on Windows2000 it and it gives 00020094
Posted on 2001-11-15 15:08:16 by dxantos
Hope this will help you.

- How can i Disable/Enable/Show/Hide Start Button ?


.data?
buffer db 127 dup(?)

.data
shell db "Shell_TrayWnd",0
sbar db "BUTTON",0
child dd ?
slen dd ?

.code
invoke FindWindow,addr shell,NULL ; Get TrayBar Handle
mov tray, eax
invoke GetWindow,tray, GW_CHILD ; Get Child of Tray Bar if exists
mov child, eax
.if child != 0
invoke GetClassName,child,offset buffer, sizeof buffer ; Get the classname of Child window
.if eax > 0
invoke lstrlen, offset buffer ; get length of classname
mov slen,eax
invoke CharUpperBuff,offset buffer,slen ; convert to uppercase
invoke lstrcmp,addr buffer, addr sbar ; Compare classname with BUTTON
.if eax == 0
invoke ShowWindow,child,SW_HIDE ; Hide StartButton
; invoke ShowWindow,child,SW_SHOW ; Show StartButton
; invoke EnableWindow,child,FALSE ; Disable StartButton
; invoke EnableWindow,child,TRUE ; Enable StartButton
.endif
.endif
.endif
Posted on 2001-11-16 04:39:50 by forge
Hi,
forge is right.
If you start your Windows (2K or 9.x or else maybe), you will have a handle (using SPy++ if you want). Remember this one and try to restart your system and look at the handle again. Logically you'll see another handle value. In fact Windows assign(s) itself handle values for control.

If i'm wrong, correct me, but I think that's true.

Then you can play with the Start button bitmap.

If you want, you can download Get&Set on my site, so you will be able easily to obtain a handle value. And also BtnDemarr that changes the bitmap until you press Ctrl+Alt+i don't remember the last key.

I hope this will help you.
Posted on 2001-11-17 06:05:35 by Vom-bonjour:-()