ShellExecute
doob
doobnet at gmail.com
Mon Feb 11 14:10:37 PST 2008
Sergey Gromov wrote:
> Serj Makaroff <serj-makaroff at yandex.ru> wrote:
>> Thank you! It's work.
>>
>> But why ShellExecute() doesn't work and what is the difference between
>> ShellExecuteA() and ShellExecuteW()?
>
> There is no such Windows function like ShellExecute(). There is
> ShellExecuteA() which accepts ASCII (CHAR/CHAR*) parameters and returns
> compatible results, and ShellExecuteW() which accepts Unicode
> (WCHAR/WCHAR*) parameters and returns accordingly. The ShellExecute is
> a macro defined in windows.h for C preprocessor, there is no such symbol
> in the OS. This macro expands to either of the former functions
> depending on whether the _UNICODE macro is defined. This holds true for
> most of Windows API.
>
> This reminds me: why all the standard D headers declare Windows
> functions as
>
> extern(Windows) export void SomeApiFunction() ?
>
> What's the use for export attribute ?
>
From the language specification: "Export means that any code outside
the executable can access the member. Export is analogous to exporting
definitions from a DLL."
Tango doesn't use export with win api functions
More information about the Digitalmars-d-learn
mailing list