API to set Autohide for taskbar 
Author Message
 API to set Autohide for taskbar

Does anyone know of a way to set the Autohide or Always On Top property
of the Windows 95/98/NT taskbar.  I have reviewed the hide and unhide
API call, but I have not seen a way to control the Autohide or Always On
Top property of the taskbar.

My concern with using the hide/unhide API, is the application crashing
and the user being left without a taskbar.  They may associate that with
other computer related problems that has nothing to do with my
application.

Thanks in advance,



Tue, 09 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
Jeffrey,

:
: My concern with using the hide/unhide API, is the application crashing
: and the user being left without a taskbar.  They may associate that with
: other computer related problems that has nothing to do with my
: application.
:

  This is precisely why you shouldn't be mucking around such APIs in the
first place.

 (a) There's nothing you can do to restore the setting if you encounter a
crash.
 (b) You shouldn't change such a system wide setting from an Access app,
it's considered an example of bad UI.
 (c) FWIW, I would be tempted to uninstall an app that does this on my
machine.

 What is it that you are trying to do?

 -- Dev



Thu, 11 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
Dev Ashish,

(A) I'm searching for a solution, to what I perceive to be an enhancement.
(B) The API calls we use have been, 1. Supplied by various Access support
sites documentation: The Access Web, Access 97 Expert Solutions, Access 97
Developers Handbook, etc etc etc  2. Tested by myself and my staff before
implementation.
(C) This is an in-house application.  Without going into a great deal of
detail, Each form is sized to fit either 640X480 or 800X600.  The 640X480 with
the taskbar set to ALWAYS ON TOP hides information stored at the bottom of the
form.

THAT WAS THE NICE RESPONSE..NOW FOR THE NOT SO NICE RESPONSE!!!!

YOU WROTE:

This is precisely why you shouldn't be mucking around such APIs in the
first place.

IS MUCKING A SUBSTITUE ADJECTIVE?

 (a) There's nothing you can do to restore the setting if you encounter a
crash.

LETS SEE, I COULD WRITE ALTERNATE CODE TO REACTIVATE THE TASKBAR IN C++ OR
VB. OR, IF THINGS GET REALLY BAD I COULD HAVE THE USER TURN OFF THEIR MUCKING
COMPUTER.

 (b) You shouldn't change such a system wide setting from an Access app,
it's considered an example of bad UI.

LETS SEE, WE HAVE API CALLS THAT ADJUST THE WINDOW SIZE OF THE CURRENT ACCESS
APPLICATION.  WE HAVE APIS, AND ACTIVE X CONTROLS TO CONTROL EVERYTHING FROM
CONTROL BARS TO FORM SIZE TO MAPI ACCESS ETC ETC ETC...WITHOUT ALL THE FACTS
HOW DID YOU COME TO THE CONCULSION THAT THIS IS AN EXAMPLE OF BAD
UI????????????

 (c) FWIW, I would be tempted to uninstall an app that does this on my
machine.

FWIW, YOURE THE TYPE OF PERSON THAT GIVES IT MANAGERS, PROGRAMMERS,
CONSULTANTS, ETC ETC A BAD NAME WITH YOU POOR ATTITUDE.  IM SORRY LET ME TAKE
THAT BACK ABOUT CONSULTANTS.  YOU MAKE THE ENVIRONMENT SWEET FOR CONSULTANTS
BECAUSE BY THE TIME THE USERS FINISH LISTENING TO YOUR STUPIDITY,  THEY ARE
MORE THEN RECEIPTIVE TO LISTENING TO A CONSULTANT THAT HAS SOMETHING
CONSTRUCTIVE TO SAY..

I did not post my message to be second guest by someone that did not know all
aspects of the problem.  If you had asked for more detail, or knew the person
on the other end of this electronic letter, then MAYBE I could understand your
response.

IN THE FUTURE, TRY TO WORK WITH PEOPLE, EVEN IF YOU DISAGREE WITH THEIR
METHODS.  SUPPLY A REASON WHY YOU DISAGREE AND NOT A CONDESENDING MESSAGE.

