Minimierte Access Anwendung mit Batch in den Vordergrund holen
Hallo Zusammen,
wie der Titel schon sagt, möchte mit einem Skript, dass wiederum Bestandteil eines Main-Script ist, eine minimierte Access-Anwendung (Fenstertitel) einfach nur von der Taskleiste maximiert wiederherstellen, starten bzw. in den Fokus holen.
Hat jemand eine Idee?
wie der Titel schon sagt, möchte mit einem Skript, dass wiederum Bestandteil eines Main-Script ist, eine minimierte Access-Anwendung (Fenstertitel) einfach nur von der Taskleiste maximiert wiederherstellen, starten bzw. in den Fokus holen.
Hat jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 611865
Url: https://administrator.de/contentid/611865
Ausgedruckt am: 22.11.2024 um 00:11 Uhr
6 Kommentare
Neuester Kommentar
Mit Batch pur nicht. PowerShell schon eher. Kannst maximal beides miteinander verwursten.
Für das 1. Argument siehe nCmdShow hier: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sh ...
Steffen
@echo off &setlocal
call :init_window_to_foreground
%window_to_foreground% 3 "dein Fenstertitel hier"
echo %errorlevel%
pause
exit /b
:init_window_to_foreground
setlocal DisableDelayedExpansion
set window_to_foreground=for %%i in (1 2) do if %%i==2 (^
%=% for /f "tokens=1*" %%j in ("^^!arg^^!") do powershell.exe -nop -ep Bypass -c ^"try{$c=Add-Type -Name pInv -PassThru -MemberDefinition '^
%=====% [DllImport(\"user32.dll\")] public static extern IntPtr FindWindow(IntPtr lpClassName, string lpWindowName);^
%=====% [DllImport(\"user32.dll\")] public static extern int ShowWindow(IntPtr hWnd, int nCmdShow);^
%=====% [DllImport(\"user32.dll\")] public static extern int SetForegroundWindow(IntPtr hwnd);';^
%=====% $hwnd = $c::FindWindow([IntPtr]::Zero,\"%%~k\");^
%=====% $null = $c::ShowWindow($hwnd,%%~j);^
%=====% exit [int]($c::SetForegroundWindow($hwnd) -eq 0);}catch{exit 1;}^"^&endlocal^
%=% ) else setlocal EnableDelayedExpansion^&set arg=
endlocal&set "window_to_foreground=%window_to_foreground%"
if !!# neq # set "window_to_foreground=%window_to_foreground:^^=%"
exit /b
Steffen
Zweiter Parameter von ShowWindow ist dein Freund
Eine 3 wenn es maximiert werden soll, eine 9 wenn es in Originalposition wiederhergestellt werden soll
bzw.
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sh ...
Eine 3 wenn es maximiert werden soll, eine 9 wenn es in Originalposition wiederhergestellt werden soll
$c::ShowWindow($hwnd,3);
$c::ShowWindow($hwnd,9);
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sh ...