Don't use File>Launch.
Use Tools>Developer>Custom Loader
HookDLL: <HLAE folder>\AfxHookSource.dll
Program Path: <steam>\Team Fortress 2\hl2.exe
Command Line: -steam -game tf -novid [other launch options]
"-game tf" is required
For reference here's my setup:
HookDLL: D:\My Documents\Jump stuff\hlae_2_4_8_0\AfxHookSource.dll
Program Path: G:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\hl2.exe
Command Line: -steam -insecure -noborder -sw -console -game tf -exec autoexec -novid
Explanation of my command line args:
-steam ; ignores the steam client
-insecure ; launces without VAC protection meaning you can't join VAC servers, which is good beacuse HLAE is a hack by VAC standards.
-noborder -sw ; borderless fullscreen, really nice, alt+tab friendly
-console ; launches console on start, not really needed but meh
-game tf ; tells the thing what game to play
-exec autoexec ; execs the autoexec.cfg
-novid ; remove that stupid, creepy guy at the startup