Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Using Windows calculator

Posted on 2002-05-05
8
Medium Priority
?
198 Views
Last Modified: 2010-04-04
Hi there,

To use the calculator from Windows, I use the following line:

ShellExecute(0,nil,pchar('C:\WINDOWS\CALC.EXE'),nil,nil,sw_shownormal);

This is working fine...

Now I have the following question: Before I execute this calculator I want to check if there is already an instance active. And if there is already a calculator active then I would like to set the focus on that one. In other words: not opening a new instance anymore. If minimized then (of course) I would like to maximize before setting the focus on the calculator.

Please provide me with a complete example.

Thank you very much!

RoosieDB
0
Comment
Question by:roosiedb
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 8

Accepted Solution

by:
Cesario earned 100 total points
ID: 6990574
Hi RoosieDb,

procedure TForm1.Button1Click(Sender: TObject);
VAR
  hCalc : THandle;
begin
  // In Germany is the Caption of Calculator Window is "Rechner" so
  // you have to change it to Calculator
  HCalc := FindWindow ( NIL,'Rechner');
  IF HCalc <> 0 Then
  Begin
    Windows.SetForegroundWindow (hCalc);
    Windows.ShowWindow (hCalc,sw_normal);
  End
  Else ShellExecute(Handle,'OPEN','C:\Windows\CALC.EXE',nil,nil,sw_shownormal);
end;


Good Luck

Cesario
0
 
LVL 17

Expert Comment

by:inthe
ID: 6990588
or use classname instead of caption as this should be same for all languages:

HCalc := FindWindow( SciCalc,nil);

0
 
LVL 8

Expert Comment

by:Cesario
ID: 6990589
inthe, did you recieved any mail Notifications form ExEx last 3 days?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 17

Expert Comment

by:inthe
ID: 6990717
hi Cesario,
was just wondering same thing myself.
well i guess Crazyone answered us :)
0
 

Author Comment

by:roosiedb
ID: 7065411
Hi Cesario,

Your solution is working fine, however, I would like to implement your example in my application without changing it everytime when my users are using different languages.

So, if you can send me a solution to solve that issue I would be very happy. But it's not required, because this is already working for me.

Your colleague wrote something like HCalc := FindWindow(SciCalc,nil), but this is not working (error message).

Thank you anyway.
RoosieDB
0
 
LVL 8

Expert Comment

by:Cesario
ID: 7066751
Hi RossieDB,

I will try to find a solution today....

Best Regrads

Cesario
0
 

Author Comment

by:roosiedb
ID: 7067135
Hi Cesario,

I would be very grateful...
:-)

In other words: Danke sehr !!

RoosieDB
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Loops Section Overview
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

571 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