Page 1 of 1

Access to some system tool windows....

Posted: Wed May 21, 2025 4:15 pm
by Axolotl
This is a list with directly accessible setting windows ....
(just experimental, and tested on Win11 home only)
Maybe someone can use it or it inspires you to do more......

Code: Select all

Structure TToolDetails 
  Name.s 
  Value.s 
EndStructure 

Global NewList g_Tools.TToolDetails() 
 
Macro TemporaryMarcoAddTools(sName, sValue) 
  AddElement(g_Tools()) : g_Tools()\Name = sName : g_Tools()\Value = sValue 
EndMacro 

TemporaryMarcoAddTools("Add/Remove Recycle Bin on the Desktop", "desk.cpl,,0")  
TemporaryMarcoAddTools("Screensaver Settings",                  "desk.cpl,,1")
TemporaryMarcoAddTools("Set Desktop Wallpaper",                 "desk.cpl,,2")
TemporaryMarcoAddTools("Change Screen Resolution",              "desk.cpl,,3")
;emporaryMarcoAddTools("Change Date And Time",                  "timedate.cpl,,0") 
TemporaryMarcoAddTools("Change Date And Time",                  "timedate.cpl,,0") 
TemporaryMarcoAddTools("Additional clocks",                     "timedate.cpl,,1") 
TemporaryMarcoAddTools("Internet Time ",                        "timedate.cpl,,2") 
;emporaryMarcoAddTools("Mouse properties",                      "main.cpl,,0")
TemporaryMarcoAddTools("Mouse Buttons",                         "main.cpl,,0") 
TemporaryMarcoAddTools("Mouse Pointers",                        "main.cpl,,1") 
TemporaryMarcoAddTools("Mouse Pointer Options",                 "main.cpl,,2") 
TemporaryMarcoAddTools("Mouse Wheel",                           "main.cpl,,3") 
TemporaryMarcoAddTools("Mouse Hardware",                        "main.cpl,,4") 
TemporaryMarcoAddTools("Recording Devices",                     "mmsys.cpl,,1")
TemporaryMarcoAddTools("Uninstall Programs (no Apps)",          "appwiz.cpl")
;
UndefineMacro TemporaryMarcoAddTools 


Procedure RunTool(Index) 
  Protected result 

  If Index > -1 
    SelectElement(g_Tools(), Index) 
    result = RunProgram("Rundll32.exe", "shell32.dll,Control_RunDLL " + g_Tools()\Value, "") 
;   Debug "" +g_Tools()\Name + " done  ("+result+")" 
  EndIf 
EndProcedure 

Procedure Main() 
  If OpenWindow(0, 0, 0, 400, 300, "Windows System Tools", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    ListViewGadget(0, 8, 8, 384, 284) 

    ForEach g_Tools() 
      AddGadgetItem (0, -1, g_Tools()\Name) 
    Next 

    Repeat 
      Select WaitWindowEvent() 
        Case #PB_Event_CloseWindow 
          Break 
        Case #PB_Event_Gadget  
          RunTool(GetGadgetState(0)) 
      EndSelect 
    ForEver 
  EndIf 
  ProcedureReturn 0 
EndProcedure 

End Main() 

Re: Access to some system tool windows....

Posted: Wed May 21, 2025 4:34 pm
by Quin
Very nice, I love the ,,# syntax for control panel items, its such an underappreciated feature.
I hate the settings app so much!