|
목록에서 글자 제한 23이였음 ?>
질문게시판 - 반드시 검색을 하신 후 원하는 답변을 찾을 수 없을 때, 질문을 올려주세요. |
| Posted by qkrwhdgns | 2005-11-26 07:53:44, Hit : 3539 | |
|
|
|
켁.. 요즘 웹에디터를 만들어야 할 때인데
갑자기 느닷없이 설치메이커(인스톨펙토리,InnoSetup,NSIS 등..)를 만든다
치고 이렇게 놀고 있습니다.;; 소스자료실에서 설치메이커 소스들을 보완해가면서
만들고 있는데.. 바로가기는 어떻게 만들지;; 메모장에서
C:\의 바로가기를 열어서 복사해서, 새로만들기로 붙여넣기 하여 .INK파일로
저장하니 올바른 바로가기가 아닙니다. 라고 거부증상을;;
검색을 해보니.. (구글..)
Option Explicit
Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal _
lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal _
lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long
Sub Command1_Click()
Dim lRet As Long
'바탕화면
lRet = fCreateShellLink("..\..\바탕 화면", "메모장", "c:\windows\notepad.exe", "")
'프로그램 메뉴그룹
lRet = fCreateShellLink("", "메모장", "c:\windows\notepad.exe", "")
'시작프로그램에
lRet = fCreateShellLink("\시작프로그램", "메모장", "c:\windows\notepad.exe", "")
End Sub
| 가 있는데.. (VB소스).. 창조선언변환기(지상현님.)로 변환을 하니..
실수함수:fCreateShellLink(문자:lpstrFolderName, lpstrLinkName, lpstrLinkPath, lpstrLinkArgs); 게 나오네요.. 그리고 DLL파일은 STKIT432.DLL 고요..
그런데 STKIT432.DLL파일이 없어서 DLL 검색기(지상현님.)로 검색을 하니..
STKIT432.DLL가 안나온 대신, 꿩대신 닭이라고.. vb6stkit.dll를 다운받아서 했거든요..
vb6stkit.dll파일에도 fCreateShellLink함수가 있어서요.. 그런데 안되네요;;;
## vb6stkit.dll 파일이 시스템폴더에도 있습니다.
제가 만들어 쓴 소스는..
사용자함수0.fCreateShellLink("C:\windows\바탕 화면","메모장","C:\windows\Notepad.exe",""); 입니다. |
|
|
지상현 2005-11-26 AM 10:40:36 |
|
|
|
바로가기 만들기가 은근히 어려운 문제지요.
저 건 VB의 패키지 및 배포 마법사에 패킹되는 설치 프로그램에서 사용하는 건데요...
제가 아는 방법으로는 쉘 개체를 만들어서 바로 가기를 만드는 가장 온전한 방법이 있으나 이건 COM 이므로 창조에서는 불가능이라고 해도 좋을 듯 -_-
또는 SHAddDocToRecent 였나 하는, 최근 열어본 파일 목록에 바로가기를 추가해서 바로 가기를 옮기는 엽기적인 방법도 있고 그렇습니다.
저는 lnk 파일을 분석해서 직접 만드는 방법을 살펴봤는데 그렇게 어려울 것 같지는 않네요... 관련 문서가 어디있더라... |
|
|
지상현 2005-11-26 AM 10:41:52 |
|
|
|
그리고, 이진 파일은 메모장에 복사해서 저장하면 안되죠;
메모장에는 적어도 볼 수 있는 영역의 문자만 들어가므로 아스키 코드 127번 이후 문자는 일반 문자로 변환되어 버립니다.
파일 내용이 손상되는 것은 당연한 현상;; |
|
|
qkrwhdgns 2005-11-26 AM 10:50:34 |
|
|
|
헉.. SHAddDocToRecent 진짜 엽기적이네요 -_-;
그럼.. HEX모드로 lnk 파일을 뜯어봐야 했네요 -_-;;
(헥사모드로 뜯어봤자 알수있는 사실을 헛고생이라는 것;;;) |
|
|
qkrwhdgns 2005-11-26 AM 10:57:36 |
|
|
|
역시 헥사로 뜯고 해도 하나도 모르겠네요;; |
|
|
qkrwhdgns 2005-11-26 AM 11:12:16 |
|
|
|
거참 알쏭달쏭하네요;;.. C:\Windows의 바로가기를 만든후,
HEX모드로 열고(DesyEdit 이용),C:\Windows라는 문구를
C:\Windows\System 으로 바꾸고 바로가기 더블클릭하니,
대상찾기 대화상자가 나오는;; 그리고 그 바로가기를 오른쪽 클릭,
등록정보에서 다시 수정하고 에디터로 여니, 더 많은 문자가 추가되어 있는;; 이런;; |
|
|
이진백 2005-11-26 AM 11:43:23 |
|
|
|
델파이에서는...
COM 오브젝트 (ActiveX와 OLE보다 더 유동적인 함수 형태죠)를 생성하여
(컴 오브젝트가 상당히 여려워서 델파이 개발자도 기피하는 경향이 있습니다)
TShellLink가 아닌 IShellLink를 생성합니다.
그 인터페이스를 이용하여 IPersistFile을 부릅니다.
이 두가지가 혼합된 인터페이스를 이용하여 바로가기를 파일 형태로 저장할 수 있게 되는 것입니다.
창조에선 불가능이라 보시면 됩니다. |
|
|
qkrwhdgns 2005-11-26 PM 1:25:23 |
|
|
|
그럼 다른 방법은 없는 것인가;;
저 본문의 VB 소스로 바로가기 만드는 프로그램을 만들고,
그것을 창조와 연동을;; (이런.) |
|
|
지상현 2005-11-26 PM 2:28:30 |
|
|
|
아직 여러가지 방법이 남았습니다;; |
|
|
qkrwhdgns 2005-11-26 PM 2:51:28 |
|
|
|
그렇다면 남은 방법은.. VB프로그램을 만들어서 연동을 하거나,
그 엽기적인 최근 연 파일을 사용하거나, 아님 다 포기하는 방법이;;; |
|
|
최재일 2005-11-26 PM 4:04:24 |
|
|
|
음..
전에 남상기님이 창조99 배포할때 직접 제작한 설치메이커로 묶어서 배포하였는데 ,
그 설치메이커가 허접해보이긴해도 바로가기 및 프로그램 추가/삭제에서도 제거가능했죠..
그건 무엇으로 만들었는지 궁금하네요..
머 별 도움은 안되겠지만, 기타자료실에 남상기님이 제작한 설치메이커 올려볼께염 ㅎㅎ;; |
|
|
qkrwhdgns 2005-11-26 PM 5:04:08 |
|
|
|
아.. 그 설치메이커요^^.. 그거 중복입니다. ^^;;
이미 지상현님께서 업로드 하셨더군요;;
저는.. 아예.. 창조로 모든것을 제작할 생각을 하거든요^^..; |
|
|
지상현 2005-11-26 PM 5:07:01 |
|
|
|
설치 메이커는 델파이... |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|