AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Windows Taskbar still flashing

 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Bug Reports
View previous topic :: View next topic  
Author Message
Kijuto Riddle



Joined: 15 Jan 2005
Posts: 9

PostPosted: Thu Jan 27, 2005 4:11 am    Post subject: Windows Taskbar still flashing Reply with quote

Hi Chris! I don't know why but my script still flashes the Windows Taskbar Menu.
I'm using Win2K3 Server. I closed all other Autohotkey programs, run this script,
hold the Left Win key, double-click (single-click works fine)...
My Taskbar set to autohide mode (although I think it not significant).
Code:

#SingleInstance force
#InstallKeybdHook force

#LButton::
   Send {End}
   return

_________________
I'll pick my own name, and my own life.
So I can live my own life in my own way.
Back to top
View user's profile Send private message
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10467

PostPosted: Thu Jan 27, 2005 5:01 am    Post subject: Reply with quote

This appears to be caused by the fact that the only way to stop a key from auto-repeating while you're holding it down is to physically press another key on the keyboard. Since mouse buttons do not qualify as keys for this purpose, the key (probably LWin) continues to auto-repeat, sending down-events until you release it.

The combination of the above with the fact that your Win+LButton hotkey uses the Send command is what causes the Start Menu to appear sometimes.

Although I don't see any way to fix this directly, one of these might be a workaround:
1) Use #^LButton instead of #LButton. For this to work, you have to press Ctrl after holding down LWin.
2) Get in the habit of not holding down LWin a long time while clicking.
3) Disable LWin's normal function by means of "LWin::return" and change your hotkey to be "LWin & LButton".

I know none of the above might be particularly desirable. I will keep a lookout for a better solution.

By the way, it would be helpful if you post follow-ups to a previous bug report by replying to it rather than starting a new topic. In this case, the previous topic is http://www.autohotkey.com/forum/viewtopic.php?t=1878

Thanks.
Back to top
View user's profile Send private message Send e-mail
Kijuto Riddle



Joined: 15 Jan 2005
Posts: 9

PostPosted: Sat Jan 29, 2005 4:06 am    Post subject: Reply with quote

Sorry about the new topic! Anyway, I still believe the older release (1.0.2.4-) works fine with my script above.
I used that script all the times, and from the 1.0.2.5, I have to change it. Unfortunately, I removed my Autohotkey1024.exe, and I can't get it back to prove it.
_________________
I'll pick my own name, and my own life.
So I can live my own life in my own way.
Back to top
View user's profile Send private message
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10467

PostPosted: Sat Jan 29, 2005 3:27 pm    Post subject: Reply with quote

I tried the script above with version 1.0.24 and the Start Menu appeared every time I used the hotkey, whether double-clicking or single-clicking.

Here are links to a couple of older versions if you want to try them:
http://home.tampabay.rr.com/kodi/ahk/AutoHotkey1024.exe
http://home.tampabay.rr.com/kodi/ahk/AutoHotkey1020.exe
Back to top
View user's profile Send private message Send e-mail
Kijuto Riddle



Joined: 15 Jan 2005
Posts: 9

PostPosted: Tue Feb 01, 2005 7:37 am    Post subject: Reply with quote

Sory for wasting your time. I've tried the 1.0.2.4 version, It still flash the Menu but less frequency. Yes, it's true. With 1.0.2.5+, only with a single double-click, the Start Menu pops up. And with 1.0.2.4-, double-click works fine, but if I click continuously, that problem will occur, maybe once per 10 clicks.
_________________
I'll pick my own name, and my own life.
So I can live my own life in my own way.
Back to top
View user's profile Send private message
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10467

PostPosted: Tue Feb 01, 2005 2:16 pm    Post subject: Reply with quote

Thanks for the follow-up. If you can't find an acceptable workaround, I'm thinking of adding a "SendBlind" command that might provide a way to fix issues like this one. Let me know if you need it.
Back to top
View user's profile Send private message Send e-mail
Kijuto Riddle



Joined: 15 Jan 2005
Posts: 9

PostPosted: Tue Feb 01, 2005 3:59 pm    Post subject: Reply with quote

Yep! But maybe No, add more commands which not everyone want is not a good idea. Althought I really need it, but I've just found the alternative way to solve it, and maybe it helpful for everyone. If you can add a command to jump to the last tab-element of a tab-control, then SendBlind is no need (for me).
I think the Control command lacks of some tab-control sub command:
+ get the number of tab-elements
+ jump to the specified tab-element
_________________
I'll pick my own name, and my own life.
So I can live my own life in my own way.
Back to top
View user's profile Send private message
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10467

