Link to home
Start Free TrialLog in
Avatar of vpcnc
vpcnc

asked on

Push the Screen Size and Task bar Height to another running process.

Hi, I have an Older Application that Docs a Popup Window to the Top of the Task bar, It also Sizes the Height of the Window to use all of the Available Screen Height.

It is sort of like the Start Menu of Windows XP - Windows 7

When it was designed, the Screen Sizes were 640 x 480, and it worked on that size..

Now On a 1600 x 1200 screen,  it's all out of proportion.

What I'd Like to be able to Do, is make this app think the Task bar is HIGHER than it really is.
And Also Make it think the Screen Height is Less than it really is.

That way I could control Where it Docs to : the Virtual Task bar height.
And how Tall it becomes : Virtual Screen Height.

I don't have the Source for the Old App, as I did not Develop it.
But I'm sure it's making some call to the OS to Get the Task bar Height and Screen size.

So is there a way to :
1.) find out what API is being Called by this process to Get the Task bar Height, and Screen dimensions.
2.) Intercept the Call and Push Virtual numbers back instead of the Actual values.

In other words, I want to Trick the already running process into thinking the Screen and Task Bar are different from what they Really are..
Avatar of Qlemo
Qlemo
Flag of Germany image

In theory, if you find out which API/DLL is used, you can inject a wrapper DLL with a proxy call doing whatever you like. But that requires you to see the calls, as you already stated, then hack them, etc. pp. Heavy stuff.

I assume setting the window size after starting wouldn't be an option?
Avatar of vpcnc
vpcnc

ASKER

@Qlemo
"I assume setting the window size after starting wouldn't be an option?"

No, I don't want to re-size my Screen.
Only be able to re-size the app.  
and the only way I can think to do it, is to be able to Push it virtual screen info..

I'm just not sure HOW to go about it..  
The Theory is the easy part, The actual implementation and coding, that's the hard part.
Note that I used a lower-letter "window" ;-), and that should be the "window of the application". The question is whether you have no other choice than to fake API calls, or if a resize after starting the application would work (which is much easier).
Avatar of vpcnc

ASKER

Ahh, Sorry mis-understood your post.
It's not resizable or Movable. If it was, I don't think I'd be asking this question.
It's a difference between seeing the option to resize and being able to resize.
Look at www.commandline.co.uk/cmdow/, which allows to control other windows. If that does not work, than you'll have to go the API way, to change the reported desktop size,

IIRC there are "sandboxing" apps, which are able to fake a different resolution for the application they are started with. Cannot find any at the moment ...
Avatar of vpcnc

ASKER

Maybe your Missing the Point here:

1.) find out what API is being Called by this process to Get the Task bar Height, and Screen dimensions.
2.) Intercept the Call and Push Virtual numbers back instead of the Actual values.


I'd like to Know How to Find what API is Being Called...
and How to Catch it, and report back my own Values Instead.
ASKER CERTIFIED SOLUTION
Avatar of Qlemo
Qlemo
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of vpcnc

ASKER

Never Mind...
I used Process Monitor from sysinternals
and resHack to Alter the Apps default values.

But it would have been nice to have had someone actually answer the question as it was presented.
Instead of offering - Workaround / alternatives.

While I had a specific app and task  in mind, I was also curious to know,
how to capture the Apps api call

Perhaps that information could have proved useful for some other task.
Pardon? Did you read http:#a39725457 which offers a way to monitor API calls, as requested?

And it is common practise for the Experts to try to get Askers to open their mind to a different approach, because they often do not know better.
Avatar of vpcnc

ASKER

I've requested that this question be closed as follows:

Accepted answer: 0 points for vpcnc's comment #a39736996

for the following reason:

While it Didn't answer the question I posed, It was the Solution to the Immediate Application I had Posed the Question About.
The Posts and Input from the Other Expert who contributed to the thread,  While It provided links to Tools to Monitor activity to the API, it didn't directly answer or provide examples of How to do what was asked.

As I have solved my own question,  I'd just as well Skip the Grading assignment, but One of the choices has to be selected.
Avatar of vpcnc

ASKER

Thank you for your Input and Assistance.