User avatar
GT500
Posts: 17
Joined: Thu May 14, 2015 3:01 pm

Issues With Steam Overlay

Thu May 14, 2015 3:19 pm

I've noticed issues with the Steam overlay when using Bandicam 2.2.1.785 with GTA V and Star Trek Online.

OS is Windows 7 Professional x64 SP1.
Anti-virus was shut down at the time (I stopped the service, shut down Bandicam and Steam, then relaunched Bandicam and Steam to ensure no hooks remained open to their processes).
There was no other software running that displays information over the game window or hooks DirectX or the game processes in any way that I am aware of.

With GTA V, the Steam overlay simply doesn't work (can't be opened and never displays its little notification in the lower-right of the screen), however the game is still playable and Bandicam still works OK.

Star Trek Online will crash as soon as the Steam overlay tries to display its notification that you can press Shift+Tab to "access the Steam community" in the lower-right of the game window. This only happens when Bandicam is running. I did allow their crash reporter to submit a report about the crash.

To debug this issue, I added the following to the "Blocked process list", on the assumption that this list prevents Bandicam from opening hooks to those processes:

  • GameOverlayUI.exe
  • Steam.exe
  • steamerrorreporter.exe
  • steamerrorreporter64.exe
  • streaming_client.exe
  • WriteMiniDump.exe
  • SteamService.exe
  • subprocess.exe
  • GTAVLauncher.exe

I also disabled the option that says "Block DirectX video overlay" in the Hooking options.

None of this seemed to have any effect.

I have verified that the Steam overlay works OK with Red Faction: Guerrilla while Bandicam is running, so it doesn't have issues with every game. I have yet to try most of my games to see which ones I do and do not have problems with.
For we wrestle not against flesh and blood, but against principalities, against powers, and against the worldly governors, the princes of the darkness of this world...

User avatar
Bandicam Company
Site Admin
Posts: 6358
Joined: Mon Dec 20, 2010 12:19 pm

Re: Issues With Steam Overlay

Fri May 15, 2015 4:07 pm

Hello!

If you start Bandicam before the steam game, it can happen.
We don't have a good solution for this issue.

Please start the game first, and then start Bandicam in 20~30 seconds.
It will minimize the hooking issue with the Steam overlay.

User avatar
GT500
Posts: 17
Joined: Thu May 14, 2015 3:01 pm

Re: Issues With Steam Overlay

Sat May 16, 2015 6:13 am

Would adding a delay to hooking a game process resolve the issue? Or would that cause problems?
For we wrestle not against flesh and blood, but against principalities, against powers, and against the worldly governors, the princes of the darkness of this world...

User avatar
Bandicam Company
Site Admin
Posts: 6358
Joined: Mon Dec 20, 2010 12:19 pm

Re: Issues With Steam Overlay

Mon May 18, 2015 12:05 pm

We don't have a plan for the delayed hooking feature at the moment.

You may try an example of the batch code from the link below which allows you to use the delayed hooking feature.
viewtopic.php?f=10&t=2984

User avatar
GT500
Posts: 17
Joined: Thu May 14, 2015 3:01 pm

Re: Issues With Steam Overlay

Sat May 23, 2015 3:37 pm

That batch file was certainly helpful. I modified it to launch GTA V, and added some code from here to allow for launching it as admin without me needing to remember to right-click. Here's the updated batch code:

Code: Select all

@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

if not "%minimized%"=="" goto :minimized
set minimized=true
start /min cmd /C "%~dpnx0"
goto :EOF
:minimized
rem Anything after here will run in a minimized window

TASKKILL /F /IM "bdcam.exe"
TASKKILL /F /IM "bdcam64.bin"
timeout /T 2 /nobreak
start "Grand Theft Auto V" steam://rungameid/271590

:search
tasklist|find "GTA5.exe"
IF %ERRORLEVEL% == 0 (GOTO found)
TIMEOUT /T 1
GOTO search

:found

timeout /T 10
start "Bandicam" "C:\Program Files (x86)\Bandicam\bdcam.exe"
exit
For we wrestle not against flesh and blood, but against principalities, against powers, and against the worldly governors, the princes of the darkness of this world...

User avatar
GT500
Posts: 17
Joined: Thu May 14, 2015 3:01 pm

Re: Issues With Steam Overlay

Sat Jun 06, 2015 8:13 am

I didn't particularly like needing to have a separate batch file for every game I wanted to play on Steam, so I made one with a simple menu so that it is capable of launching multiple games, and instead of waiting for the game process to launch it waits for GameOverlayUI.exe to launch since that seems to be more reliable (not to mention easier to script) for most games, although I did find that with GTAV I needed to keep the timeout at 10 seconds in order to prevent Bandicam from launching too soon (for other games it was OK if I reduced it to 4 seconds).

I based the menu system off of this simple tutorial. I've seen more advanced menus, but this was good enough for the purpose I had in mind.

