Solved

Add to Startmenü

Posted on 2000-03-19
4
194 Views
Last Modified: 2010-04-04
How can i get the Startmenü - Programm Folder ?
This way works on an Englisch version of WinNt but on a German version the folder should look like Startmenü\Programme

Directory := MyReg.ReadString('Shell Folders','Start Menu','')+'\Programs\YourProgram'

How can i detect the language of the running Windows version ?
0
Comment
Question by:snoopy_Spy
4 Comments
 
LVL 1

Expert Comment

by:yk030299
ID: 2634790
GetLocaleInfo
0
 
LVL 7

Accepted Solution

by:
ahalya earned 25 total points
ID: 2634928
You can use the "SHGetSpecialFolderLocation" function.  This doesn't help you find out the language of the Windows version, but it gives you the folder location.


uses ShellAPI, ShlObj;

function GetProgramFilesDir:string;

var Path : pchar;
    i : integer;
    ppidl: PItemIDList;

begin;
Result := '';
SHGetSpecialFolderLocation(handle, CSIDL_PROGRAMS, ppidl);

Path := StrAlloc(MAX_PATH);
if SHGetPathFromIDList(PPIDL, Path) then
 Result := string(Path);
StrDispose(Path);

end;
0
 
LVL 2

Expert Comment

by:craig_capel
ID: 2636356
Put a ddeclientconv onto your form and fill out the two propterites...
//ddeclientconv1.ddeservice:='progman';
//ddeclientconv1.ddetopic:='progman';      <<Manually put these in
 
Stick a listbox onto the screen and then put this code in a button or something.... that will return the information your after

var
p: pchar;
begin
 p:=ddeclientconv1.requestdata('Groups');
 listbox1.items.settext(p);
 strdispose(p);


if you want to add to the start menu folders do this....

 with ddeclientconv1 do
  begin
requestdata('Groups');
{   p:=ddeclientconv1.requestdata(items[itemindex]);
   listbox2.items.settext(p); }
      ExecuteMacro('[CreateGroup(Your New Start Group Folder)]',true);
      executemacro('[Showgroup(Your New Start Group Folder,3)]',true);
  end;


And i hope that helps

Craig C.
0
 

Author Comment

by:snoopy_Spy
ID: 2636741
Thanks
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering 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

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

790 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