Creating Start Button in Windows 8

WorldRacer
2012-09-15
2012-10-29
  • WorldRacer

    WorldRacer - 2012-09-15

    Hey guys,

    I wondered how you created the start button in windows 8. I tried many things,
    but did not came to a result. Could you please explain how you reserved space
    for the start button? I have a functional Shell_TrayWnd hook, but I don't know
    how to go further. I also racked google, but I could not find anything useful
    for windows 8.

    Best Regards..
    WR

     
  • Ivo Beltchev

    Ivo Beltchev - 2012-09-15

    It's a secret! No, not really. This is an open-source project after all :) You
    can download the sources from the Files section.

    The taskbar has a rebar inside it, which hosts the individual bands. I have
    subclassed both the tasbkar and the rebar, and I control the rebar's position
    and size to leave enough room for the start button. Look at
    ClassicStartMenuDLL.cpp.

     
  • WorldRacer

    WorldRacer - 2012-09-18

    Well, I have browsed through the source code, but could not get a clue about
    what you're doing :) But thanks for the information, now I have a further
    point to look for in classicshell source :) BTW: Great thing you did ;)

     
  • WorldRacer

    WorldRacer - 2012-09-18

    Well, I have copied parts of your code. It was the SubclassRebarProc and the
    line
    SetWindowSubclass(g_Rebar,SubclassRebarProc,'CLSH',0);

    But I changed the line to SetWindowSubclass(g_Rebar,SubclassRebarProc,0,0);
    It does not give the expected result, still the taskbar is not reacting.
    I have not done much with windows api functions... MAybe you can give me some
    hint. The GetLastErrorFunction returns 0.

    Here is what ive done right now:

    http://pastebin.com/rqekb9zR

     
  • Ivo Beltchev

    Ivo Beltchev - 2012-09-18

    Well, you still haven't described what you are trying to do.

    But just a guess, SetWindowSubclass needs to be called from the same thread as
    the one handling the window. Are you sure you are calling it from the right
    thread?

     
  • WorldRacer

    WorldRacer - 2012-09-18

    Thanks for your quick reply :) That's what I read while I racked Google again
    :) So I am implementing a hook now :)

     
  • WorldRacer

    WorldRacer - 2012-09-19

    Is it possible to debug the DLL although it is running by another process?

     
  • Ivo Beltchev

    Ivo Beltchev - 2012-09-19

    Yes, you can attach a debugger to any running process.

     
  • WorldRacer

    WorldRacer - 2012-09-19

    Okay, that's the way I thought to do it :) I am doing the following:

    1. Start my exe-File creating the hook.
    2. In this exe file stopping at breakpoint in line "g_StartHook=SetWindowsHookEx(WH_GETMESSAGE,HookInject,hHookModule,thread);"
    3. Now attaching to running explorer.exe
    4. Now running the program to end and hoping that my Breakpoint in the method Hookinject gets called.

    But this does not happen. No errors occuring. What can I do to recognize if
    the hook is really running?

    Greetz and thank you for your great help

    WR

     
  • WorldRacer

    WorldRacer - 2012-09-19

    //UPDATE: Here is the code of the three files I'm using:

    http://pastebin.de/29700

     
  • Ivo Beltchev

    Ivo Beltchev - 2012-09-19

    You still haven't disclosed what is it you are after.

     
  • WorldRacer

    WorldRacer - 2012-09-19

    I want to create a button in the start bar starting an application by clicking
    on it! But first target is to reserve space for it! ;)

     
  • WorldRacer

    WorldRacer - 2012-09-20

    You don't have a tip for me yet?

     
  • Ivo Beltchev

    Ivo Beltchev - 2012-09-20

    Nope, sorry. What you are trying to do requires a lot of knowledge and
    experience. I don't have the time to educate you or troubleshoot your code.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks