System Startup opens Mp3tag in maximized windows instead of minimized form

I just tested this in CMD:

start /min Mp3tag.exe

It opens Mp3tag in the maximized form

And may I add: before posting this topic I went through Tools > Options- only to be stunned by finding that the appearance of the software at its start is something that is not configurable by the user

So it seems than unless an upgrade is made to Mp3tag, it will always open itself being upfront, either mazimized or in a shrunk window and with the last position on the screen that it had - but never in a minimized form

I just put that to a test

I associated both M3U8 and M3U file formats with Mp3tag and even reseted the system. The playlists are now opened in Mp3tag [instead of Winamp] but that does not make that problem of duality go away; i.e. when executed the file All Music.m3u8 at M: or a shortcut to it opens Mp3tag with files being loaded to it utilizing the pinned Mp3tag icon on the Taskbar, but shortcut "C:\Program Files (x86)\Mp3tag\Mp3tag.exe" "C:\Program Files Expanded! AUDIO\MMMM.m3u8" is blind to that fixed icon and creates a new temporary one

So does anyone else get two icons?


I sometimes get two icons also for other software: Corel DRAW and Microsoft Excel. But that is because on this new system of mine [Windows 10] I am experiencing with them a profound delay and glitches in opening: sometimes apparently the system registers two separate commands as requests for two separate instances to be opened. This usually happens hen I click a pinned icon of them on the Taskbar and within few seconds also execute from a drive a file associated with them; or the other way around. But what is needed to be pointed out in regards to this:

1] This was not happening on my Windows 7

2] Others "big" software like Photoshop does not succumb to such glitches on my Windows 10

3] Both Corel and Excell create second instance and not just an icon

4] Both Corel and Excell create its extra icon / second instance next to the pinned one, while Mp3tag not only choose to ignore its already present on the Taskbar icon but also literally distance itself from it

5] Mp3tag does not have a delay in opening [except for that 1-2 seconds before the files start to be loaded, but that is delay within the progress bar loading and not of the overall software start]

Please do not compare apples and oranges.
These programs were originally multi-document-interface programs which MP3tag never was. It is not possible to call a second instance of MP3tag.

As far as I remember there were 2 sections in W7: one for program icons to click on and another one where the currently running programs/currently opened documents were shown - this is different in W10, intentionally, no glitch.

How did you do that?
Anyway: it is enough to add MP3tag as application to open that file type.
Right-click on a playlist file and select "Open with" where you add MP3tag and you will not get a second entity on the task bar.

By selecting a sample file, right clicking on it, selecting Open with from the shell menu, selecting further Choose another app and finally checking the box Always use this app to open before clicking Mp3tag icon

The goal is to have Mp3tag opened but:
1] automatically after entering the system
2] with a chosen set of files
3] in a minimized form [which is currently not possible]
4] "using" its icon pinned to the Taskbar

1] automatically after entering the system -> Windows configuration outside MP3tag
2] with a chosen set of files -> user selection, data preparation outside MP3tag
3] ...is currently not possible
4] "using" its icon pinned to the Taskbar -> Windows configuration outside MP3tag

It is probably doable with Task Scheduler and Autohoto Key

But I just find it revolting that it cannot be done with a simple shortcut that should be working as intended

I am sorry but every other piece of software that I use has no problem in opening itself with usage of its pinned icon; and every piece of software that has a pinned icon on Taskbar in a situation when that software creates another window / "sub-instance" it does that visually by adding another icon next to that pinned down one and not at the end of all pinned icons

So I must be real lucky to have my Mp3tag striking gold, where gold is a behavior not displayed by any other software. Thus it is either only Mp3tag that can strike such gold behavior or it just happens that it is me who has only one piece of software that can work in such ways

I cannot look over your shoulder so I don't know what you are really doing.
I simply cannot reproduce your observation that MP3tag shows itself twice once MP3tag has been added to the list of applications to open a certain file type.

My playlists have been grabbed by VLC as standard program, also available are Editor, WMP and meanwhile MP3tag.
Before MP3tag was added to the list of applications to open a certain file type there was that what you observed: a duplication.
I would say that this behaviour is a result of the local windows configuration - and not that of MP3tag. Windows governs the taskbar, not MP3tag.

Sadly you are probably right

I had and still have so many issues with Windows 10 that such another counter productive behavior displayed by it towards me is in a matter of fact something that I should be expecting at this point


