topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday December 14, 2024, 11:35 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: AHK hack to enable 'live search' in Winorganizer  (Read 4113 times)

nosh

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,441
    • View Profile
    • Donate to Member
AHK hack to enable 'live search' in Winorganizer
« on: February 27, 2012, 08:38 AM »
I don't know how many Winorganizer users are still around. Very few, if any, I'm guessing. I've tried to move away from it since it's been all but abandoned and have tried several other programs. Some of them have a feature or two to beat Winorganizer but overall, they always fall short.

One feature that some of the newer programs have and that I really miss in Winorganizer is live search results (find as you type).

I've put together a hack to supercharge Winorganizer's search into live search. Some of the code is my own and some of it is straight-up nicked from the interwebs. :)

The end result seems to work fine on my (XP) system. It seems harmless enough to me as far as unwarranted side-effects are concerned and consumes next to no resources. But, as a complete novice who only dabbles with AHK every year or so, I think it's appropriate that I share it with a USE AT YOUR OWN RISK - REALLY NOT MY PROBLEM kind of disclaimer.  :P

If someone who actually knows AHK wants to refine the code, that'd be great.

tl;dr - AHK hack to convert Winorganizer search into live search, use at you own risk.

Code: Autohotkey [Select]
  1.                 WinWait, ahk_class TfrmFind
  2.                 IfWinActive, ahk_class TfrmFind
  3.                 {       TClick = 0
  4.                         SetTimer Stroke, 1
  5.                 }      
  6.  
  7. Stroke:
  8. ;Based on code from http://www.autohotkey.com/forum/topic17614.html
  9.         If (A_TimeIdlePhysical > 30 or A_TickCount-TClick < 125)
  10.         Return
  11.         MouseGetPos mX, mY
  12.    
  13.         If (mX0 = mX && mY0 = mY)
  14.         {
  15.                 TClick := A_TickCount
  16.                 LiveSearch()
  17.         }
  18.         Else
  19.         mX0 := mX, mY0 := mY
  20.         Return
  21.  
  22.  
  23. LiveSearch()
  24. {       ControlGetText, MyOutputVar, TdxPickEdit1 , Find text in file
  25.         StringLen, MyStrLen, MyOutputVar
  26.         if MyStrLen > 0
  27.         ControlSend, Find, {Enter}, Find text in file
  28.         Return 
  29. }