[C# 윈폼] C# 실행파일(.exe) 바로가기 파일(Link File) 만드는 방법

안녕하세요.

 

오늘은 C# 문법에서 실행파일을 바로가기 파일로 만드는 방법에 대해서 알려 드리려고 합니다.

 

흔히들, Link File 이라고도 하는데요.

 

실제로 C# 에서 어떻게 Link File 을 만드는 지 예제 코드를 통해서 보여 드리도록 하겠습니다.

 

우성 아래와 같이 빈 윈폼 프로젝트를 생성해 주시고, Button 컨트롤 하나를 배치해 주시기 바랍니다.

 

 

빈 윈폼 프로젝트 생성 및 버튼 컨트롤 배치

이제 여기서 위의 Create Link 버튼을 클릭하게 되면, 특정 실행파일을 바로가기 파일로 만들어 보도록 하겠습니다.

 

그전에 우선, 아래 Interop.IWshRuntimeLibrary.dll을 참조해 주셔야 합니다.

 

dll 파일은 제가 첨부파일로 따로 올려 놓도록 하겠습니다.

 

해당 방법은 .NetFramework 4.5 이하에서 사용하는 버전이고, 향후에 .NetFramework 4.8 에서 바로가기 파일 만드는 방법도 포스팅 진행하도록 하겠습니다.

 

그럼 이제 예제 코드를 작성해 보도록 하곘습니다.

 

예제 코드
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using IWshRuntimeLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace LinkFileTestProgram
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
            //Link 파일 생성 버튼 이벤트 선언
            uiBtn_Link.Click += uiBtn_Link_Click;
        }
 
        /// <summary>
        /// 버튼 클릭 이벤트 핸들러
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void uiBtn_Link_Click(object sender, EventArgs e)
        {
            string fileName = string.Empty;
            fileName = @"C:\Users\winforsys\Desktop\DataTableSum.exe";
 
            MessageBox.Show($"생성된 Link 파일 이름은 {GetLinkFile(fileName)} 입니다.");
        }
 
        /// <summary>
        /// 바로가기 Link 파일 생성 메서드
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        private string GetLinkFile(string fileName)
        {
            string lnkName = fileName + ".lnk";
            string workingDirectory = fileName.Substring(0, fileName.LastIndexOf(@"\"));
 
            if(System.IO.File.Exists(lnkName) == false)
            {
                FileInfo linkFile = new FileInfo(lnkName);
 
                WshShell shell = new WshShell();
                IWshShortcut link = (IWshShortcut)shell.CreateShortcut(linkFile.FullName);
 
                link.TargetPath = fileName + ".exe";
                link.WorkingDirectory = workingDirectory;
                link.Save();
            }
 
            return lnkName;
        }
    }
}
 
cs

 

실행 결과

위와 같이 왼쪽의 원본 파일이 있고, 이 원본파일의 바로가기 파일(Link File)이 알맞게 생성된 것을 확인하실 수 있습니다.

 

 

DLL 첨부 파일

Interop.IWshRuntimeLibrary.dll
0.04MB

위의 Interop.IWshRuntimeLibrary.dll 첨부파일로 올려 놓았으니, 위의 dll을 다운로드 받으셔서 해당 예제 코드를 작성해 보도록 하세용ㅎㅎ

 

글 읽어 주셔서 감사합니다.^^

 

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY