System.Win32.SymbolicLink

Copyright 2012 shelarcy
License BSD-style
Maintainer [email protected]
Stability Provisional
Portability Non-portable (Win32 API)
Safe Haskell Safe-Inferred
Language Haskell2010

Description

Handling symbolic link using Win32 API. [Vista of later and desktop app only]

Note: You should worry about UAC (User Account Control) when use this module's function in your application:

  • require to use 'Run As Administrator' to run your application.
  • or modify your application's manifect file to add <requestedExecutionLevel level=requireAdministrator uiAccess=false/>.

type SymbolicLinkFlags = DWORD

c_CreateSymbolicLink :: LPTSTR -> LPTSTR -> SymbolicLinkFlags -> IO BOOL

sYMBOLIC_LINK_FLAG_FILE :: SymbolicLinkFlags

sYMBOLIC_LINK_FLAG_DIRECTORY :: SymbolicLinkFlags

createSymbolicLink

Arguments

:: FilePath

Target file path

-> FilePath

Symbolic link name

-> SymbolicLinkFlags
-> IO ()

createSymbolicLink* functions don't check that file is exist or not.

NOTE: createSymbolicLink* functions are flipped arguments to provide compatiblity for Unix, except createSymbolicLink'.

If you want to create symbolic link by Windows way, use createSymbolicLink' instead.

createSymbolicLinkFile :: FilePath -> FilePath -> IO ()

createSymbolicLinkDirectory :: FilePath -> FilePath -> IO ()

createSymbolicLink'

Arguments

:: FilePath

Symbolic link name

-> FilePath

Target file path

-> SymbolicLinkFlags
-> IO ()

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/Win32-2.6.1.0/System-Win32-SymbolicLink.html