How can I make Speedfan run automatically when the PC starts?

Solution 1:

I have gone the route of making batch files for programs that I want to run when windows starts. For speedfan use the following:

  1. Open Windows Notepad and type:

    @ECHO off
    start speedfan.exe
    
  2. Save this in the same directory as where your speedfan.exe is located and make sure you save it as a batch file (e.g. use dropdown to change file type to all and then name the file speedfan.bat).

  3. Create a shortcut to the file you just created and place it in the shell:startup folder and cross your fingers.

For whatever reason, this is the only consistent way I've found of getting certain programs to run that don't properly auto start.

As a caveat, sometimes the startup folder won't let you paste a shortcut due to permissions so make sure you take ownership through security options of the shell:startup folder if it gives you a hard time. Seriously Windows 10 can be a pain when it comes to permissions.

Solution 2:

You can achieve this by using Windows' Task Scheduler: taskschd.msc

Caveat: Unfortunately SpeedFan's icon will not appear in notification tray area but it will still control your fan speeds.

Assumptions:

  • MyHost\User1 is any user with administrative privileges
  • C:\Program Files\SpeedFan\speedfan.exe is the path to the SpeedFan executable
  • /NOACPISCAN /NOSMBSCAN are the arguments to run SpeedFan

Instructions to create the Task:

  1. Start taskschd.msc with administrator/elevated privileges

  2. Click Create Task...

  3. Under the General Tab:

    • Name: SpeedFan
    • Description: Start SpeedFan on System Start-up
    • When running the task, use the following user account: MyHost\User1
      • Select: Run whether user is logged on or not
      • Un-check: Do not store password...
      • Check: Run with highest privileges
    • Configure for: Windows 7...
  4. Under the Triggers Tab:

    • Click New...
    • Begin the task: At startup
      • Check: Delay task for: 2 minutes
      • Check: Repeat task every: 1 hour for a duration of: Indefinitely
      • Check: Enabled
  5. Under the Actions Tab:

    • Start a program:
    • Program: "C:\Program Files\SpeedFan\speedfan.exe"
    • Add Arguments: /NOACPISCAN /NOSMBSCAN
    • Start in: C:\Program Files\SpeedFan\

      Note: Don't use quotes on the Start in path!

  6. Under the Conditions Tab:

    • Un-check: All options
  7. Under the Settings Tab:

    • Only Check:

      • Allow task to be run on demand
      • If the task fails, restart every: 10 minutes
        • Attempt to restart up to: 3 times
    • If task is already running: Do not start a new instance

  8. Click OK

    • Enter user account credentials if prompted

Solution 3:

  • Go to start, type Run.
  • Type shell:startup
  • copy paste the shortcut of Speedfan in that folder
  • Reboot, it should start once you're in.
  • to remove it, just delete the shortcut.

Solution 4:

after googling I didn't get it work because it needs elevation, Task Scheduler way, or others, didn't work for me, so I put a shortcut to a .cmd in "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup" like that:

REM Elevate Permissions routine - Thanks to murphy78
pushd "%CD%"
CD /D "%~dp0"
(NET FILE||(powershell -command Start-Process '%0' -Verb runAs -ArgumentList '%* '&EXIT /B))>NUL 2>NUL
REM Elevation Routine Ends

start "SpeedFan" "C:\Program Files (x86)\SpeedFan\speedfan.exe"

it needs user confirm elevation but it work...