How to resolve symbolic links in code?

M

MueMeister

Hi there,

Short question: How can I resolve the real path of a destination
including sympoic links?

Scenario:
1.) I install an application under C:\Prgogramma\myapp where
c:\Programma is not a physical path. The shortcut created on the
desktop also contains this *pseudo* path.

2.) Now if I want to us ::LoadLibrary() with
"C:\Programma\myApp\mylib.dll" the call fails because it really tries
to load the DLL on this path (which does not exist). Same issue for
GetModuleFileName().

Do I have to 'translate' the path into a physical one via another
function first?
Any ideas?
TIA
Mue :)
 
G

Guest

Hello,

Are you referring to symbolic links or shell shortcuts? If you mean shell
shortcuts, you will need to use the shell API to dereference them:

http://msdn.microsoft.com/library/d.../shell_int_programming/shortcuts/shortcut.asp

If you actually mean symbolic links and junctions, they are decoded for you
automatically by the operating system, and you don't have to do anything
special in your program to work with them - they look and feel to your
program as if they were normal folders.

Here is more information on symbolic links / junctions:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/symbolic_links.asp

http://msdn.microsoft.com/library/d.../en-us/fileio/fs/hard_links_and_junctions.asp
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top