PostPosted: Wed Feb 02, 2005 2:12 am    Post subject: Reply with quote

Thanks. I was thinking of adding SendBlind for other reasons, so it will probably get done eventually anyway.

Quote:
I think the Control command lacks of some tab-control sub command:
+ get the number of tab-elements
+ jump to the specified tab-element
Good idea. Here is a workaround until it's added:

SendMessage, 0x1304,,, SysTabControl321, WinTitle ; 0x1304 is TCM_GETITEMCOUNT.
TabCount = %ErrorLevel%

To instead select a tab directly by number, replace the number 5 below with one less than the tab number you wish to select. In other words, 0 selects the first tab, 1 selects the second, etc.
SendMessage, 0x130C, 5,, SysTabControl321, WinTitle ; 0x130C is TCM_SETCURSEL.
Back to top
View user's profile Send private message Send e-mail
Kijuto Riddle



Joined: 15 Jan 2005
Posts: 9

PostPosted: Wed Feb 02, 2005 3:18 am    Post subject: Reply with quote

That's great! Thanks! And two more question:
1) The Send/PostMessage are faster than other commands because they directly talks with the target window, aren't they?
2) Why did AutoHotkey release many minor versions recently.
_________________
I'll pick my own name, and my own life.
So I can live my own life in my own way.
Back to top
View user's profile Send private message
jonny



Joined: 13 Nov 2004
Posts: 3004
Location: Minnesota

PostPosted: Wed Feb 02, 2005 3:29 am    Post subject: Reply with quote

Quote:
1) The Send/PostMessage are faster than other commands because they directly talks with the target window, aren't they?


Most commands do, really; it's just that the internal workings of PostMessage are a lot easier to see. You can ask Chris if you want to know the specific functions which each command uses, but I think if PostMessage methods were faster and more efficient, he would use them. Wink Just something to think about.

Quote:
2) Why did AutoHotkey release many minor versions recently.


It only seems that way. In reality, such small changes have always happened, but until recently they were transparent unless you regularly checked up on the Announcements sub-forum. Chris added the extra resolution to the version number to help those of us who use a script to automatically update AutoHotkey.
Back to top
View user's profile Send private message
ranomore



Joined: 06 Nov 2004
Posts: 178
Location: Salt Lake City, UT

PostPosted: Wed Feb 02, 2005 3:38 am    Post subject: Reply with quote

2) Since Chris was actually releasing minor version updates between major ones anyway, I would guess he just made it easier to keep track of by numbering them in addition to posting a pre-next version announcement in the forum.

Plus some of us were begging him for the ability to automatically update every time a change was applied to the installer, and it's really a lot easier to do with minor version numbers! Thanks Chris!
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
ranomore



Joined: 06 Nov 2004
Posts: 178
Location: Salt Lake City, UT

PostPosted: Wed Feb 02, 2005 3:46 am    Post subject: Reply with quote

Argh! Mr. Jonny Cool Guy beat me! Cool
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10467

PostPosted: Wed Feb 02, 2005 3:05 pm    Post subject: Reply with quote

Kijuto Riddle wrote:
The Send/PostMessage are faster than other commands because they directly talks with the target window, aren't they?
Many of the Control commands use Send/PostMessage internally. However, due to SetControlDelay, Send/PostMessage might appear to be faster since it is not subject to the delay.
Back to top
View user's profile Send private message Send e-mail
Kijuto Riddle



Joined: 15 Jan 2005
Posts: 9

PostPosted: Thu Feb 03, 2005 9:16 am    Post subject: Reply with quote

To sum up:
Post/SendMessage: faster and more powerful (independent with Chris's works).
Other Commands: (maybe) slower but esier to read.
_________________
I'll pick my own name, and my own life.
So I can live my own life in my own way.
Back to top
View user's profile Send private message
jonny



Joined: 13 Nov 2004
Posts: 3004
Location: Minnesota

PostPosted: Thu Feb 03, 2005 3:05 pm    Post subject: Reply with quote

Even if they are slower, the difference is infinitesimal enough to justify better readability and easier coding. "WinMinimize,A" is easier to read and remember than "PostMessage,0x112,0xf020,,,A". And like Chris has already said, some of them use it internally too, so the only delay is the one set by the user. (Try SetControlDelay, -1)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Bug Reports All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group