#include <windows.h>
#include <stdio.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass=TEXT("FileList");
void GetFileList(char *path);
int filenum = 0;
char filename[100][300];
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst=hInstance;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=(WNDPROC)WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,(HMENU)NULL,hInstance,NULL);
ShowWindow(hWnd,nCmdShow);
hWndMain=hWnd;
while(GetMessage(&Message,0,0,0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
int index01;
switch(iMessage) {
case WM_CREATE:
GetFileList("*.*"); // 전체 파일을 확인 한 후 확장자별로 처리하든
// 파일 종류가 특정한 몇가지라면 *.txt, *.asp등으로 여러번 호출할 후 처리하든지...
// 일단 파일 리스트를 불러온 후
// 파일 처리
// code
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
if ( filenum > 0 )
{
for ( index01 = 0; index01 < filenum; index01++ )
{
TextOut(hdc, 0, index01 * 18, filename[index01], lstrlen(filename[index01]) );
}
}
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
void GetFileList(char *path) // 파일리스트만 보여줌
{
HANDLE hFind;
WIN32_FIND_DATA fd;
BOOL bRet = TRUE;
char subpath[100][300];
hFind = FindFirstFile( path, &fd);
while ( hFind != INVALID_HANDLE_VALUE && bRet)
{
if ( (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) == 0 )
{
strcpy(filename[filenum], fd.cFileName );
filenum++;
}
// else
// {
// sub folder 처리 이렇게 하려면 링크드 리스트를 사용하셔야겠죠... 물론 여기 변수들도 포인터로 바꾸시구
// GetFileList(subpath);
// }
bRet = FindNextFile( hFind, &fd);
}
FindClose(hFind);
return;
}
#include <stdio.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass=TEXT("FileList");
void GetFileList(char *path);
int filenum = 0;
char filename[100][300];
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
,LPSTR lpszCmdParam,int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst=hInstance;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=(WNDPROC)WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,(HMENU)NULL,hInstance,NULL);
ShowWindow(hWnd,nCmdShow);
hWndMain=hWnd;
while(GetMessage(&Message,0,0,0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
int index01;
switch(iMessage) {
case WM_CREATE:
GetFileList("*.*"); // 전체 파일을 확인 한 후 확장자별로 처리하든
// 파일 종류가 특정한 몇가지라면 *.txt, *.asp등으로 여러번 호출할 후 처리하든지...
// 일단 파일 리스트를 불러온 후
// 파일 처리
// code
return 0;
case WM_PAINT:
hdc=BeginPaint(hWnd, &ps);
if ( filenum > 0 )
{
for ( index01 = 0; index01 < filenum; index01++ )
{
TextOut(hdc, 0, index01 * 18, filename[index01], lstrlen(filename[index01]) );
}
}
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
void GetFileList(char *path) // 파일리스트만 보여줌
{
HANDLE hFind;
WIN32_FIND_DATA fd;
BOOL bRet = TRUE;
char subpath[100][300];
hFind = FindFirstFile( path, &fd);
while ( hFind != INVALID_HANDLE_VALUE && bRet)
{
if ( (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) == 0 )
{
strcpy(filename[filenum], fd.cFileName );
filenum++;
}
// else
// {
// sub folder 처리 이렇게 하려면 링크드 리스트를 사용하셔야겠죠... 물론 여기 변수들도 포인터로 바꾸시구
// GetFileList(subpath);
// }
bRet = FindNextFile( hFind, &fd);
}
FindClose(hFind);
return;
}
'Windows > Windows API' 카테고리의 다른 글
TRANSPARENT BACKGROUND (0) | 2013.10.01 |
---|---|
ClientToScreen (0) | 2013.10.01 |
디렉토리 생성 (하위 디렉토리 포함) CreateDirectory (Sub) (0) | 2013.10.01 |
GDI+ 선의 끝모양 (0) | 2013.10.01 |
GDI+ 안티 알라이싱 (0) | 2013.10.01 |