November 21, 2004
Ant wrote:

> maybe there is a registry value with them Start\Programs,
> there is no environment var (on my system) that contains the value.
> 
> Ant

I think there might be a function giving the correct (localized) name.

Lars Ivar Igesund
November 21, 2004
ADDING THE "-g" flag to the dmd command line will make it work!
(should we blame dmd for this?)

unfortunatly dantCompile doesn't respect the check box for "-g"

these work (lines are chopped - must be rebuild):
########### simpleGL
executing (from C:\dantfw\duiD\src)
\DD\dmd\bin\dmd.exe  -od..\obj -op -c -g -I\dantfw\doolD\src;\dantfw\duiD\src simpleGL\SimpleGL.d

executing (from C:\dantfw\duiD\obj)
\DD\dm\bin\link.exe simpleGL\SimpleGL.obj , C:\dantfw\duiD\simpleGL.exe,, dool+dui+duigl+phobos+libatk-1+libgdk-win32-2+
libglib-2+libgmodule-2+libgobject-2+libgthread-2+libgtk-win32-2+libpango-1+libgdk_pixbuf-2+libgdkglext-win32-1+libgtkgle
xt-win32-1+opengl32+glu32+\DD\dmd\lib\+\dantfw\+\DD\dmd\lib\+\dantfw\GTK\lib\+C:\WINNT\system32\ /DELEXECUTABLE /NODET /
NOI

#################### testGL
executing (from C:\dantfw\duiD\src)
\DD\dmd\bin\dmd.exe  -od..\obj -op -c -g -I\dantfw\doolD\src;\dantfw\duiD\src testGL\TestGL.d openGL\TrackBall.d

executing (from C:\dantfw\duiD\obj)
\DD\dm\bin\link.exe testGL\TestGL.obj openGL\TrackBall.obj , C:\dantfw\duiD\DUITestGL.exe,, dool+dui+duigl+phobos+libatk
-1+libgdk-win32-2+libglib-2+libgmodule-2+libgobject-2+libgthread-2+libgtk-win32-2+libpango-1+libgdk_pixbuf-2+libgdkglext
-win32-1+libgtkglext-win32-1+opengl32+glu32+\DD\dmd\lib\+\dantfw\+\DD\dmd\lib\+\dantfw\GTK\lib\+C:\WINNT\system32\ /DELEXECUTABLE /NODET /NOI

######################
these where generated by the dool compile utility
"comd -exe simpleGL -src simpleGL -obj obj"
"comd -exe DUITestGL -src testGL;openGL -obj obj"
the dantCompile uses "comd" to compile.

To compile the "comd" comand line interface goto
C:\dantfw\doolD\src\compiler (or equivalent)
and run the install.bat

Ant
November 21, 2004
Ant wrote:
> ADDING THE "-g" flag to the dmd command line will make it work!
> (should we blame dmd for this?)


Hmm... tested, works indeed... Fails if "-gt" is specified... /me says "blame dmd :D". Thanks for the quick-hack :) !
November 21, 2004
Valéry Croizier wrote:
> I just installed DUI on XP.
> Hello.exe works fine, but

I think I found this problem,
I just uploaded a corrected Installer.exe.
please replace the one from the ZIP file and try again.

I also uploaded a version of dantCompile.exe that
passes the flags to the DMD compiler.

http://sourceforge.net/project/showfiles.php?group_id=97723&package_id=136197

#######################

the problem is on dool.io.Path where the parent directory of
any path already on the root is returned as empty instead of "\".

this problem might also exist on phobos.std.path (or is it phobos.std.file?)
I'll check it later.

Ant
November 21, 2004
On Sat, 20 Nov 2004 22:52:37 -0500, Ant <duitoolkit@yahoo.ca> wrote:
> Valéry Croizier wrote:
>
>> - there is nothing in Start\Program (by the way, the name of this menu is
>> different in XP French edition :o)
>
> that's nothing:
> the swidish version of excel has the FUNCTION names in swidish!
>
> maybe there is a registry value with them Start\Programs,
> there is no environment var (on my system) that contains the value.

What does the USERPROFILE env var contain?

On my system it's the directory in which the 'Start Menu' directory resides.

Regan

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
November 21, 2004
Regan Heath wrote:
> On Sat, 20 Nov 2004 22:52:37 -0500, Ant <duitoolkit@yahoo.ca> wrote:
> 
>> Valéry Croizier wrote:
>>
>>> - there is nothing in Start\Program (by the way, the name of this menu is
>>> different in XP French edition :o)
>>
>>
>> that's nothing:
>> the swidish version of excel has the FUNCTION names in swidish!
>>
>> maybe there is a registry value with them Start\Programs,
>> there is no environment var (on my system) that contains the value.
> 
> 
> What does the USERPROFILE env var contain?
> 
> On my system it's the directory in which the 'Start Menu' directory resides.

yes, true, but the problem is the name of the "Start Menu" directory itself.