And taking into consideration what would have to be done to take care of the whole situation [points 1-4], it would be unwise from me to spent any single minute more on this- because the time saved on successful implementing this would start to be saved after years of using it. And by that time I can be either dead or new update of Windows might once again destroy my setup

How about using PowerShell?


First the basics

If I create and run a PS1 script like this

Start-Process notepad -WindowStyle Minimized

the Notepad opens in minimized form. But if the script is changed to

Start-Process 'C:\Program Files (x86)\Mp3tag\Mp3tag.exe' -WindowStyle Minimized

Then Mp3tag opens - but in maximized window


And so:

how do I open Mp3tag with a PowerShell script in a minimized way?

And then make the script tell Mp3tag to load up a playlist?

mp3tag does not use the windowsstyle or rather it ignores it

mp3tag open with the last window size settings - i dont have it maximised and the above PS command opens it in a none maximised window because thats how it was when i last closed it.

so until the app is changed you are out of luck

1 Like

So it seems; although


Going back to CMD

Running a BAT file like this

start /min "C:\Program Files (x86)\Mp3tag\" Mp3tag.exe

do open my Mp3tag in a minimized form. But going that necessary one step further

start /min "C:\Program Files (x86)\Mp3tag\" Mp3tag.exe "M:\My Playlist.m3u8"

simply braeks it - i.e. Mp3tag still opens and even loads the playlist but in the unwanted maximized form [or should I rather say: it brings it to the front thus "obscuring" my view instead of being run "in a background"]

If you minimize Mp3tag and then close it completely from the taskbar with a right click and "Close window", this command will open Mp3tag in minimized form again:

start /min "" "C:\Program Files (x86)\Mp3tag\Mp3tag.exe" c:\temp\mp3tag.m3u

If you close Mp3tag in normal window mode or maximized, the window will reappear as it's size was before closing.

This is true at least for my Windows 10 Pro 20H2, build 19042.746 and Mp3tag 3.05 from 28.1.2021.

1 Like

Yes- this is also working on my brand new Windows 10. And I can even have Mp3ag pinned permanently to my Taskbar - which was another step further in my equation


But going this way [i.e. with such BAT] in order to complete this whole shebang I would somehow need now to tell Mp3tag to

A] always minimize itself before closing whenever I close it- and no mater if with the X icon or of its window or with the close option from the menu available for it on the Taskbar

or

B] always start minimized

The first option would do the trick - with the exception of cases when Mp3tg would not close properly [like when an operating system hang up]. But that would be logical and not that big of a problem

The second option would seem to be a better one- but not for all those those cases when I would need to actually see the Mp3tag window being maximized. And that would be a big problem because I need to see it maximized 99% of the time


Or all of the above can be irrelevant


If the user could configure Mp3tag to start up with the system in minimized form - or to start in some pre-state [with being visible only in the Tray area] and loading up playlists files or folders

Because all that I am after is the ability to load up faster my files; or at least some of them [the ones that I use the most often]. A concept of pre-loading files and of / or Library in this mater has been already explored by me REQUEST: pre-load of files. The conclusion was, that Library will not help in that matter


What really does the job done is the reading of files from the drives thus putting them in RAM - because reading them again later on during workflow is much faster

I now have a new machine now with the fastest M.2 NVMe drives I could find on the market [one for system and the other for audio files] - and I am simply disappointment with how little speed I have gained on the account of switching from using SSD drives. Maybe I still need to somehow unblock their potential, but it the basic prinicapal is this: when I load the files first time, the read up is slow - and when I load the same files the second time, then the read up is fast

And so an ability to preload my files either with a workaround BAT / PS1 file or with a totally new Mp3tag option would take care of this - but it would have to be performed in the background [i.e. without bringing focus to Mp3tag window or even opening it in the first place]. Because opening Mp3tag is rarely the first thing that I do when entering Windows - but opening it at some point is very likely. And so if my files could be automatically waiting in Mp3tg [with the software not being brought to my attention before that] then that would be a real time saver

An ugly and really just for you workaround could be this simple PowerShell-Script:

Start-Process Mp3tag

$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('*Mp3Tag')
SLEEP 1
$wshell.SendKeys('(%(" "(n)))')

