(Dos) Befehl und eine Anwendung in bestimmer Auflösung zu starten

Thread Status
Hello, There was no answer in this thread for more than 30 days.
It can take a long time to get an up-to-date response or contact with relevant users.

Klinke

Sehr aktives NF Mitglied
Marktplatz
Registriert
Moin,

ich bräuchte mal Computer-Experten-Wissen ... :dizzy:

Aktuell arbeite ich unterwegs mit einem Lenovo Yoga 3 (Bildschirm mit 4K Auflösung - Win 8.1) ... und da liegt auch gleich das Problem:

Für die meisten Anwendungen ist alles bestens, aber ich habe ein sehr spezielles Datenbankprogramm von Bayer, das startet sogar über eine Batch-Datei. Allerdings skaliert es die Größe nicht, alle Schriften sind viel zu klein!
Sofern ich vor dem Start die Auflösung manuell ändere, ist alles ok.
Da aber sowieso eine Batch-Datei aufgerufen wird ... vielleicht könnte ich sie entsprechend editieren ... 'starte mit Auflösung x x X' und am Ende wieder zurück.?! :cool:
Nur finde ich nirgends eine entsprechende Info, ob das im aktuellen Windows überhaupt (noch) so möglich ist, und wenn, wie?!

Vielleicht weiß das hier ja jemand ... wäre klasse.
 
Anzeigen
- für DOS/Win32-Console Programme kannst Du einfach den MODE-Befehl nehmen oder einen passenden Font nehmen/installieren
- die Sicherheitsabfrage für Win32/GUI-Programme erledigt die Console per "wmic desktopmonitor get screenheight, screenwidth"
- Ansonsten würde ich mal nach "qres.exe" auf Sourceforge suchen ;).
 
Kommentar
Danke erstmal ... hatte leider vergessen zu erwähnen, dass ein 64 Bit ist.

Ein anderer Font wird, glaube ich, nicht funktionieren. Das Programm sieht schon 'normal modern' aus. Wird halt nur so komisch gestartet.
Qres.exe hatte ich schon gefunden. Läuft aber auch nicht unter 64 Bit?!
 
Kommentar


Bei meinem Mac würde ich die Systemeinstellung
"Bedienungshilfen" aktivieren und gemäß meiner
Bedürfnisse konfigurieren.

Damit lassen sich schlecht lesbare Fenster zoomen,
auch per Short-Cuts … eine echte Blindenhilfe!


Vielleicht gibt es so etwas ja auch bei Windows???




 
Kommentar
Probiere ich morgen. Mal sehen, ob ich es hinbekomme.

Micha grüßt vom Xperia Z2
 
Kommentar
Multires funktioniert ... :up:

