833737278282jfnksj
Goto Top

Windows 11 Taskleiste immer in den Vordergrund zwingen

Hallo zusammen.

Aufgrund eines Programms in Java das sich nicht so öffnen lässt, das es nicht im Vollbildmodus startet, suche ich eine Möglichkeit die Windows Taskleiste immer starr im Vordergrund zu halten. Auch wenn es dann andere Programme im Vollbildmodus "stören" könnte.

Und nein, der Entwickler des Java Programms kann nicht in absehbarer Zeit Abhilfe schaffen.

Gibt es so eine Möglichkeit?

Ich wäre dankbar für Hilfe.

VG

Content-ID: 671766

Url: https://administrator.de/forum/windows-11-taskleiste-immer-in-den-vordergrund-zwingen-671766.html

Ausgedruckt am: 12.04.2025 um 13:04 Uhr

wollekuj
wollekuj 06.03.2025 um 05:39:05 Uhr
Goto Top
Hallo,


ich kenne keine Möglichkeit die Taskleiste in den Vordergrund zu bringen. Eventuell kann aber ein launcher über powershell gebaut werden, welcher erst die Auflösung verringert, das Programm startet und die Auflösung wieder korrigiert.
Install-Module -Name DisplaySettings
Set-DisplayResolution -Width 800 -Height 600
start programmxy
Set-DisplayResolution -Width 1920 -Height 1080


800x600 ist natürlich nur ein Beispiel, aber vlt hilft es ja. Es kommt auf das Programm an ob die Auflösung nur initial beim Start gesetzt wird
CamelCase
CamelCase 06.03.2025 um 08:01:44 Uhr
Goto Top
Moin,

du kannst der Anwendung die Flag WM_TOPMOST entfernen. Das geht mit SetWindowPos

Die API kannst du u.A. auch mit PowerShell bedienen.

Gruß
833737278282jfnksj
833737278282jfnksj 06.03.2025, aktualisiert am 11.03.2025 um 11:03:41 Uhr
Goto Top
Puh. Das ist mir leider zu fern um das selbst zu lösen. Bin da nicht so fit und mache das nur ehrenamtlich. Wie gesagt, der Hersteller des Programms bietet keine Unterstützung.

Wir öffnen das Programm mit folgender Verknüpfung "PROGRAMMNAME.cmd" welche wohl anschließend "launch.cmd" auslöst.

Wenn ich mit dem Editor "PROGRAMMNAME.cmd" öffne sehe ich folgenden Inhalt. Wenn ich mit dem Editor "launch.cmd" öffne sehe ich folgenden Inhalt.

Habe beides untereinander angeordnet.

Falls jemand da motiviert ist etwas zu sagen wäre ich von Herzen dankbar. face-smile


echo off
set CURRENTDIR=%~dp0

set WHITEBOARD_HOME=%CURRENTDIR:~0,-1%

set JAVA_EXE=java
set JAVA_SUBFOLDER=jre
set JAVA_CURRENT_PATH=%WHITEBOARD_HOME%\%JAVA_SUBFOLDER%

if exist "%JAVA_CURRENT_PATH%\bin" (  
 set JAVA="%JAVA_CURRENT_PATH%\bin\%JAVA_EXE%"  
 ) ELSE if NOT "%JAVA_HOME%" == "" (  
 set JAVA="%JAVA_HOME%\bin\%JAVA_EXE%"  
 ) ELSE (
 set JAVA="%JAVA_EXE%"  
 )


set STAGING_JAR=%WHITEBOARD_HOME%\system\de\yconx\whiteboard\de.yconx.whiteboard.staging\3.3.3\de.yconx.whiteboard.staging-3.3.3.jar
set STAGING_JAR_RUNCOPY=%STAGING_JAR%_rc
set WB_CLASSPATH=%STAGING_JAR_RUNCOPY%

set STAGING_DIR=%WHITEBOARD_HOME%\stage\files
set WORK_DIR=%WHITEBOARD_HOME%
set SEMAPHORE=%WHITEBOARD_HOME%\stage\sema\sema.bin
set OSGICACHE_DIR=%WHITEBOARD_HOME%\data\cache
set COPYFLAG=%WHITEBOARD_HOME%\stage\sema\copy.txt

set LICENSE_SRC=%WHITEBOARD_HOME%\stage\license\license.bin
set LICENSE_DEST=%WHITEBOARD_HOME%\license\license.bin
set FBT_SRC=%WHITEBOARD_HOME%\stage\fbt\fbt.bin
set FBT_DEST=%WHITEBOARD_HOME%\fbt\fbt.bin

copy "%STAGING_JAR%" "%STAGING_JAR_RUNCOPY%"  