Jeffrey J. Robinson

Quote:

> Jeffrey,


> :
> : My concern with using the hide/unhide API, is the application crashing
> : and the user being left without a taskbar.  They may associate that with
> : other computer related problems that has nothing to do with my
> : application.
> :

>   This is precisely why you shouldn't be mucking around such APIs in the
> first place.

>  (a) There's nothing you can do to restore the setting if you encounter a
> crash.
>  (b) You shouldn't change such a system wide setting from an Access app,
> it's considered an example of bad UI.
>  (c) FWIW, I would be tempted to uninstall an app that does this on my
> machine.

>  What is it that you are trying to do?

>  -- Dev



Sat, 13 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
Jeffrey,


: (C) This is an in-house application.  Without going into a great deal of
: detail, Each form is sized to fit either 640X480 or 800X600.  The 640X480
with
: the taskbar set to ALWAYS ON TOP hides information stored at the bottom of
the
: form.

 FWIW, it would be _much_ easier for you to redesign your form so that your
app doesn't care about the space occupied by the taskbar.  I haven't yet
come across an app where things are so crammed for space anyways.

:
: THAT WAS THE NICE RESPONSE....NOW FOR THE NOT SO NICE RESPONSE!!!!

 Which I am going to try to address calmly, besides your yelling.

:
: IS MUCKING A SUBSTITUE ADJECTIVE?

 No, it wasn't.  Thanks for reading between the lines.

: LET'S SEE, I COULD WRITE ALTERNATE CODE TO REACTIVATE THE TASKBAR IN C++
OR
: VB.

Which still doesn't prevent you from failing to restore the setting if your
app, whichever language it's written in, crashes.

: HOW DID YOU COME TO THE CONCULSION THAT THIS IS AN EXAMPLE OF BAD
: UI????????????

 Because all the alternatives you presented are things you do _to_ Access or
within your own app, you are not affecting other applications installed on
the users' machine.  Let's say as an user, I like to leave the taskbar
permanently on top and I hate AutoHide, I'm using your app and suddenly I
get a new email and I need to switch to Word or my email app to do some
other work, while leaving your app open.  What will be my thoughts once I
find out that your app is the one that switches the taskbar settings as soon
as it's opened??

FWIW, this is one of the issues a lot of folks have with Word 2000 under
certain circumstances.

:
: FWIW, YOU'RE THE TYPE OF PERSON THAT GIVES IT MANAGERS, PROGRAMMERS,
: CONSULTANTS, ETC ETC A BAD NAME WITH YOU POOR ATTITUDE.  I'M SORRY LET ME
TAKE
: THAT BACK ABOUT CONSULTANTS.  YOU MAKE THE ENVIRONMENT SWEET FOR
CONSULTANTS
: BECAUSE BY THE TIME THE USERS FINISH LISTENING TO YOUR STUPIDITY,  THEY
ARE
: MORE THEN RECEIPTIVE TO LISTENING TO A CONSULTANT THAT HAS SOMETHING
: CONSTRUCTIVE TO SAY...

  Going from reading between the lines to making more assumptions, eh? (and
that's me saying it politely).

:
: I did not post my message to be second guest by someone that did not know
all
: aspects of the problem.

..... because you didn't post what you were trying to do in the first post.

: If you had asked for more detail,

 I did, if you notice.  Maybe not, because that's the part you trimmed out.

: IN THE FUTURE, TRY TO WORK WITH PEOPLE, EVEN IF YOU DISAGREE WITH THEIR
: METHODS.  SUPPLY A REASON WHY YOU DISAGREE AND NOT A CONDESENDING MESSAGE.

 I thought that what's I did.  Maybe you should've tried to read my message
differently??

 -- Dev



Sat, 13 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
And there's no need to cc me on your posts to the newsgroup.

< http://www.mvps.org/access/netiquette.htm >

 -- Dev



Sat, 13 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
Enough is enough,

I read your message and I did not include the last line because it was after
your AB & C
comments.  If you have a solution, please provide one. If not kindly move on to
the next
message.

A group of use reviewed your Email, we all came to the same conclusion. Again
you

  This is precisely why you shouldn't be mucking around such APIs in the
first place.

 (a) There's nothing you can do to restore the setting if you encounter a
crash.
 (b) You shouldn't change such a system wide setting from an Access app,
it's considered an example of bad UI.
 (c) FWIW, I would be tempted to uninstall an app that does this on my
machine.

 What is it that you are trying to do? (If anything this should have been the
first question)

Your AB & C set the tone of your Email which was, in our opinion, condescending.
I'm
going to past your last Email in this, but this is an in-house application. We
have flexibility
over the control our employee's desktop.

You may never have had a need to adjust the desktop, that does not mean that
another
developer hasn't.  Based on Email 1 & 2:

A) You have never had a need to adjust the users desktop.
B) You may or may not develop screens in 640X480.  Reference Email 2:

 FWIW, it would be _much_ easier for you to redesign your form so that your
