How do i find the start menu path?

Martin Fuchs martin-fuchs at gmx.net
Wed Oct 29 11:04:32 CST 2003


Hello Robert,

> I have a question for my start menu generator, that is almost finished 
> now...
> 
> How do I find the path of the wine start menu? (for me it's 
> ~/c/windows/Start Menu, but for someone else it does not have to be like 
> that...)
> 
> Any help here?


Ypu should use the function
SHGetSpecialFolderPath():

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetspecialfolderpath.asp

Using CSIDL_STARTMENU and CSIDL_COMMON_STARTMENU you get the root path of
the user's respective the common start menu:


#include <stdio.h>
#include <windows.h>
#include <shlobj.h>


void process_startmenu(LPCTSTR path)
{

	// process start menu entries

}


int main(int argc, char* argv[])
{
	TCHAR path[1024];

	if (SHGetSpecialFolderPath(0, path, CSIDL_STARTMENU, FALSE)) {
		printf("user start menu root: %s\n", path);

		process_startmenu(path);
	}

	if (SHGetSpecialFolderPath(0, path, CSIDL_COMMON_STARTMENU, FALSE)) {
		printf("common start menu root: %s\n", path);

		process_startmenu(path);
	}

	return 0;
}


-- 
Martin Fuchs
martin-fuchs at gmx.net

NEU FÜR ALLE - GMX MediaCenter - für Fotos, Musik, Dateien...
Fotoalbum, File Sharing, MMS, Multimedia-Gruß, GMX FotoService

Jetzt kostenlos anmelden unter http://www.gmx.net

+++ GMX - die erste Adresse für Mail, Message, More! +++




More information about the wine-devel mailing list