%JAVA% -Dwhiteboard.home="%WHITEBOARD_HOME%" -classpath "%WB_CLASSPATH%" de.yconx.whiteboard.staging.StageMain ^  
"stagedir=%STAGING_DIR%" "workdir=%WORK_DIR%" "semaphorefile=%SEMAPHORE%" "copyflagfile=%COPYFLAG%" "osgicachedir=%OSGICACHE_DIR%" "licenseSrc=%LICENSE_SRC%" "licenseDest=%LICENSE_DEST%" "fbtSrc=%FBT_SRC%" "fbtDest=%FBT_DEST%"  

launch.cmd go %*

if NOT "%1" == "go" (  
PROGRAMMNAME.cmd)

set WB_TIMEZONE="Europe/Berlin"  

set CURRENTDIR=%~dp0
set WHITEBOARD_HOME=%CURRENTDIR:~0,-1%


set LOG_OPTS=
set LOG_OPTS=%LOG_OPTS% -Dlog4j.logger.de.yconx.whiteboard=INFO
set LOG_OPTS=%LOG_OPTS% -Dlog4j.logger.net.PROGRAMMNAME=INFO

set JAVA_EXE=javaw
set JAVA_MINVERSION=17.0.10
set JAVA_SUBFOLDER=jre
set JAVA_SWITCHFOLDEREXT=switch
set JAVA_CURRENT_PATH=%WHITEBOARD_HOME%\%JAVA_SUBFOLDER%

if exist "%JAVA_CURRENT_PATH%\bin" (  
 set JAVA="%JAVA_CURRENT_PATH%\bin\%JAVA_EXE%"  
 ) ELSE if NOT "%JAVA_HOME%" == "" (  
 set JAVA="%JAVA_HOME%\bin\%JAVA_EXE%"  
 ) ELSE (
 set JAVA="%JAVA_EXE%"  
 )


rem Environment check
set ENV_DIR=%WHITEBOARD_HOME%\packs
set ENV_JAR=%WHITEBOARD_HOME%\system\de\yconx\whiteboard\de.yconx.whiteboard.environment\1.0.1\de.yconx.whiteboard.environment-1.0.1.jar

%JAVA% -classpath "%ENV_JAR%" de.yconx.whiteboard.environment.EnvironmentMain ^  
"envdir=%ENV_DIR%" "workdir=%WHITEBOARD_HOME%" "switchExtension=%JAVA_SWITCHFOLDEREXT%" "minVersion=%JAVA_MINVERSION%"  

if %errorlevel% NEQ 0 exit

rem JRE Update
if exist "%WHITEBOARD_HOME%\%JAVA_SWITCHFOLDEREXT%\" (  
 Rename "%WHITEBOARD_HOME%\jre" "oldjre"  
 Rename "%WHITEBOARD_HOME%\%JAVA_SWITCHFOLDEREXT%" "jre"  
 rmdir "%WHITEBOARD_HOME%/oldjre" /s /q  
)


if exist "%JAVA_CURRENT_PATH%\bin" (  
 set JAVA="%JAVA_CURRENT_PATH%\bin\%JAVA_EXE%"  
 ) ELSE if NOT "%JAVA_HOME%" == "" (  
 set JAVA="%JAVA_HOME%\bin\%JAVA_EXE%"  
 ) ELSE (
 set JAVA="%JAVA_EXE%"  
)


%JAVA% -classpath "%ENV_JAR%" de.yconx.whiteboard.environment.VersionCheck "minVersion=%JAVA_MINVERSION%"  
if %errorlevel% NEQ 0 exit


set LAUNCHER_JAR=./system/net/PROGRAMMNAME/net.PROGRAMMNAME.boot/1.0.30/net.PROGRAMMNAME.boot-1.0.30.jar
set WB_TIMEZONE="Europe/Berlin"  

rem read current environment file
set ENV_FILE=%WHITEBOARD_HOME%\fbenv.props
for /f "usebackq tokens=1,* delims== " %%i in ("%ENV_FILE%") do (set %%i=%%j)  

rem tweak mem settings in 64bit environment
if %arch_bit%==32 (
  set JAVA_MIN_MEM=128m
  set JAVA_MAX_MEM=1024m
) else (
  if %arch_bit%==64 (
    set JAVA_MIN_MEM=256m
    set JAVA_MAX_MEM=4096m
  ) else (
    set JAVA_MIN_MEM=128m
    set JAVA_MAX_MEM=1024m
  )
)

set JAVA_OPTS=-Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM%

echo java options: %JAVA_OPTS%

start "PROGRAMMNAME" /D"%WHITEBOARD_HOME%" %JAVA% %JAVA_OPTS% %LOG_OPTS% -Duser.timezone=%WB_TIMEZONE% -Dwhiteboard.home="%WHITEBOARD_HOME%" -jar %LAUNCHER_JAR% %*