본문 바로가기
프로그래밍 언어/C#

[C#] 바로가기 생성 방법

by Jinwood 2020. 7. 30.
반응형

 

 

소프트웨어를 설치하면서 바탕화면에 바로가기 생성 옵션을 체크하면 바탕화면에 바로가기가 생성된다. C#에서 코드를 통해 특정 파일의 바로가기를 생성하는 방법은 생각보다 간단하다. 바로가기는 꼭 .exe 확장명을 가지는 실행 파일이 아니더라도 가능하다. 

 

바로가기를 생성하기 위해서 가장 먼저 해야할 것은 참조 추가이다. 참조 추가를 통해 표시되는 참조 관리자에서 COM - windows로 검색하면 관련 목록들이 표시된다. 여기서 'Windows Script Host Object Model'을 추가한다.

 

 

참조 추가를 완료한 뒤에 지시문에 'IWshRuntimeLibrary' 네임스페이스를 추가한다. 이후 바로가기 생성을 위한 코드를 작성하는데, 크게 세가지로 분류된다.

 

1. 바로가기 링크를 생성

2. WshShell을 통해서 바로가기를 생성

3. 원본 파일의 위치를 정의

 

아래 코드를 살펴보면 바탕화면 디렉터리에 'Test 바로가기.lnk' 가 생성될 수 있도록 경로를 지정한 뒤 해당 위치에 바로가기가 존재하는지 확인하여 바로가기 존재 시 return 한다. 바로가기가 없는 경우에는 WshShell을 이용해서 바로가기를 설정하고, 원본 파일의 경로를 설정해준다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using IWshRuntimeLibrary;
 
static void Main(string[] args)
{
    // 바로가기 경로 설정
    string Desktop_Dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
    DirectoryInfo DirInfo = new DirectoryInfo(Desktop_Dir);
    string LinkFileName = Desktop_Dir.ToString() + @"\Test 바로가기.lnk";
    FileInfo LinkFile = new FileInfo(LinkFileName);
 
    // 이미 존재하는 경우 return
    if (LinkFile.Exists)
    { return; }
 
    try
    {
        // 바로가기 생성
        WshShell wsh = new WshShell();
        IWshShortcut Link = wsh.CreateShortcut(LinkFile.FullName);
        
        // 원본 파일의 경로 
        StringBuilder SB = new StringBuilder();
        SB.Append(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
        SB.Append(@"\Test.txt");
        Link.TargetPath = SB.ToString();
        Link.Save();
    }
    catch
    {
 
    }
}
cs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글