본문 바로가기
백엔드/C#

바탕화면에 바로가기 갈아끼우기

by 1005ptr 2021. 2. 17.
반응형

2021/02/17 - [CS 프로그램/C#] - 바탕화면에 실행파일 바로가기 만들기

 

바탕화면에 실행파일 바로가기 만들기

https://hvyair.tistory.com/43 [C#] 바로가기 생성 방법 소프트웨어를 설치하면서 바탕화면에 바로가기 생성 옵션을 체크하면 바탕화면에 바로가기가 생성된다. C#에서 코드를 통해 특정 파일의 바로가

qodbtn.tistory.com

이전 글에서 바탕화면에 바로가기 만드는 법은 알았는데

지금 프로그램은 자동 업데이트 기능이 있어서 실행 파일이 변경이 될 수 있다.

실행파일이 갈아끼워지면 바로가기가 깨진다.

단순히 경로에 같은 이름의 파일이 있으면 되는게 아니라 뭔가 실제 파일과 연결이 있는 것 같다.

그래서 바로가기를 갈아끼워야된다.

private void ReplaceShortCut()
{
  try
  {
    // 바로가기 경로 설정
    string Desktop_Dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
    DirectoryInfo DirInfo = new DirectoryInfo(Desktop_Dir);
    string LinkFileName = Desktop_Dir.ToString() + @"\[바로가기명].lnk";
    FileInfo LinkFile = new FileInfo(LinkFileName);

    // 이미 존재하는 경우 삭제
    if (LinkFile.Exists)
    {
    	LinkFile.Delete();
    }

    // 바로가기 생성
    IWshRuntimeLibrary.WshShell wsh = new IWshRuntimeLibrary.WshShell();
    IWshRuntimeLibrary.IWshShortcut Link = wsh.CreateShortcut(LinkFile.FullName);

    // 원본 파일의 경로 
    StringBuilder SB = new StringBuilder();
    DirectoryInfo dirInfo = new DirectoryInfo(@"./");
    SB.Append(dirInfo.FullName);
    SB.Append(@"\[실행파일명].exe");
    Link.TargetPath = SB.ToString();
    Link.Save();
  }
  catch(Exception ex)
  {

  }
}
반응형

'백엔드 > C#' 카테고리의 다른 글

DateTimeOffset 타입  (0) 2021.03.04
TabIndex 속성 다루기  (0) 2021.03.04
바탕화면에 실행파일 바로가기 만들기  (0) 2021.02.17
Assembly.Load 시 FileNotFoundException 발생  (0) 2021.01.04
System.BadImageFormatException  (0) 2020.12.30

댓글