app doesn't care about the space occupied by the taskbar.  I haven't yet
come across an app where things are so crammed for space anyways.

Your right!!!!! YOU haven't come across an app, did you ever think that maybe
there are
other developers that have???

C) You do not know the answer to my question.

If the answer is C please move on to the next Email.

Neither Email accomplished anything constructive, your first Email answers
nothing and
your second did more of the same.

In conclusion:

You Wrote:

And there's no need to cc me on your posts to the newsgroup.

I apologize for that it was late when I sent the Email. In frustration I sent
one to many and
to the wrong address.

Jeffrey J. Robinson
lets move on......

Quote:

> Jeffrey,



> : (C) This is an in-house application.  Without going into a great deal of
> : detail, Each form is sized to fit either 640X480 or 800X600.  The 640X480
> with
> : the taskbar set to ALWAYS ON TOP hides information stored at the bottom of
> the
> : form.

>  FWIW, it would be _much_ easier for you to redesign your form so that your
> app doesn't care about the space occupied by the taskbar.  I haven't yet
> come across an app where things are so crammed for space anyways.

> :
> : THAT WAS THE NICE RESPONSE....NOW FOR THE NOT SO NICE RESPONSE!!!!

>  Which I am going to try to address calmly, besides your yelling.

> :
> : IS MUCKING A SUBSTITUE ADJECTIVE?

>  No, it wasn't.  Thanks for reading between the lines.

> : LET'S SEE, I COULD WRITE ALTERNATE CODE TO REACTIVATE THE TASKBAR IN C++
> OR
> : VB.

> Which still doesn't prevent you from failing to restore the setting if your
> app, whichever language it's written in, crashes.

> : HOW DID YOU COME TO THE CONCULSION THAT THIS IS AN EXAMPLE OF BAD
> : UI????????????

>  Because all the alternatives you presented are things you do _to_ Access or
> within your own app, you are not affecting other applications installed on
> the users' machine.  Let's say as an user, I like to leave the taskbar
> permanently on top and I hate AutoHide, I'm using your app and suddenly I
> get a new email and I need to switch to Word or my email app to do some
> other work, while leaving your app open.  What will be my thoughts once I
> find out that your app is the one that switches the taskbar settings as soon
> as it's opened??

> FWIW, this is one of the issues a lot of folks have with Word 2000 under
> certain circumstances.

> :
> : FWIW, YOU'RE THE TYPE OF PERSON THAT GIVES IT MANAGERS, PROGRAMMERS,
> : CONSULTANTS, ETC ETC A BAD NAME WITH YOU POOR ATTITUDE.  I'M SORRY LET ME
> TAKE
> : THAT BACK ABOUT CONSULTANTS.  YOU MAKE THE ENVIRONMENT SWEET FOR
> CONSULTANTS
> : BECAUSE BY THE TIME THE USERS FINISH LISTENING TO YOUR STUPIDITY,  THEY
> ARE
> : MORE THEN RECEIPTIVE TO LISTENING TO A CONSULTANT THAT HAS SOMETHING
> : CONSTRUCTIVE TO SAY...