1.) It starts Mp3tag (no path necessary, don't ask me why...)
2.) Then it brings the App with "Mp3tag" in its title to front = activate it
3.) Depending on how long the loading process of your m3u-list takes, you have to adjust the sleep/wait value. In best case, you don't need it at all and you can remove it.
4.) It opens the title bar menu and press n for miNimize

You can save it as PowerShell-Script StartMp3tagMinimized.ps1 and let it autorun with your system start.

1 Like

After a slight reworking ended up with such script [and descriptions for future reference]:

Blockquote
Start-Process Mp3tag -ArgumentList '"M:\My Playlist.m3u8"'
<#
"Start-Process" opens the App wich has in its title "Mp3tag"
"-ArgumentList" allows for adding a path to a file that is to be executed within that App. The "" signs enclosing a given path are necesery if there there is a pause sign in it
#>
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('*Mp3Tag')
<#
This brings the App with "Mp3tag" in its title to front- thus activating that App
#>
SLEEP 0
<#
SLEEP X
This sets how much time [measured in seconds] must past before the next step will be executed. The X in this comment stands in for the amount to be specified
#>
$wshell.SendKeys('(%(" "(n)))')
<#
This opens the title bar menu and presses "n" for minimize
#>

So my question concerning the script itself would be: what does it do that $wshell = New-Object -ComObject wscript.shell; line?

And also: what title bar menu?


As for

I cannot. The script itself works perfettcly when I execute it by hand - but when it is placed in Startup folder then it will be simply opened in Notepad and not exceuted as a scirpt

Apparently is not that simple to automatically run PowerShell script. I found all kind of solution but failed miserably. One way I have not tried out was by the means of Group Policy / Task Scheduler. But I would rather not add another layer to the chain of events- I would rather have a BAT file execute the PS1 file, with the BAT being added to and being executed by the Startup of Windows

I'm pretty sure you already found the answer here:

You can use New-Object to work with Component Object Model (COM) components. Components range from the various libraries included with Windows Script Host (WSH) to ActiveX applications such as Internet Explorer that are installed on most systems.

If you start Mp3tag you get a visible window, some call it GUI. If you press ALT + SPACE you get a menu which I call "Title bar menu". On most applications you can also get this menu by pressing the app icon in the upper left corner.

[We should never overestimate my comprehension of programming terminology and of my coding skills]

So basically this allows to use components not limited to the tasks that can be performed by using cmdlets

I have seen it around through years - but was never really aware of it name and possible functionality

For example:


I can make an LNK file like wiith a Targer beaaring

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -ExecutionPolicy Bypass -File "C:\My script loading My Playlist.ps1"

And it works. In that when I put it in the folder for auto start feature if Windows located at

C:\Users\YOUR-USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

the PS1 script will execute itself thus open Mp3tag and load the files - instead of opening itself for editing in Notepad. Unfortunately this combination will override the basic principal of the script, because it will open Mp3atg in a minimized only if it has been closed in such viewing mode. So the Mp3ag ebery time would have to be closed "properly" by the user during the previous system session

And on top of that this automatically executed LNK file will leave a window open with

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

False
PS C:\Windows\system32> ""_

with that prompt sign _ being in bold and blinking

There is something wrong with Windows [said its every user at some point...]


Long story short:
1] Create a CMD file with such code

@echo off
PowerShell.exe -WindowStyle Minimized -NoProfile -Command "& {Start-Process PowerShell.exe -WindowStyle Minimized -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -Verb RunAs}"

2] Save it as X.bat whenever; e.g on C:\Various Scripts\

3] Create a PowerShell file with such code:

Start-Process Mp3tag -ArgumentList '"M:\My Playlist.m3u8"'
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('*Mp3Tag')
SLEEP 0
$wshell.SendKeys('(%(" "(n)))')

[this is the code provided kindly by @LyricsLover with my crucial addition to it of the playlist file]

4] Save it as X.ps1 in the same location; i.e. C:\Various Scripts\


And what do you get? A working as intended PS1 script plus a BAT executing that PS1. Running by hand either of them opens Mp3tag in a minimized form, with files loaded to it that are listed in the My Playlist.m3u8 file. Of course that BAT is useless without that PS1 - but that BAT can be used further, right?

Yes and no. The bottom line is:
whatever workaround is put in C:\Users\YOUR-USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup - it will open Mp3tag window in maximized / last used size

