Access to some system tool windows....

Windows specific forum
Axolotl
Addict
Addict
Posts: 832
Joined: Wed Dec 31, 2008 3:36 pm

Access to some system tool windows....

Post 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() 
Just because it worked doesn't mean it works.
PureBasic 6.04 (x86) and <latest stable version and current alpha/beta> (x64) on Windows 11 Home. Now started with Linux (VM: Ubuntu 22.04).
Quin
Addict
Addict
Posts: 1132
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

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

Post by Quin »

Very nice, I love the ,,# syntax for control panel items, its such an underappreciated feature.
I hate the settings app so much!
Post Reply