Announcement

Collapse
No announcement yet.

[Search] unknown system call

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Search] unknown system call

    we have a little problem...

    anyony knows tweaking tools like TuneUp or TweakUI

    now we have this entry

    REGEDIT4

    [HKEY_CURRENT_USER\Control Panel\Desktop]
    "MenuShowDelay"="8"

    (this speeds up the menu open)

    it is very simple to write a script for it, but unfortunately system does not take this value - only after restart.
    but tweaking tools do so w/o system restart

    so i suppose an unknown system call to establish those values

    pls help
    Greets, Brummelchen

  • #2
    You probably need to send WM_WININICHANGE. Try:

    SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Control Panel"
    /TIMEOUT=5000
    NSIS FAQ | NSIS Home Page | Donate $
    "I hear and I forget. I see and I remember. I do and I understand." -- Confucius

    Comment


    • #3
      sorry for bringing up confusion in my previous post. it should work when you use

      SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:MenuShowDelay" /TIMEOUT=500
      Last edited by Yathosho; 1 May 2004, 21:08.
      NSIS IDE for Atom | NSIS for Visual Studio Code | NSIS for Sublime Text | NSIS.docset

      Comment


      • #4
        nothing :/

        code:
        ;--------------------------------
        ;Configuration

        !define PRODUCT "MenuShowDelay"
        !define VERSION "1.0"

        Name "'${PRODUCT}'"

        Caption "MenuShowDelay 1.0"
        OutFile "MenuShowDelay.exe"

        !include WinMessages.nsh

        ;--------------------------------
        ;Installer Sections

        Section ""
        SectionEnd

        ;--------------------------------
        ;Installer Functions

        Function .onInit
        ReadINIStr $R0 "$EXEDIR\MenuShowDelay.ini" MenuShowDelay MenuShowDelay
        WriteRegStr HKCU "Control Panel\Desktop" "MenuShowDelay" $R0
        SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:MenuShowDelay" /TIMEOUT=500
        Quit
        FunctionEnd

        Greets, Brummelchen

        Comment


        • #5
          i'm sorry. by trying to take back the confusion of my previous post, i created some more confusion. doesn't work indeed

          SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) (LPCTSTR)"MenuShowDelay");

          this is what i got from MSDN, but WM_SETTINGCHANGE is not supported by NSIS
          NSIS IDE for Atom | NSIS for Visual Studio Code | NSIS for Sublime Text | NSIS.docset

          Comment


          • #6
            never mind, was just a try.

            the damned nview desktop manager resets on startup the delay to 400 and i tried to help my friend...

            thx 4all
            Greets, Brummelchen

            Comment


            • #7
              still i'd love to see a solution
              NSIS IDE for Atom | NSIS for Visual Studio Code | NSIS for Sublime Text | NSIS.docset

              Comment


              • #8
                WM_SETTINGCHANGE is identical to WM_WININICHANGE.

                Comment


                • #9
                  >> 1 warning:
                  >>unknown variable/constant "{WM_SETTINGCHANGE}" detected, ignoring

                  Greets, Brummelchen

                  Comment


                  • #10
                    As I already said, WM_WININICHANGE is the same. But I've added WM_SETTINGCHANGE so you can also use the modern name.

                    Comment


                    • #11
                      guess that's why it still doesn't work
                      NSIS IDE for Atom | NSIS for Visual Studio Code | NSIS for Sublime Text | NSIS.docset

                      Comment


                      • #12
                        would it be possible to do the same by commandline (rundll or anything like that)? does anybody know about such stuff?
                        NSIS IDE for Atom | NSIS for Visual Studio Code | NSIS for Sublime Text | NSIS.docset

                        Comment


                        • #13
                          Try this:

                          code:

                          !define PRODUCT "MenuShowDelay"
                          !define VERSION "1.0"

                          Name "'${PRODUCT}'"

                          Caption "MenuShowDelay 1.0"
                          OutFile "MenuShowDelay.exe"

                          !include WinMessages.nsh
                          !define SPI_SETMENUSHOWDELAY 107
                          !define SPIF_SENDINICHANGE 3

                          ;--------------------------------
                          ;Installer Sections

                          Section ""
                          SectionEnd

                          ;--------------------------------
                          ;Installer Functions

                          Function .onInit
                          Push $R0
                          Push $R1
                          ReadINIStr $R0 "$EXEDIR\MenuShowDelay.ini" MenuShowDelay MenuShowDelay
                          System::call "user32::SystemParametersInfo(i ${SPI_SETMENUSHOWDELAY}, i R0 , i 0, i ${SPIF_SENDINICHANGE}) i .R1"
                          MessageBox MB_OK "Done: $R1"
                          Pop $R1
                          Pop $R0
                          Quit
                          FunctionEnd

                          Cheers,
                          Iceman_K

                          EclipseNSIS - An NSIS IDE for the Eclipse Platform | My contributions to the wiki

                          Comment


                          • #14
                            not sure if it's coincidence or if my system went unusuable after trying this. however, i can't tell what made my system unusable and i don't want to claim it was was the script's fault. in any case, i'm now using vmware to test scripts with code i don't understand.

                            i'd like to know more about this system call. what is SPI_SETMENUSHOWDELAY? is this meant to refresh the MenuDelay setting only? i'd be interested in finding out more about this, since i want to reload other settings from the registry aswell.
                            NSIS IDE for Atom | NSIS for Visual Studio Code | NSIS for Sublime Text | NSIS.docset

                            Comment


                            • #15
                              Its a documented Windows API call- I don't see why it would mess up your system. Look up MSDN documentation on SystemParametersInfo. It is the same call made by TweakUI.
                              SPI_SETMENUSHOWDELAY is only for MenuDelay. There are a bunch of other settings, they're all in the API documentation.
                              Cheers,
                              Iceman_K

                              EclipseNSIS - An NSIS IDE for the Eclipse Platform | My contributions to the wiki

                              Comment

                              Working...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