AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Multiple monitors --> Multiple wallpapers (one for each)

 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Ask for Help
View previous topic :: View next topic  
Author Message
ezuk



Joined: 04 Jun 2005
Posts: 129

PostPosted: Sat Dec 31, 2005 1:22 pm    Post subject: Multiple monitors --> Multiple wallpapers (one for each) Reply with quote

Hi,

When you run a multihead system, you cannot by default set a different wallpaper for each monitor, because Windows sees them all as one large desktop.

Techncally, it _is_ possible to set a different wallpaper per monitor -- I have seen programs which do this (commercial software).

I want to do this with AHK.

My suggested algo is:

1) Find out how many monitors user has.
2) Find out resolution of each monitor.
3) Get X images (one per monitor)
4) Use ImageMagick to resize each image to the proper resolution per each monitor.
5) Use ImageMagick to stitch all images together into one really wide BMP image.
6) Use DLLCall (technique described in other forums) to set this image as the wallpaper.

What I want to know:

1) Does anyone have a better idea?

2) Do you have any tips as to how to achieve 1-2?

3) Is there any other user here with a dual- to triple-head system who wants to collaborate on creating something like this?

Thanks.
Back to top
View user's profile Send private message
TheLeO



Joined: 11 Jun 2005
Posts: 179
Location: England ish

PostPosted: Sun Jan 01, 2006 11:55 am    Post subject: Reply with quote

In the help file:

Quote:
A_ScreenWidth
A_ScreenHeight

The width and height of the primary monitor, in pixels (e.g. 1024 and 768). [requires v1.0.22+]

To discover the dimensions of other monitors in a multi-monitor system, use SysGet.

To instead discover the width and height of the entire desktop (even if it spans multiple monitors), use the following example (but on Windows 95/NT, both of the below variables will be set to 0):
SysGet, VirtualWidth, 78
SysGet, VirtualHeight, 79

In addition, use SysGet to discover the work area of a monitor, which can be smaller than the monitor's total area because the taskbar and other registered desktop toolbars are excluded.



Why bother to resize the bmp image? if the desktop is set via ahk it can be set to automaticly resize the image...??


as for changing the wallpaper for the screen via ahk,,,for at least the main monitor: try this:

Note* you have to change:
>(WinDir "\web\wallpaper\cutefebruary.bmp")<
to pictures existing on your drive some where,
also ive copied this from another post,,., this only works for bmp's. dont know how to make it work for other formats.

Code:

1::
SetWallpaper(WinDir "\web\wallpaper\cutefebruary.bmp")
Return

2::
SetWallpaper(WinDir "\web\wallpaper\Cute Spring-1600.bmp")
Return

3::
; XP
SetWallpaper(WinDir "\web\wallpaper\Cute Wuinter .bmp")
Return

SetWallpaper(BMPpath)
{
  SPI_SETDESKWALLPAPER := 20
  SPIF_SENDWININICHANGE := 2 
Return DllCall("SystemParametersInfo", UINT, SPI_SETDESKWALLPAPER, UINT, uiParam, STR, BMPpath, UINT, SPIF_SENDWININICHANGE)
}


Confused hope i helped you out some how..

by the way,, do you have Nvidia or ARI graphics?? as far as i can remembre I was able to do that stuff on my old geforce 4's driver,, for free?
_________________
And i say: where there is a problem , there is a solution.(well some where that is.)
::
I Have Spoken
::
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
TheLeO



Joined: 11 Jun 2005
Posts: 179
Location: England ish

PostPosted: Fri Jan 20, 2006 9:32 pm    Post subject: Reply with quote

Hello again, months have passed and now I have the same problem as you.. i indeed have 2 monitors now and i get the problem of not being able to have 2 wallpapers... a temporary solution is some thing like:

Code:
Imagedir = C:\WINDOWS\Web\Wallpaper\Wallpaper412_2.jpg
SplashImage, %Imagedir%, A B X1281 Y256 ,
WinSet, Bottom,, TryOutScript3.ahk

its properties are : not allways on top, and it has no border, the X### and Y#### have to be adjusted depending on where the monitor is located. ..

this is not a continious sollution,. Sad

by the way, have you had any ideas?
_________________
And i say: where there is a problem , there is a solution.(well some where that is.)
::
I Have Spoken
::
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
ezuk



Joined: 04 Jun 2005
Posts: 129

PostPosted: Fri Jan 20, 2006 10:10 pm    Post subject: Nothing new on this Reply with quote

Nope...

My only idea was to try the SharpE shell environment (I've been using Litestep for the last 5 years) because it supports this feature.

But anyway, I'm going to buy a new computer next month, with two nVidia PCIX cards (each one with two video ports -- i.e, capable of supporting 4 monitors in all). And the nVidia multi-monitor drivers are much better than the ATI ones I currently use, and I understood the allow for this functionality.

So I can only hope that with my new computer this will be solved, just no by using AutoHotkey...
Back to top
View user's profile Send private message
3tones



Joined: 14 Dec 2004
Posts: 45
Location: Minneapolis, MN

PostPosted: Mon Sep 11, 2006 2:22 am    Post subject: Reply with quote

I happened to notice this post... To set a different picture on different monitors, use imaging software to put the two images together at the exact resolution of your two screens. Then set the background to "tile." It may be possible to automate this all with AHK using irfanview or ImageMagick to manipulate the images.
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
majkinetor



Joined: 24 May 2006
Posts: 3652
Location: Belgrade

PostPosted: Mon Sep 11, 2006 8:10 am    Post subject: Reply with quote

very nice solution
_________________
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Ask for Help All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group