Click here to Skip to main content
15,115,411 members
Articles / Programming Languages / C++
Posted 11 Dec 2004


57 bookmarked

Makes any windows "Always On Top"

Rate me:
Please Sign up or sign in to vote.
4.60/5 (22 votes)
11 Dec 2004
This is a simple tool which places PushPin button on all windows through system wide hook.

Sample Image - WinPin.jpg


This is the mixed version tool of "CPushPinButton v1.13 - A Push Pin Implementation", the article by P.J. Naughter and "Iconizer", the article by Bart Gysens. This tool has very much simpler code. I have eliminated most of the complicated stuffs.

This tool places a PushPin like button on any windows through system wide hook. The clicked window will be on top of all windows. This is very useful when you have some thing from one window to see and type to another huge window.


Source ZIP file includes two projects.

  • WinPinApp - Executable to start the hook.
  • WinPinDll - System wide hooking DLL.

Additional Note

On the WinPinDll project if you define FRAME_CONTROL, this DLL will draw a blank button using DrawFramControl API on all window caption. If you undefine FRAME_CONTROL, DLL will draw PushPin like bitmap button on all window captions (see the above figure).


Place the WinPinApp.Exe and WinPinDll.Dll in to one folder and execute the exe. Immediately you can PushPin button on all your windows.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Software Developer (Senior)
Australia Australia
No Biography provided

Comments and Discussions

GeneralAlways on top but with sound! Pin
FireballCH14-Jun-09 9:13
MemberFireballCH14-Jun-09 9:13 
Generaluninstall Pin
gulffresh17-Dec-08 20:16
Membergulffresh17-Dec-08 20:16 
GeneralphpDesigner 2007 Professional Crash Pin
riffo12-Oct-07 4:36
Memberriffo12-Oct-07 4:36 
Questioncould you make it work on DOS based programs? Pin
pongup9-May-06 13:22
Memberpongup9-May-06 13:22 
AnswerRe: could you make it work on DOS based programs? Pin
Sa6ry24-Nov-07 14:27
MemberSa6ry24-Nov-07 14:27 
GeneralGood but has issues Pin
palantir25-Jan-06 7:52
Memberpalantir25-Jan-06 7:52 
QuestionHow to uninstall winpin? Just in case... Pin
ncacar2-Dec-05 2:27
Memberncacar2-Dec-05 2:27 
AnswerRe: How to uninstall winpin? Just in case... Pin
ThatsAlok9-Feb-06 22:09
MemberThatsAlok9-Feb-06 22:09 
GeneralRe: How to uninstall winpin? Just in case... Pin
chameleon884-Oct-09 20:06
Memberchameleon884-Oct-09 20:06 
GeneralIE Crashing! Pin
Badger372-Jan-05 2:20
MemberBadger372-Jan-05 2:20 
GeneralRe: IE Crashing! Pin
datakprosto16-May-07 1:08
Memberdatakprosto16-May-07 1:08 
GeneralStrange behaviour with 2 screens Pin
Tradiator16-Dec-04 3:42
MemberTradiator16-Dec-04 3:42 
GeneralYou beat me to it! Pin
Paul Vickery14-Dec-04 23:13
professionalPaul Vickery14-Dec-04 23:13 
GeneralExcEllent Jobs Pin
ThatsAlok12-Dec-04 20:54
MemberThatsAlok12-Dec-04 20:54 
GeneralRe: ExcEllent Jobs Pin
Chiew Heng Wah14-Dec-04 23:10
MemberChiew Heng Wah14-Dec-04 23:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.