Q&A

  • 제발 좀 가르쳐주세요. 바탕화면의 아이콘 이름 바꾸는 방법을...
프로그램으로 아이콘을 생성하는 소스를 구해서 코딩을 해보니 잘만들어 지더군요

그런데..

아이콘이름은 소스에서 지정한대로 되지가 않더군요

Params.Description = '내가 만든 아이콘';

....

Param.SetDescription(PChar(Params.Description));이 지정하는것 아닌가요?

그런데.. 왜 실행파일 이름이 바탕화면에 계속 뜨는지..



그리고 프로그램에서 코딩으로 바탕화면의 아이콘의 이름을 바꾸려면 어떻게 해야 하나요?



고수님들 좀 가르쳐주세요.. 제발 흑흑

5  COMMENTS
  • Profile
    최용일 2001.08.27 22:43
    안녕하세요. 최용일입니다.



    바로가기도 하나의 파일입니다. 확장자는 .lnk이고 기본적으로 숨김형식으로 보이지 않게 되어



    있을뿐입니다.



    이름만 바꿀거면 아래 지락.... 님이 말씀하신대로 그냥 파일이름만 바꾸어주시면 간단하게 됩니다.



    IShellLink.SetDescription메소드는 바로가기 아이콘의 이름을 지정하는것이 아니고, 등록정보



    대화상자를 띄웠을때 아래쪽에 나타나는 "설명"이라는 에디트에 들어가는 글입니다. 아이콘의 이름



    하고는 상관이 없습니다.



    IShellLink를 이용하실거면 IShellLink로 바로가기 아이콘을 불러와서 IPersistFile를 이용해서 다른



    이름으로 다시 저장만 해주시면 됩니다.



    uses

    ......, ShellObj, ActiveX, ComObj;

    const

    IconSourceName = 'C:Documents and Settings최용일바탕 화면내프로그램.lnk';

    IconDestName = 'C:Documents and Settings최용일바탕 화면내프로그램 두번째.lnk';

    var

    ShellLink: IShellLink;

    PersistFile: IPersistFile;

    begin

    CoInitialize(nil);

    CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER,

    IID_IShellLinkA, ShellLink);

    PersistFile := ShellLink as IPersistFile;

    if PersistFile.Load(IconSourceName, STGM_READWRITE) = S_OK then

    begin

    DeleteFile(IconSourceName);

    PersistFile.Save(IconDestName, True);

    end;

    CoUninitialize;

    end;



    ^^ 항상 즐코하세요...

    델초보 wrote:

    > 프로그램으로 아이콘을 생성하는 소스를 구해서 코딩을 해보니 잘만들어 지더군요

    > 그런데..

    > 아이콘이름은 소스에서 지정한대로 되지가 않더군요

    > Params.Description = '내가 만든 아이콘';

    > ....

    > Param.SetDescription(PChar(Params.Description));이 지정하는것 아닌가요?

    > 그런데.. 왜 실행파일 이름이 바탕화면에 계속 뜨는지..

    >

    > 그리고 프로그램에서 코딩으로 바탕화면의 아이콘의 이름을 바꾸려면 어떻게 해야 하나요?

    >

    > 고수님들 좀 가르쳐주세요.. 제발 흑흑

  • Profile
    지락................ 2001.08.27 21:36
    델초보 wrote:

    > 프로그램으로 아이콘을 생성하는 소스를 구해서 코딩을 해보니 잘만들어 지더군요

    > 그런데..

    > 아이콘이름은 소스에서 지정한대로 되지가 않더군요

    > Params.Description = '내가 만든 아이콘';

    > ....

    > Param.SetDescription(PChar(Params.Description));이 지정하는것 아닌가요?

    > 그런데.. 왜 실행파일 이름이 바탕화면에 계속 뜨는지..

    >

    > 그리고 프로그램에서 코딩으로 바탕화면의 아이콘의 이름을 바꾸려면 어떻게 해야 하나요?

    >

    > 고수님들 좀 가르쳐주세요.. 제발 흑흑



    "C:WINDOWS바탕 화면"폴더에있는 파일이름을 바꾸면 바탕화면의 아이콘이름을

    바꾼효과하고 똑같지 않을까요?



  • Profile
    델초보 2001.08.27 22:02
    감사합니다. 지락님!

    근데요..

    아이콘 생성할 때 벌써 이름을 지정하할 수 있는게 있는데...

    그건 왜 안되는지요?...



    그리고

    다시 c:windows바탕화면의 파일이음은 어떻게 바꾸나요?

    워낙 초보라서

    아시면 소스좀 기르쳐 주시겠습니까?



  • Profile
    지락................ 2001.08.27 22:37
    델초보 wrote:

    > 감사합니다. 지락님!

    > 근데요..

    > 아이콘 생성할 때 벌써 이름을 지정하할 수 있는게 있는데...

    > 그건 왜 안되는지요?...

    >

    > 그리고

    > 다시 c:windows바탕화면의 파일이음은 어떻게 바꾸나요?

    > 워낙 초보라서

    > 아시면 소스좀 기르쳐 주시겠습니까?

    >



    파일 rename하는 함수입니다.

    "RenameFile('C:WINDOWS바탕 화면Delphi 5 .lnk','C:WINDOWS바탕 화면델파이5 .lnk');

  • Profile
    델초보 2001.08.27 22:56
    지락.................. wrote:

    > 델초보 wrote:

    > > 감사합니다. 지락님!

    > > 근데요..

    > > 아이콘 생성할 때 벌써 이름을 지정하할 수 있는게 있는데...

    > > 그건 왜 안되는지요?...

    > >

    > > 그리고

    > > 다시 c:windows바탕화면의 파일이음은 어떻게 바꾸나요?

    > > 워낙 초보라서

    > > 아시면 소스좀 기르쳐 주시겠습니까?

    > >

    >

    > 파일 rename하는 함수입니다.

    > "RenameFile('C:WINDOWS바탕 화면Delphi 5 .lnk','C:WINDOWS바탕 화면델파이5 .lnk');