How to resolve symbolic links in code?

  • Thread starter Thread starter MueMeister
  • Start date Start date
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 :-)
 
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
 
Back
Top