I tried to make sure that the code was reasonably commented so that the sections I added for the menu were obvious and their purposes made sense. Here's the code if anyone wants it:

Code: Select all

@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

:: Games Menu
@ECHO OFF
CLS

:MENU
if not "%minimized%"=="" goto :minimized
ECHO.
ECHO ---------------
ECHO - Steam Games -
ECHO ---------------
ECHO.
ECHO 1 - Grand Theft Auto V
ECHO 2 - Killing Floor 2
ECHO 3 - Star Trek Online
ECHO 4 - Tera
ECHO 5 - EXIT
ECHO.

::Input From Menu
SET /P M=Enter the number of the game you want to launch, then press ENTER:
IF %M%==1 GOTO GTAV
IF %M%==2 GOTO KF2
IF %M%==3 GOTO STO
IF %M%==4 GOTO TERA
IF %M%==5 GOTO EOF

:: Execute Games Selected From Menu
:GTAV
start "Grand Theft Auto V" steam://rungameid/271590
GOTO CONTINUE

:KF2
start "Killing Floor 2" steam://rungameid/232090
GOTO CONTINUE

:STO
start "Star Trek Online" steam://rungameid/9900
GOTO CONTINUE

:TERA
start "TERA" steam://rungameid/323370
GOTO CONTINUE

:: Minimize Command Prompt
:CONTINUE
if not "%minimized%"=="" goto :minimized
set minimized=true
start /min cmd /C "%~dpnx0"
goto :EOF
:minimized
rem Anything after here will run in a minimized window

TASKKILL /F /IM "bdcam.exe"
TASKKILL /F /IM "bdcam64.bin"
timeout /T 2 /nobreak

:search
tasklist|find "GameOverlayUI.exe"
IF %ERRORLEVEL% == 0 (GOTO found)
TIMEOUT /T 1
GOTO search

:found

timeout /T 10
start "Bandicam" "C:\Program Files (x86)\Bandicam\bdcam.exe"
exit



Edit: I forgot to mention this, but for those with Star Trek Online, please note that Bandicam causes it to crash regardless of when Bandicam is launched (before or after STO is launched). I have sent crash reports to Cryptic Studios through the game's crash report tool that launches after a game crash.
For we wrestle not against flesh and blood, but against principalities, against powers, and against the worldly governors, the princes of the darkness of this world...

User avatar
GT500
Posts: 17
Joined: Thu May 14, 2015 3:01 pm

Re: Issues With Steam Overlay

Wed Jun 10, 2015 2:42 pm

One more update to the batch file, since I decided to add custom times to wait for Bandicam to be started to all of the games, since GTA V was sometimes still having issues with Bandicam starting before the overlay even with a 10-second delay.

Here's the updated code:

Code: Select all

@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

:: Games Menu
@ECHO OFF
CLS

:MENU
if not "%minimized%"=="" goto :minimized
ECHO.
ECHO ---------------
ECHO - Steam Games -
ECHO ---------------
ECHO.
ECHO 1 - Grand Theft Auto V
ECHO 2 - Killing Floor 2
ECHO 3 - Star Trek Online
ECHO 4 - Tera
ECHO 5 - EXIT
ECHO.

::Input From Menu
SET /P M=Enter the number of the game you want to launch, then press ENTER:
IF %M%==1 GOTO GTAV
IF %M%==2 GOTO KF2
IF %M%==3 GOTO STO
IF %M%==4 GOTO TERA
IF %M%==5 GOTO EOF

:: Execute Games Selected From Menu
:GTAV
start "Grand Theft Auto V" steam://rungameid/271590
SET STARTTIMER=20
GOTO CONTINUE

:KF2
start "Killing Floor 2" steam://rungameid/232090
SET STARTTIMER=4
GOTO CONTINUE

:STO
start "Star Trek Online" steam://rungameid/9900
SET STARTTIMER=4
GOTO CONTINUE

:TERA
start "TERA" steam://rungameid/323370
SET STARTTIMER=4
GOTO CONTINUE

:: Minimize Command Prompt
:CONTINUE
if not "%minimized%"=="" goto :minimized
set minimized=true
start /min cmd /C "%~dpnx0"
goto :EOF
:minimized
rem Anything after here will run in a minimized window

TASKKILL /F /IM "bdcam.exe"
TASKKILL /F /IM "bdcam64.bin"
timeout /T 2 /nobreak

:search
tasklist|find "GameOverlayUI.exe"
IF %ERRORLEVEL% == 0 (GOTO found)
TIMEOUT /T 1
GOTO search

:found

timeout /T %STARTTIMER%
start "Bandicam" "C:\Program Files (x86)\Bandicam\bdcam.exe"
exit
For we wrestle not against flesh and blood, but against principalities, against powers, and against the worldly governors, the princes of the darkness of this world...

Return to “Bandicam - General Discussion”

Who is online

Users browsing this forum: No registered users and 11 guests