Nur, leider, komplett in die Batch-Datei eingebaut nicht.
Diese steuert nämlich nur den Start des Programms (so dass ich vorher problemlos eine andere Auflösung 'einbauen' kann - aber beim Beenden spielt sie keine Rolle, so dass ich ein 'Zurück' nicht implantieren kann. Das muss dann manuell erfolgen ... aber besser als nichts ... :cool:
 
Kommentar
... aber ich habe ein sehr spezielles Datenbankprogramm von Bayer, das startet sogar über eine Batch-Datei. ...
Hallo,
ist das evtl. eine Clipper- oder dBase-Anwendung? So ein Schätzchen von Beginn der neunziger Jahre muss ich gelegentlich auch immer noch mal aufrufen. Im Windows XP Modus unter Windows 7 64 Bit geht das ganz gut mit einer Desktop-Verknüpfung. Hier kann ich den Schriftgrad und damit auch indirekt die Fenstergröße des Programms hinterlegen. Die Einstellungen bleiben für nachfolgende Programmaufrufe erhalten.

Herzliche Grüße Nic
 
Kommentar
Leider keine wirkliche Ahnung, was die Batch-Datei da genau aufruft.
Das Ändern des Schriftgrades habe ich als erstes probiert, bringt aber nichts, weil diese Datei ja nur die eigentliche Anwendung startet ... irgend eine Java Geschichte offenbar ... :nixweiss:
 
Kommentar
Hallo Michael!

Ob es unter Windows_10 / 64 Bit auch so funktioniert, weiß ich nicht - unter Windows_7 / 64 Bit gibt es jedenfalls das Programm "Eingabeaufforderung"
%windir%\system32\cmd.exe
mit den Optionen Ausführen: Minimiert / Normales Fenster / Maximiert
und der Möglichkeit, die Schriftart (Lucida Console / Rasterschriftart) und die Schriftzeichen-Größe auszuwählen.
Außerdem kann ich bei Layout: mit der Fensterpuffergröße 240 breit, 75 hoch ein bei mir Bildschirmfüllendes Fenster (2550x1440 Pixel) erreichen.
Hast du das schon versucht?
Rufst du über diese Eingabeaufforderung diese Batchdatei auf?
Und natürlich kannst du das *.bat editieren - ich empfehle mal, den Aufruf des eigentlichen Programms im Batch mit dem Vorbefehl call zu versehen ...
 
Kommentar
Multires funktioniert ... :up:

Nur, leider, komplett in die Batch-Datei eingebaut nicht.
Diese steuert nämlich nur den Start des Programms (so dass ich vorher problemlos eine andere Auflösung 'einbauen' kann - aber beim Beenden spielt sie keine Rolle, so dass ich ein 'Zurück' nicht implantieren kann. Das muss dann manuell erfolgen ... aber besser als nichts ... :cool:

Nö, dann bastelst Du Dir Deine eigene Batch-Datei und rufst die Batch der Anwendung einfach nur per CALL auf.
 
Kommentar
Danke Ihr beiden ...

... aber das (oder so ähnlich hatte ich probiert, aber darauf reagiert die Anwendung überhaupt nicht.
Nur das vorherige Umstellen der Auflösung (durch Multires) 'bringt' etwas. Hier mal die Batch, vielleicht reden wir auch irgendwie aneinander vorbei:

[MENTION=41345]Echo[/MENTION] off

: DOIT
setlocal
call :initEnv

call :getOptions %*

call :findJava
if "%javaDir%" == "" goto :NOJRE
if "%java6Dir%" == "" goto :NOJRE16
if "%javaExe%" == "" goto :WRONGJRE16
set javaOpts=%javaOpts% -splash:DeluxeSplashScreen.png

goto :LAUNCH

:LAUNCH
echo INFO: Using Java version %javaVer% from "%java6Dir%"
if %verbose% == 1 (
echo. >> %logfile%
echo ENVIRONMENT: >> %logfile%
echo date time = %date% %time% >> %logfile%
echo logfile = %logfile% >> %logfile%
echo java6Dir = "%java6Dir%" >> %logfile%
echo javaExe = "%javaExe%" >> %logfile%
echo javawExe = "%javawExe%" >> %logfile%
echo javaMun = %javaMun% >> %logfile%
echo javaVer = %javaVer% >> %logfile%
)
if %findJava% == 1 goto :eof
goto :RUN_%barrVer%

:RUN_1.4.11
if %verbose% == 1 (
echo CMDLINE: start "%javaExe%" %javaOpts% -jar Glucofacts.jar %param% >> %logfile%
) else (
echo %date% %time% - CMDLINE: start "%javaExe%" %javaOpts% -jar Glucofacts.jar %param% >> %logfile%
)
start "GLUCOFACTS Deluxe" "%javaExe%" %javaOpts% -jar Glucofacts.jar %param%
goto :RUN_CONTINUED

:RUN_Latest
:RUN_1.4.12
if %verbose% == 1 (
echo CMDLINE: start "%javawExe%" %javaOpts% -jar Glucofacts.jar %param% >> %logfile%
) else (
echo %date% %time% - CMDLINE: start "%javawExe%" %javaOpts% -jar Glucofacts.jar %param% >> %logfile%
)

if "%param%"=="Apollo-Barracuda" (
cd "GLUCOFACTS Deluxe"
)

start "GLUCOFACTS Deluxe" "%javawExe%" %javaOpts% -jar Glucofacts.jar %param%
goto :RUN_CONTINUED

:RUN_CONTINUED
if errorlevel 1 goto :JAVAERROR
del %logfile%
goto :EXIT


:initEnv
set debug=0
set verbose=0
set exitCmd=exit
set barrVer=Latest
set param=PC-Barracuda
set logfile="%USERPROFILE%\BarracudaLog.txt"
set javaDir=
set java6Dir=
set javaExe=
set javaMun=-1
set javaVer=
set javaOpts=-XX:MaxPermSize=128m -Xms128m -Xmx512m -Dsun.locale.formatasdefault=true
set useJava=0
set findJava=0
goto :eof

:findJava
set javaExe=

call :getJavaExe
if not "%javaExe%" == "" goto :eof

call :findJavaExe
if not "%javaExe%" == "" goto :eof

call :findJava6Exe
goto :eof

:getJavaExe
call :inPath java.exe
if %inpath% == "" goto :eof
call :checkJavaVer %inpath%
goto :eof

:getJavaVer exe version
::
:: java version syntax <Major>.<Minor>.<Maintenance>_<Update>
::
:: get and cleanup the version, which may actually be a directory name (eg. jre1.6.0, jre1.6.0_17 jdk1.6.0_011)
set ver=%~2
set ver=%ver:jdk=%
set ver=%ver:jre=%
if %debug% == 1 (
echo DEBUG: found java version %ver% located in %1
if %verbose% == 1 (
echo DEBUG: found java version %ver% located in %1 >> %logfile%
)
)
set ver2=%ver:.= %
call :getJavaVersions %ver2:_= %
set vern=%major%%minor%
if %vern% LSS 16 goto :eof
if %vern% EQU 16 (
if %updat% LSS 17 goto :eof
)
if %updat% GTR 0 (
if "%updat:~0,1%"=="0" SET updat=%updat:~1%
)
set /a m_u=1000 * %maint% + %updat%
if %m_u% LSS %javaMun% goto :eof
set javaMun=%m_u%
set java6Dir=%~dp1
set javaVer=%ver%
set javaExe=%~1
set javawExe=%~dp1%~n1w.exe
if %vern% GTR 17 (
set javaOpts=-XX:MaxMetaspaceSize=128m -Xms128m -Xmx512m -Dsun.locale.formatasdefault=true
)
if %useJava% == 1 set javawExe=%javaExe%
if "%javaDir%" == "" set javaDir=%java6Dir%
if %debug% == 1 (
echo DEBUG: like java version %javaVer% located in "%java6Dir%"
if %verbose% == 1 (
echo DEBUG: like java version %javaVer% located in "%java6Dir%" >> %logfile%
)
)
goto :eof

:getJavaVersions <Major> <Minor> <Maintenance> <Update>
set major=%1
set minor=%2
set maint=%3
set updat=0
if not "%4" == "" set updat=%4
goto :eof

:findJavaExe
call :findJava6Exe "%ProgramFiles%\Java\jre6"
call :checkJavaDir "%ProgramFiles%\Java"
call :findJava6Exe "%ProgramFiles(x86)%\Java\jre6"
call :checkJavaDir "%ProgramFiles(x86)%\Java"
call :findJava6Exe "%ProgramFiles%\Java\jre7"
call :checkJavaDir "%ProgramFiles%\Java"
call :findJava6Exe "%ProgramFiles(x86)%\Java\jre7"
call :checkJavaDir "%ProgramFiles(x86)%\Java"
goto :eof

:findJava6Exe "<dirName>"
if not exist "%~1" goto :eof
call :checkJavaVer "%~1\bin\java.exe"
goto :eof

:checkJavaDir "<dirName>"
for /D %%n in ("%~1"\jre1.* "%~1"\jdk1.*) do call :javaSupported "%%n"
goto :eof

:parseJavaVer exe java version "<version>"
if not "%2" == "java" goto :eof
if not "%3" == "version" goto :eof
call :getJavaVer "%~1" %4
goto :eof

:javaSupported dir
call :getJavaVer "%~1\bin\java.exe" %~nx1
goto :eof

:inPath
set inpath="%~$PATH:1"
if not %inpath% == "" goto :eof
if "%PROCESSOR_ARCHITECTURE%" == "x86" goto :eof
set PATH="%PATH%;%SystemRoot%\SysWOW64"
set inpath="%~$PATH:1"
goto :eof

:checkJavaVer
"%~1" -version > %temp%\javaver.txt 2>&1
:: example output of: java -version
:: java version "1.6.0_10"
:: Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
:: Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
::
for /F "tokens=1-3" %%n in (%temp%\javaver.txt) do call :parseJavaVer "%~1" %%n %%o %%p
goto :eof

:getOptions
if "%1" == "" goto :eof
set a=%1
if not "%a:~0,1%" == "-" goto :eof
if "%a%" == "-debug" set debug=1
if "%a%" == "-echoon" echo on
if "%a%" == "-verbose" set verbose=1
if "%a%" == "-noexit" set exitCmd=echo DONE
if "%a%" == "-pcbarr" set param=PC-Barracuda
if "%a%" == "-abarr" set param=Apollo-Barracuda
if "%a%" == "-1.4.11" set barrVer=1.4.11
if "%a%" == "-1.4.12" set barrVer=1.4.12
if "%a%" == "-jopt" shift & set javaOpt=%javaOpt% %1
if "%a%" == "-java" set useJava=1
if "%a%" == "-findjava" set findJava=1 & set debug=1 & set exitCmd=echo DONE & set verbose=1
shift
goto :getOptions

:toURL file
set escd=
call :esc20 %*
set url=file:///%escd:\=/%
goto :eof

:esc20
rem echo esc20 -- 1 = %1
rem pause
if "%1" == "" goto :eof
if "%escd%" == "" (
set escd=%1
) else (
set escd=%escd%%%20%1
)
rem echo escd=%escd%
shift
goto :esc20

:NOJRE
echo **** ERROR: No JRE Found! Barracuda needs JRE1.6
set fn=messageFS.html
goto ERROR

:NOJRE16
echo **** ERROR: No JRE 1.6 Found in the System. Barracuda needs JRE1.6
set fn=messageFS.html
goto ERROR

:WRONGJRE16
echo **** ERROR: Incompatible JRE 1.6 Found in the System. Barracuda needs JRE1.6.0_17 or better.
set fn=messageFS.html
goto ERROR

:JAVAERROR
echo **** ERROR: Unable to invoke Java successfully.
set fn=javaErrorFS.html
goto :ERROR

:ERROR
call :toURL %~dp0html\%fn%
if "%param%"=="Apollo-Barracuda" start %url%
echo ENVIRONMENT:
echo errorlevel = %errorlevel%
echo java6Dir = %java6Dir%
echo javaExe = %javaExe%
echo javawExe = %javawExe%
echo javaMun = %javaMun%
echo javaVer = %javaVer%
echo.
if exist %logfile% (
pause
echo CONTENTS: %logfile%
echo.
type %logfile%
echo.
echo END CONTENTS
)
pause
goto :EXIT

:EXIT
%exitCmd%
goto :eof
 
Kommentar
-Anzeige-
Zurück
Oben Unten