Ant
November 21, 2004
On Sun, 21 Nov 2004 16:34:58 -0500, Ant <duitoolkit@yahoo.ca> wrote:
> Regan Heath wrote:
>> On Sat, 20 Nov 2004 22:52:37 -0500, Ant <duitoolkit@yahoo.ca> wrote:
>>
>>> Valéry Croizier wrote:
>>>
>>>> - there is nothing in Start\Program (by the way, the name of this menu is
>>>> different in XP French edition :o)
>>>
>>>
>>> that's nothing:
>>> the swidish version of excel has the FUNCTION names in swidish!
>>>
>>> maybe there is a registry value with them Start\Programs,
>>> there is no environment var (on my system) that contains the value.
>>
>>
>> What does the USERPROFILE env var contain?
>>
>> On my system it's the directory in which the 'Start Menu' directory resides.
>
> yes, true, but the problem is the name of the "Start Menu" directory itself.

What about "SHGetSpecialFolderLocation" in shell32.dll/.lib

http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shgetspecialfolderlocation.asp

Regan

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
November 21, 2004
On Mon, 22 Nov 2004 10:54:58 +1300, Regan Heath wrote:

> On Sun, 21 Nov 2004 16:34:58 -0500, Ant <duitoolkit@yahoo.ca> wrote:
>> Regan Heath wrote:
>>> On Sat, 20 Nov 2004 22:52:37 -0500, Ant <duitoolkit@yahoo.ca> wrote:
>>>
>>>> Valéry Croizier wrote:
>>>>
>>>>> - there is nothing in Start\Program (by the way, the name of this
>>>>> menu is
>>>>> different in XP French edition :o)
> 
> What about "SHGetSpecialFolderLocation" in shell32.dll/.lib
> 
> http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shgetspecialfolderlocation.asp
> 

thank you, seems that's what I didn't know.

looking at the manuals I can see that I'll be able to do it in less the 3 years.

// Syntax
HRESULT SHGetSpecialFolderLocation(
    HWND hwndOwner,
    int nFolder,
    LPITEMIDLIST *ppidl
);

// what the hell is that!...

So non english DUI users I need help...

Ant

November 21, 2004
On Sun, 21 Nov 2004 17:05:08 -0500, Ant <duitoolkit@yahoo.ca> wrote:
> On Mon, 22 Nov 2004 10:54:58 +1300, Regan Heath wrote:
>
>> On Sun, 21 Nov 2004 16:34:58 -0500, Ant <duitoolkit@yahoo.ca> wrote:
>>> Regan Heath wrote:
>>>> On Sat, 20 Nov 2004 22:52:37 -0500, Ant <duitoolkit@yahoo.ca> wrote:
>>>>
>>>>> Valéry Croizier wrote:
>>>>>
>>>>>> - there is nothing in Start\Program (by the way, the name of this
>>>>>> menu is
>>>>>> different in XP French edition :o)
>>
>> What about "SHGetSpecialFolderLocation" in shell32.dll/.lib
>>
>> http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shgetspecialfolderlocation.asp
>>
>
> thank you, seems that's what I didn't know.
>
> looking at the manuals I can see that I'll be able to do it
> in less the 3 years.
>
> // Syntax
> HRESULT SHGetSpecialFolderLocation(
>     HWND hwndOwner,
>     int nFolder,
>     LPITEMIDLIST *ppidl
> );
>
> // what the hell is that!...
>
> So non english DUI users I need help...

Here is an example I whipped up quickly.

--[getfolder.cpp]--

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

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#ifndef FALSE
#define FALSE 0
#endif

#ifndef TRUE
#define TRUE !FALSE
#endif

#define getStartMenu(p) getSpecialFolder(CSIDL_STARTMENU,p)
#define getPrograms(p) getSpecialFolder(CSIDL_PROGRAMS,p)
#define getDesktop(p) getSpecialFolder(CSIDL_DESKTOP,p)

void shFree(void *block)
{
	LPMALLOC pMalloc;

	if (SHGetMalloc(&pMalloc) != S_OK) return ;
	pMalloc->Free(block);
	pMalloc->Release();
}

int getSpecialFolder(int nFolder, char *path)
{
	LPITEMIDLIST pidl;

	if (!path) return FALSE;
	if (SHGetSpecialFolderLocation(NULL, nFolder, &pidl) != S_OK) return FALSE;
	if (!SHGetPathFromIDList(pidl, path)) {
		shFree(pidl);
		return FALSE;
	}
	shFree(pidl);
	return TRUE;
}

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

	CoInitialize(NULL);

	if (!getStartMenu(path)) printf("Failed: %d\n",GetLastError());
	else printf("%s\n",path);

	if (!getPrograms(path)) printf("Failed: %d\n",GetLastError());
	else printf("%s\n",path);

	if (!getDesktop(path)) printf("Failed: %d\n",GetLastError());
	else printf("%s\n",path);

	return 0;
}

Regan

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
November 21, 2004
I've also found this article on it.. it goes on to show how to create a link in the start menu as well..

  http://www.codeguru.com/Cpp/W-P/files/shellapifunctions/article.php/c7209/

Regan