>   Going from reading between the lines to making more assumptions, eh? (and
> that's me saying it politely).

> :
> : I did not post my message to be second guest by someone that did not know
> all
> : aspects of the problem.

> ..... because you didn't post what you were trying to do in the first post.

> : If you had asked for more detail,

>  I did, if you notice.  Maybe not, because that's the part you trimmed out.

> : IN THE FUTURE, TRY TO WORK WITH PEOPLE, EVEN IF YOU DISAGREE WITH THEIR
> : METHODS.  SUPPLY A REASON WHY YOU DISAGREE AND NOT A CONDESENDING MESSAGE.

>  I thought that what's I did.  Maybe you should've tried to read my message
> differently??

>  -- Dev



Sat, 13 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar

Quote:

> C) You do not know the answer to my question.

 Jeffrey, try to understand that I'm trying to help on my time here.  Enough
said.

 You _can't_ set the AutoHide prop of taskbar of another process, so there,
that's your answer.  You can _find out_ if AutoHide is enabled, but that's
about it.

  Feel free to have the last say in this thread.

 ' ******* Code Start *********
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Type APPBARDATA
    cbSize As Long
    hwnd As Long
    uCallbackMessage As Long
    uEdge As Long
    rc As RECT
    lParam As Long
End Type

Private Declare Function apiSHAppBarMessage Lib "shell32.dll" _
    Alias "SHAppBarMessage" _
   (ByVal dwMessage As Long, _
   pData As Any) _
   As Long

Private Declare Function apiFindWindow Lib "user32" _
        Alias "FindWindowA" _
        (ByVal lpClassName As String, _
        ByVal lpWindowName As String) _
        As Long

'//// AppBar stuff
'////
Private Const ABM_NEW = &H0
Private Const ABM_REMOVE = &H1
Private Const ABM_QUERYPOS = &H2
Private Const ABM_SETPOS = &H3
Private Const ABM_GETSTATE = &H4
Private Const ABM_GETTASKBARPOS = &H5
Private Const ABM_ACTIVATE = &H6             ' // lParam == TRUE/FALSE means
activate/deactivate
Private Const ABM_GETAUTOHIDEBAR = &H7
Private Const ABM_SETAUTOHIDEBAR = &H8         '// this can fail at any
time.  MUST check the result
                                        '// lParam = TRUE/FALSE  Set/Unset
                                        '// uEdge = what edge
Private Const ABM_WINDOWPOSCHANGED = &H9

'// these are put in the wparam of callback messages
Private Const ABN_STATECHANGE = &H0
Private Const ABN_POSCHANGED = &H1
Private Const ABN_FULLSCREENAPP = &H2
Private Const ABN_WINDOWARRANGE = &H3        '// lParam == TRUE means hide

'// flags for get state
Private Const ABS_AUTOHIDE = &H1
Private Const ABS_ALWAYSONTOP = &H2

Private Const ABE_LEFT = 0
Private Const ABE_TOP = 1
Private Const ABE_RIGHT = 2
Private Const ABE_BOTTOM = 3

Function fIsAppBarAutoHide() As Boolean
Dim pAppBarData As APPBARDATA
    fIsAppBarAutoHide = (apiSHAppBarMessage( _
                                        ABM_GETSTATE, _
                                        pAppBarData) = ABS_AUTOHIDE)
End Function
' ********** Code End ***********

 -- Dev



Sat, 13 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
Thank you for the answer. No need for the last say.  After reflecting on the
situation, we had a misunderstanding (Not to mention I was highly irritated from
being up so late). No hard feelings here, again Thank you  for checking :-)
Quote:


> > C) You do not know the answer to my question.

>  Jeffrey, try to understand that I'm trying to help on my time here.  Enough
> said.

>  You _can't_ set the AutoHide prop of taskbar of another process, so there,
> that's your answer.  You can _find out_ if AutoHide is enabled, but that's
> about it.

>   Feel free to have the last say in this thread.