I tried adding another another BAT to the equation, putting a delay in them [with the timeout parameter], using them directly or via a LNK file - and the result is always the same: such chains run automatically at startup will in the end ignore the request for minimized Mp3tag window; while re-run [executed] by hand will take it seriously and open Mp3tag minimized. So the very same files behave differently. I also tried out briefly a free piece of sotware AdvancedRun v1.22 by Nir Sofer, but [suprise suprise!] it had the same issue- of ignoring the minimize / hidden parameter

And so

it seems safe to make and educated guess that even if I somehow managed to run that PS1 script without a BAT intermediary, it would ignore the request for minimization - and so it would not do the job. And I have an argument for that


Because after failing with BAT approach I went after all to TaskScheduler and created a Task with Action parameters set to [after numerous failures] as

Program / script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add arguments (optional): -ExecutionPolicy Bypass -File "C:\Various Scripts\X.ps1"
Start in (optional): C:\Various Scripts\

and told the Task to run at log-on

And once again the dichotomy repeats itself: when this Task is executed by hand [i.e. from within TaskSheduler] it opens Mp3tag in minimized form - but when the Task is executed as planned [after a reset of the system] it ignores the the minimization request residing in the PS1 file

The only little advantaged I have gained by using the TaskScheduler is that apparently its items are run even before items from C:\Users\YOUR-USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. In my particualr sett-up it means that my maximized FreeCommander window opens itself after Mp3tag thus obscuring it. But I just cannot relay on this workaround to a workaround, as it is could somehow break itself [i.e. start executing FreeCommander before Mp3tag]. [Plus the big white window of Mp3tag flashes itself - I would not like that when working at night]

Yes ladies and gentlemen - that is correct

And I finally have an apparently good enough and relatively easy

to utilize as part of my C:\Users\YOUR-USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup


I took the -ExecutionPolicy Bypass -File part from the Task I was exploring previously and I added it to a LNK file. So now in the folder Startup I have a shortcut leading to that PS1 file with code

Start-Process Mp3tag -ArgumentList '"M:\My Playlist.m3u8"'
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('*Mp3Tag')
SLEEP 0
$wshell.SendKeys('(%(" "(n)))')

with the parameters of that LNK file set to

Target: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "C:\Various Scripts\X.ps1"
Start in: "C:\Various Scripts"
Run: Normal window

And it works; in that after entering Windows Mp3tag will be executed by X.ps1 file [which was a problem - to automatically execute PS1 file and not just open it for editing] with the particular playlist will being loaded to Mp3tag. Although the window of Mp3tag will be open maximized, it will be somehow opened under [behind] the window of FreeCommander, which is set to open also in a maximized form and also by the means of having in folder Start a LNK file leading to its EXE

And I said somehow, because there is no logic here. The C:\Users\YOUR-USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup apparently works by alphabetical order- whatever is at the top will be loaded [executed] first. So FreeCommander XE.lnk is executed first and only after it an another process happens- of the X.lnk. So Mp3tag should be placed on top of FreeCommander window - but it is not. And yes I have made an experiment- by renaming X.lnk to ! X.lnk I made this file appear above FreeCommander XE.lnk in the folder Start- and thus made it to be executed as the first item from Start. And the result was that Mp3tag was opened with focus [at the front] - and this is the exact opposite of what should be happening [because FreeCommander window should be placed over it]

But what is more, when I went back to re-naming it as X.lnk but also changed its parameter Run: from Normal window to Minimized it also started running in front of FreeCommander window. So once again ladies and gentlemen the minimized parameter from "Start" folder was ignored - apparently on the account of being evoked from Startt folder; plus it broke the workaround


All in all, this method with LNK file is also better than TaskSchduler approach because it does not create a brief appearance of the Mp3tag window - it stays hidden behind FreeCommander [while the TaskScheduler method made a quick flash of Mp3tag window]


So for now this seems to be the solution

But first it is applicable only in peculiar circumstances [of having some third party software auto-running concurrently which happens to be able to hide Mp3tag window]. And secondly I simply do not like the idea to be forced to

And so, if someone has other solutions / ideas - please post them here, even in a distant future

And of course it broke; because of me doing some software update

Long story short: in order to fix it, the user apparently has to do the whole process from scratch - i.e. once more create a proper LNK file for PS1 script and place it in the Start folder thus deleting the old shorcut


Thus

remains even more relevant now