2008. 12. - 프로토타입 최종 마무리
캡션바를 활용한 정보전달
디렉토리 탐색 추가
텍스트 메뉴 저장기능 추가
프로그램 안정성 확보
넘어온 오류
인터넷 브라우저 활성화시 파일 드래그앤 드랍 오픈기능이 변질됨(익스플로러)
추가된 오류
볼륨 조절기능 작동 불가
추가할 기능
이미지파일 사이즈 조절
2008. 11. 20. 목요일 - 기타 메뉴 수정
스크립트 메뉴 즐겨찾기 추가
스크립트 파일 php확장자 추가
- php파일은 웹서버의 연동이 필요하므로, 차선책으로 대응.
텍스트 메뉴 수정기능 추가. (저장은 아직 안됌.)
넘어온 오류
이미지, 텍스트의 메뉴들은 아직 미구현
이미지, 텍스트의 경우 스크롤이 안생김
인터넷 브라우저 활성화시 파일 드래그앤 드랍 오픈기능이 변질됨(익스플로러)
추가된 오류
텍스트파일 열람시 널문자를 만나면 리드 종료
추가할 기능
볼륨 조절기능
디렉토리를 열고 다음,이전파일 열기
이미지파일 사이즈 조절
이미지 확장자 추가
2008. 11. 12. 수요일 - 브라우저 메뉴 수정
뒤로, 앞으로 이동버튼 추가
HELP 메뉴 수정, 단축키 메뉴얼 추가
11.9일 두가지오류 수정
넘어온 오류
이미지, 텍스트의 메뉴들은 아직 미구현
이미지, 텍스트의 경우 스크롤이 안생김
인터넷 브라우저 활성화시 파일 드래그앤 드랍 오픈기능이 변질됨(익스플로러)
추가된 오류
텍스트파일 열람시 널문자를 만나면 리드 종료
추가할 기능
볼륨 조절기능
디렉토리를 열고 다음,이전파일 열기
이미지파일 사이즈 조절
이미지 확장자 추가
2008. 11. 09. 일요일 - Alpha test 시작.
사운드 파일 확장자 추가
주소창 추가
동영상, 사운드파일 일시정지, 재생 추가
동영상, 사운드파일 이동바 추가
스크립트 메뉴에 특정 링크 추가(naver, daum)
오류
이미지, 텍스트의 경우 스크롤이 안생김.
인터넷 브라우저 활성화시 파일 드래그앤 드랍 오픈기능이 변질됨(익스플로러)
열람 가능한 확장자
script -> htm, html
txt -> txt
image -> bmp
sound -> wav, wma, mp3
공통
통합 코덱 설치 파일도 함께 올립니다.
메뉴나 기능이 많이 부족하니 수정, 보완하겠습니다..
이건 샘플파일입니다. avi, wav, bmp, htm, txt
Console과 API의 경우에는 FindFirstFile과 FindNextFile을 이용하실 수 있습니다.
FindFirstFile의 원형은 다음과 같습니다.
HANDLE FindFirstFile(
LPCTSTR lpFileName, // pointer to name of file to search for
LPWIN32_FIND_DATA lpFindFileData
// pointer to returned information
);
lpFileName : 파일 검색을 위한 파일 이름. "c\\*.*"또는 "c:\\*.txt" 같은 형식을 지정할 수 있다.
lpFindFileData : 파일 검색용 데이터 구조체다. 검색된 파일들의 정보가 담겨진다.
두번째로 FindNextFile의 원형은 다음과 같습니다.
BOOL FindNextFile(
HANDLE hFindFile,
LPWIN32_FIND_DATA lpFindFileData
);
hFindFile : FindFirstFile이 넘겨준 핸들을 넣는다. 실제 검색용 스레드가 돌고 있는 핸들이다.
lpFindFileData : 파일 검색용 구조체. FindFirstFile이 넘겨준 구조체를 주면 된다.
세번째로 그 파일의 정보를 담는 WIN32_FIND_DATA입니다.
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[MAX_PATH];
TCHAR cAlternateFileName[14];
} WIN32_FIND_DATA,
*PWIN32_FIND_DATA;
위의 두 함수를 조합하여 사용 할 수 있습니다.
아래는 MSDN에서 제공하는 예제소스입니다.
#define _WIN32_WINNT 0x0501
#include <windows.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
char DirSpec[MAX_PATH]; // directory specification
DWORD dwError;
printf ("Target directory is %s.\n", argv[1]);
strncpy (DirSpec, argv[1], strlen(argv[1])+1);
strncat (DirSpec, "\\*", 3);
hFind = FindFirstFile(DirSpec, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf ("Invalid file handle. Error is %u\n", GetLastError());
return (-1);
}
else
{
printf ("First file name is %s\n", FindFileData.cFileName);
while (FindNextFile(hFind, &FindFileData) != 0)
{
printf ("Next file name is %s\n", FindFileData.cFileName);
}
dwError = GetLastError();
FindClose(hFind);
if (dwError != ERROR_NO_MORE_FILES)
{
printf ("FindNextFile error. Error is %u\n", dwError);
return (-1);
}
}
return (0);
}
소스는 간단합니다. FindFirstFile함수를 통해 디렉토리의 지정및 그 디렉토리의
가장 처음 파일을 찾습니다.
그후 FindNextFile을 통해 다음 파일들을 일일이 찾아서 검색조건에 일치한다면
TRUE를 리턴하는 것입니다.
WIN32_FIND_DATA 구조체에는 파일의 서치 정보가 들어있습니다. 파일의 속성및
파일이름, 생성날짜, 크기 등등 거의 모든 정보가 들어있습니다. 이를 활용하여
파일의 변경여부등도 파악이 가능합니다.


최종발표자료.pptx

Linkube_Multiloader.exe
Sample_files.zip


Recent Comment