Solved

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

Posted on 2013-12-17
11
440 Views
Last Modified: 2013-12-27
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..
0
Comment
Question by:vpcnc
  • 6
  • 5
11 Comments
 
LVL 68

Expert Comment

by:Qlemo
ID: 39724267
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?
0
 
LVL 1

Author Comment

by:vpcnc
ID: 39724353
@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.
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 39724475
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).
0
 
LVL 1

Author Comment

by:vpcnc
ID: 39724808
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.
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 39725227
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 ...
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 1

Author Comment

by:vpcnc
ID: 39725418
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.
0
 
LVL 68

Accepted Solution

by:
Qlemo earned 500 total points
ID: 39725457
And I'm trying to offer alternatives for doing that, because setting the size directly is much easier - if it works.

The API Monitor from www.rohitab.com/apimonitor¿ can help with the first part. Dependency Walker from http://www.dependencywalker.com/ displays the loaded and requested DLLs, and allows for DLL load profiling.
0
 
LVL 1

Author Comment

by:vpcnc
ID: 39736996
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.
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 39737048
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.
0
 
LVL 1

Author Comment

by:vpcnc
ID: 39742560
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.
0
 
LVL 1

Author Closing Comment

by:vpcnc
ID: 39742561
Thank you for your Input and Assistance.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
This Micro Tutorial will give you basic overview of the control panel section on Windows 7. It will depth in Network and Internet, Hardware and Sound, etc. This will be demonstrated using Windows 7 operating system.
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now