1. 바탕화면이나 시작-> 프로그램 메뉴에서 마우스 오른쪽 클릭하면
대상이라고 나오잖아요?? 거기서 xxx.exe로 되어있는것을 모두 yyy.exe로 바꾸어야 합니다. 도와주세요...
2.현재 xxx.exe를 대상으로 하는 바탕화면 또는 시작메뉴는 무슨이름으로, 또는 무슨 메뉴에 들어있는지 알수없습니다. 혹은 없을수도 있을테구요.결국 모든 바탕화면과 메뉴를 검색해야한다는 말이죠. 도와주세요~~~ -_-;
3.이케 하는 이유...는 yyy.exe가 기존의 xxx.exe를 내부에서 호출하고 있기때문입니다. ~~~
같은 질문 계속해서 올리지 마세요............
바로가기 제어하는 방법은 강좌란에 자세히 나와 있습니다. 바로가기 파일을 읽어서
IShellLInk의 SetPath메소드를 이용해서 바꾸시면 되구요...
바탕화면과 시작메뉴의 실질적인 패스는 아래와 같이 해서 구하시면 됩니다.
var
Pidl: PItemIDList;
Path: array[0..Max_Path] of Char;
begin
SHGetSpecialFolderLocation(Handle, CSIDL_DESKTOP, Pidl);
SHGetPathFromIDList(Pidl, Path);
// Path = 바탕화면의 패스
SHGetSpecialFolderLocation(Handle, CSIDL_STARTMENU, Pidl);
SHGetPathFromIDList(Pidl, Path);
// Path = 시작메뉴의 패스
end;
바로가기 파일의 확장자는 .lnk입니다. FindFirst, FindNext, FindClose함수를 사용하
시면 되구요. 시작메뉴 같은 경운 재귀호출알고리즘을 사용하시면 전체 리스트를 구하
실수 있을겁니다.
^^ 항상 즐코하세요.
헬프미 wrote:
> 1. 바탕화면이나 시작-> 프로그램 메뉴에서 마우스 오른쪽 클릭하면
> 대상이라고 나오잖아요?? 거기서 xxx.exe로 되어있는것을 모두 yyy.exe로 바꾸어야 합니다. 도와주세요...
>
> 2.현재 xxx.exe를 대상으로 하는 바탕화면 또는 시작메뉴는 무슨이름으로, 또는 무슨 메뉴에 들어있는지 알수없습니다. 혹은 없을수도 있을테구요.결국 모든 바탕화면과 메뉴를 검색해야한다는 말이죠. 도와주세요~~~ -_-;
>
> 3.이케 하는 이유...는 yyy.exe가 기존의 xxx.exe를 내부에서 호출하고 있기때문입니다. ~~~