Thanks for the contribution!
Ironically, I solved the same problem earlier this week. However, my solution was PowerShell which is built into Windows.
This will launch however many WoWclients you want, position them where you specify on the screen, and log you into each account you use. All the 'configuration' happens in the last few lines of the file.
I'm inlining the code in case anyone wants it (since the forum disallows files with the name
.ps1 which is the required PowerShell extension.)
Code:
# Launch5WoW.ps1
#
# WARNING:
# THIS FILE CONTAINS YOUR WOW ACCOUNT INFORMATION. Protect it well.
# You will need to edit this information at the bottom of this file.
#
# Install WASP from:
# https://wasp.codeplex.com/
#
# WASP is a Zip file, (for Win7) just move the DLL contained inside into:
# C:\Windows\system32\WindowsPowerShell\v1.0\Modules\WASP\WASP.dll.
#
# Create a shortcut linking to this file:
# powershell.exe "C:\Games\Launch5WoW.ps1" (for example)
# powershell.exe -noexit "C:\Games\Launch5WoW.ps1" (if you need to debug)
#
Import-Module WASP
$processName = 'C:/Games/World of Warcraft/WoW.exe'
$sleepTimeForWindowToAppear = 5
$sleepTimeForPasswordPromptToAppear = 0
function LaunchWoWWithConfig
{
param ([string]$configFileName, [string]$account, [string]$password, [int]$posLeft, [int]$posTop)
$WoWDir = (Get-ChildItem $processName).DirectoryName
$processStartInfo = New-Object System.Diagnostics.ProcessStartInfo
$processStartInfo.FileName = (Get-Command $processName).Definition
$processStartInfo.WorkingDirectory = $WoWDir
$processStartInfo.Arguments = '-config "' + $WoWDir + '\WTF\' + $configFileName + '"'
$processStartInfo.UseShellExecute = $false
echo "Launching $account"
$process = [System.Diagnostics.Process]::Start($processStartInfo)
Sleep $sleepTimeForWindowToAppear
Set-WindowPosition -Left $posLeft -Top $posTop -Window $process.MainWindowHandle
Sleep $sleepTimeForPasswordPromptToAppear
Select-Window $process | Send-Keys "$account`t$password`n"
#return ($process)
}
#-----
# Edit these lines as you need...
# * Config-whatever.wtf contains whatever directives you need for the configuration.
# Probably the most important is the line: SET gxResolution "600x450" (or whatever)
# * Whatever *.wtf file you want to use
# For instance, Config-6up.wtf is a normal Config.wtf with the additional line:
# SET gxResolution "600x450"
# * Your WOW ACCOUNT name
# * Your WOW ACCOUNT PASSWORD
# * Left position for window
# * Top position for window
#
LaunchWoWWithConfig "Config-6up.wtf" "BNET_ACCOUNT_NAME1" "PASSWORD1" 695 1
LaunchWoWWithConfig "Config-6up.wtf" "BNET_ACCOUNT_NAME2" "PASSWORD2" 80 540
LaunchWoWWithConfig "Config-6up.wtf" "BNET_ACCOUNT_NAME3" "PASSWORD3" 80 1
LaunchWoWWithConfig "Config-6up.wtf" "BNET_ACCOUNT_NAME4" "PASSWORD4" 695 540
LaunchWoWWithConfig "Config-6up.wtf" "BNET_ACCOUNT_NAME5" "PASSWORD5" 1310 1
As the comments indicate, you will also need to install the WASP module for Powershell which is available from Microsoft's codeplex.
With one click on an icon, it now launches all my WoWs and logs me into the appropriate accounts. You may need to adjust the 'sleepTime*' variables if your machine is slower than mine.
cheers,
chinajade