Solved

Where's the program dir?

Posted on 1998-01-10
11
233 Views
Last Modified: 2010-04-04
Hi,

   I want to get the program files directory. There doesn't seem to be a getprogramdir or an api command which retrieves this info (similiar to accessing the windows directory). Should this be retrieved somewhere in the registry, or is there an api command I should be using to retrieve this?
              Thanks
0
Comment
Question by:jexd99
  • 4
  • 4
  • 3
11 Comments
 
LVL 5

Accepted Solution

by:
julio011597 earned 50 total points
ID: 1356105
It is in the registry.

I.e., on my WinNT4.0 it is in:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion:ProgramFilesDir
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1356106
Well, you can use GetDir at the moment your program is started.
0
 
LVL 5

Expert Comment

by:julio011597
ID: 1356107
GetDir procedure returns the current directory; i guess jexd99 needs the "ProgramDir" (e.g. C:\Programs).
0
Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 5

Expert Comment

by:ronit051397
ID: 1356108
GetDir is not proper cause, for example, if you activate a shortcut of the program which is stored in another directory, usually in the Desktop directory, then this is the directory you will get and not the correct location of the exe file.So, julio is correct.

0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1356109
Hohoho, just a sugestion, don't shoot me. I julio is right, but what if you're making a program for Win3.11
0
 
LVL 5

Expert Comment

by:julio011597
ID: 1356110
Don't know :) I've never worked in Win3.11.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1356111
Yeah, Win3.11, some customers still use it. Damn difficult to make two versions of your program, win3.11 and 95/NT.
By the way, In the previous comment I meant : I know that julio is right (forgot the KNOW). This for don't getting the wrong idea. See you!
0
 
LVL 5

Expert Comment

by:julio011597
ID: 1356112
I'm not a Windows expert, still guess it's a mess to do this job in Win3.11 because Win3.11 has not the concept of ProgramFilesDir itself; in general, if you plan a Win3.11 program, you should "think" win3.11 in order not to get in troubles.

Anyway, just my opinion.
0
 
LVL 5

Expert Comment

by:ronit051397
ID: 1356113
I think, In Win3.11 you should look in one of the windows ini files,if the program was installed properly.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 1356114
Hi Ronit, correct. But you still have to know the place of that ini file. And who says that the user has installed windows in the windows\ directory?
0
 
LVL 5

Expert Comment

by:ronit051397
ID: 1356115
Then, In 16bit you first call the GetWindowsDir.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

839 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