>  ' ******* Code Start *********
> Private Type RECT
>     Left As Long
>     Top As Long
>     Right As Long
>     Bottom As Long
> End Type

> Private Type APPBARDATA
>     cbSize As Long
>     hwnd As Long
>     uCallbackMessage As Long
>     uEdge As Long
>     rc As RECT
>     lParam As Long
> End Type

> Private Declare Function apiSHAppBarMessage Lib "shell32.dll" _
>     Alias "SHAppBarMessage" _
>    (ByVal dwMessage As Long, _
>    pData As Any) _
>    As Long

> Private Declare Function apiFindWindow Lib "user32" _
>         Alias "FindWindowA" _
>         (ByVal lpClassName As String, _
>         ByVal lpWindowName As String) _
>         As Long

> '//// AppBar stuff
> '////
> Private Const ABM_NEW = &H0
> Private Const ABM_REMOVE = &H1
> Private Const ABM_QUERYPOS = &H2
> Private Const ABM_SETPOS = &H3
> Private Const ABM_GETSTATE = &H4
> Private Const ABM_GETTASKBARPOS = &H5
> Private Const ABM_ACTIVATE = &H6             ' // lParam == TRUE/FALSE means
> activate/deactivate
> Private Const ABM_GETAUTOHIDEBAR = &H7
> Private Const ABM_SETAUTOHIDEBAR = &H8         '// this can fail at any
> time.  MUST check the result
>                                         '// lParam = TRUE/FALSE  Set/Unset
>                                         '// uEdge = what edge
> Private Const ABM_WINDOWPOSCHANGED = &H9

> '// these are put in the wparam of callback messages
> Private Const ABN_STATECHANGE = &H0
> Private Const ABN_POSCHANGED = &H1
> Private Const ABN_FULLSCREENAPP = &H2
> Private Const ABN_WINDOWARRANGE = &H3        '// lParam == TRUE means hide

> '// flags for get state
> Private Const ABS_AUTOHIDE = &H1
> Private Const ABS_ALWAYSONTOP = &H2

> Private Const ABE_LEFT = 0
> Private Const ABE_TOP = 1
> Private Const ABE_RIGHT = 2
> Private Const ABE_BOTTOM = 3

> Function fIsAppBarAutoHide() As Boolean
> Dim pAppBarData As APPBARDATA
>     fIsAppBarAutoHide = (apiSHAppBarMessage( _
>                                         ABM_GETSTATE, _
>                                         pAppBarData) = ABS_AUTOHIDE)
> End Function
> ' ********** Code End ***********

>  -- Dev



Sat, 13 Apr 2002 03:00:00 GMT  
 API to set Autohide for taskbar
Wow....I hope so.  
Just so you know, Dev knows API calls just as well if not better
than anyone you will find posting up here.  If it were my
question, I'd consider myself lucky for getting him to respond.
He's is also a very decent guy.  He did give you some excellent
feedback on design issues, whether you chose to adhere to them or
not is certainly your choice.  But what he said, you will find
also in one of the books you quoted.
Not trying to stir things up, just hope your next exchange up
here is a bit mellower.
Have a good one -

--Sue  

On Tue, 26 Oct 1999 14:54:18 -0400, Jeffrey Robinson

Quote:

>Thank you for the answer. No need for the last say.  After reflecting on the
>situation, we had a misunderstanding (Not to mention I was highly irritated from
>being up so late). No hard feelings here, again Thank you  for checking :-)



Sat, 13 Apr 2002 03:00:00 GMT  
 
 [ 9 post ] 

 Relevant Pages 

1. setting taskbar autohide

2. anyone have commands to hide or set taskbar to autohide

3. Registry setting for Taskbar AutoHide

4. TaskBar set AutoHide ????...

5. taskbar autohide or always on top...

6. Need bit of help, using autohide on taskbar

7. AutoHide Taskbar

8. AutoHide the Windows95 TaskBar?

9. How do i autohide taskbar?

10. Autohide Taskbar

11. Taskbar AutoHide Property

12. AutoHide Toolbar Setting

 

 
Powered by phpBB® Forum Software