창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 이수호2003-01-30 01:58:06, Hit : 6045
아아아~
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=freeboard&no=448
윈도우 리모트 네트워크 소스인데 ㅡ.ㅡ;; 여기서 창조에 쓸만한거 없을까요?
MS 공식 소스인데...



/******************************************************************************
Copyright (c) 1995-2000 Microsoft Corporation.  All rights reserved.

remnet.c : Remote networking

******************************************************************************/

#include <windows.h>
#include <windowsx.h>
#include <tchar.h>
#include "string.h"
#include "memory.h"
#include "commctrl.h"
#include "wcommctl.h"
//#include "shlobj.h"
//#include "wceshell.h"
//#include "aygshell.h"
#ifdef USE_SIP
#        include <sipapi.h>
#endif

#include "resource.h"
#include "remnet.h"

#ifdef DEBUG
DBGPARAM dpCurSettings = {
    TEXT("RemoteNet"), {
        TEXT("Unused"),TEXT("Unused"),TEXT("Unused"),TEXT("Unused"),
        TEXT("Unused"),TEXT("Unused"),TEXT("Unused"),TEXT("Unused"),
        TEXT("Unused"),TEXT("Unused"),TEXT("Unused"),TEXT("Misc"),
        TEXT("Alloc"),TEXT("Function"),TEXT("Warning"),TEXT("Error") },
    0x0000C000
    //0xFFFF
};
#endif        // DEBUG

ITEMINFO        EditItem;
HINSTANCE        v_hInst;
HWND                v_hMainWnd;
HWND                v_hListWnd;
HWND                v_hCmdBar;
HWND                v_hDialogWnd;
HFONT                v_hfont;
RECT                v_ClientRect;
RECT                v_ListRect;
DWORD                v_WizDialog;
DWORD       v_PrevWizDialog;
BOOL                v_fInRename;
BOOL                v_fPortrait;

#ifdef USE_SIP
LPFNSIP                  g_pSipGetInfo, g_pSipSetInfo;
LPFNSIPSTATUS g_pSipStatus;
HINSTANCE          g_hSipLib;
#endif

extern DWORD v_EnteredAsAWizard;

DWORD                v_DialogPages[DLG_NUMDLGS] = {
        IDD_RAS_WIZ_1,
        IDD_RAS_WIZ_2,
        IDD_RAS_WIZ_3,
        IDD_RAS_WIZ_4,
        IDD_RAS_WIZ_5,
        IDD_RAS_TCPIP_GEN,
        IDD_RAS_TCPIP_NAME_SERV
};

const TCHAR szAppName[] = TEXT("RemoteNet");
TCHAR szTitle[36];

const static TBBUTTON tbButton[] = {
        {0,             0,        TBSTATE_ENABLED, TBSTYLE_SEP,    0, 0, 0, -1},
  {STD_DELETE+12,ID_FILE_DELETE,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,-1},
  {STD_PROPERTIES+12,ID_FILE_PROPERTIES,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,-1},
  {0, 0,              TBSTATE_ENABLED, TBSTYLE_SEP,               0, 0, 0, -1},
  {VIEW_LARGEICONS, ID_VIEW_LARGEICON,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0,0,-1},
  {VIEW_SMALLICONS, ID_VIEW_SMALLICON,TBSTATE_ENABLED,TBSTYLE_CHECKGROUP,0,0,0,-1},
  {VIEW_DETAILS, ID_VIEW_DETAILS, TBSTATE_ENABLED, TBSTYLE_CHECKGROUP, 0, 0, 0, -1},
};    

static TBBUTTON tbButtonPortrait[] = {
        {0, 0,        TBSTATE_ENABLED, TBSTYLE_SEP,    0, 0, 0, -1},
        {0,ID_CONN_CONN,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,-1},
        {0, 0,        TBSTATE_ENABLED, TBSTYLE_SEP,    0, 0, 0, -1},
//        {0, ID_CONN_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,-1},
        {STD_PROPERTIES+12,ID_CONN_EDIT,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,-1},
        {STD_DELETE+12,ID_CONN_DELETE,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0,0,-1},
};    

TCHAR        nonStr[10];
TCHAR        deleteStr[30];
TCHAR        propertiesStr[30];
TCHAR        largeIconStr[30];
TCHAR        smallIconStr[30];
TCHAR        detailsStr[30];

const LPTSTR ToolTipsTbl[] = {
        nonStr,
        deleteStr,
        propertiesStr,
        largeIconStr,
        smallIconStr,
        detailsStr
};

const LPTSTR ToolTipsTblPortrait[] = {
        nonStr,
        largeIconStr,
        smallIconStr,
        propertiesStr,
        deleteStr,
};

// Declare the CommCtrl stuff.
DECLARE_COMMCTRL_TABLE;


void  FAR  PASCAL RegisterIPClass(HINSTANCE);
void  FAR  PASCAL UnregisterIPClass(HINSTANCE);

void PositionSIP(int nSipState)
{
#ifdef USE_SIP
    // Do we have the sip function?
    if (g_pSipGetInfo && g_pSipSetInfo)
    {
            SIPINFO si;

        // See whether the SIP is up or down
        memset(&si, 0, sizeof(SIPINFO));
        si.cbSize = sizeof(SIPINFO);
        if ((*g_pSipGetInfo)(&si))
        {
            // Has the SIP state changed?
            if ((!(si.fdwFlags & SIPF_ON) && SIP_UP == nSipState) ||
                (si.fdwFlags & SIPF_ON && !(SIP_UP == nSipState)))
            {
                si.fdwFlags ^= SIPF_ON;
                        (*g_pSipSetInfo)(&si);
            }
        }
    }
#endif
}

BOOL
CreateShortcut(TCHAR *pEntryName)
{
    TCHAR   szFmtStr[256];
    TCHAR   szPath[256];
    TCHAR   szFile[256];
    char    szAnsiTarget[128];
        HANDLE  hFile;
    int     nLinks = 1;
    int     Len;
        
        LoadString(v_hInst, IDS_DESKTOP_PATH, szFmtStr,
                           sizeof(szFmtStr)/sizeof(TCHAR));
    
    wsprintf(szPath, szFmtStr, pEntryName);
    
        hFile = CreateFile(szPath, GENERIC_WRITE, 0, NULL, CREATE_NEW,
                                           FILE_ATTRIBUTE_NORMAL, NULL);

    while (hFile == INVALID_HANDLE_VALUE)
    {
        if (nLinks++ > 20)
            return FALSE;

                LoadString(v_hInst, IDS_DESKTOP_PATH2, szFmtStr,
                                   sizeof(szFmtStr)/sizeof(TCHAR));
    
        wsprintf(szPath, szFmtStr,
                 pEntryName, nLinks);

        hFile = CreateFile(szPath, GENERIC_WRITE, 0, NULL, CREATE_NEW,
                           FILE_ATTRIBUTE_NORMAL, NULL);        
    }

    
        LoadString(v_hInst, IDS_SHORTCUT_STRING, szFmtStr,
                           sizeof(szFmtStr)/sizeof(TCHAR));
    
    wsprintf(szFile, szFmtStr, pEntryName);

    Len = _tcslen(szFile);

    wsprintf(szPath, TEXT("%d#%s"), Len, szFile);
    
    Len = WideCharToMultiByte(CP_ACP, 0, szPath, -1, szAnsiTarget, 128, NULL, NULL);

    WriteFile(hFile, szAnsiTarget, Len, &Len, NULL);

    CloseHandle(hFile);
    
    return TRUE;
}
VOID
UpdateView (DWORD        What)
{
        HMENU        hMenu;
        
        hMenu = CallCommCtrlFunc(CommandBar_GetMenu)(v_hCmdBar, 0);

    if (ID_VIEW_LARGEICON == What)
         CheckMenuRadioItem(hMenu, ID_VIEW_LARGEICON,
                                   ID_VIEW_DETAILS,
                                   ID_VIEW_LARGEICON,
                                   MF_BYCOMMAND);
    if (ID_VIEW_SMALLICON == What)
         CheckMenuRadioItem(hMenu, ID_VIEW_LARGEICON,
                                   ID_VIEW_DETAILS,
                                   ID_VIEW_SMALLICON,
                                   MF_BYCOMMAND);
    if (ID_VIEW_DETAILS == What)
         CheckMenuRadioItem(hMenu, ID_VIEW_LARGEICON,
                                   ID_VIEW_DETAILS,
                                   ID_VIEW_DETAILS,
                                   MF_BYCOMMAND);

        SendMessage (v_hCmdBar, TB_CHECKBUTTON, ID_VIEW_LARGEICON,
                                 MAKELONG((ID_VIEW_LARGEICON == What) ? TRUE : FALSE, 0));
        SendMessage (v_hCmdBar, TB_CHECKBUTTON, ID_VIEW_SMALLICON,
                                 MAKELONG((ID_VIEW_SMALLICON == What) ? TRUE : FALSE, 0));
        SendMessage (v_hCmdBar, TB_CHECKBUTTON, ID_VIEW_DETAILS,
                                 MAKELONG((ID_VIEW_DETAILS == What) ? TRUE : FALSE, 0));
}

VOID
SetMenu()
{
        HMENU        hMenu;
        DWORD                    cb;
        LV_ITEM                    lvi;
    MENUITEMINFO    MenuItemInfo;
        TCHAR                    szTemp[128];
        
        cb = ListView_GetSelectedCount (v_hListWnd);
        lvi.iItem = ListView_GetNextItem(v_hListWnd, -1, LVNI_SELECTED);
        hMenu = CallCommCtrlFunc(CommandBar_GetMenu)(v_hCmdBar, 0);
        // Set the File->Connect/Create menu to connect
        MenuItemInfo.cbSize = sizeof(MENUITEMINFO);
        MenuItemInfo.fMask = MIIM_TYPE;
        MenuItemInfo.dwTypeData = szTemp;
        MenuItemInfo.cch = sizeof(szTemp)/sizeof(TCHAR);

        GetMenuItemInfo(hMenu, ID_FILE_CONNECTCREATE, FALSE,
                                        &MenuItemInfo);
        MenuItemInfo.fMask = MIIM_TYPE;                        
        MenuItemInfo.cch = LoadString(v_hInst, IDS_CONNECT,
                                                                  MenuItemInfo.dwTypeData,
                                                                  sizeof(szTemp)/sizeof(TCHAR));
        SetMenuItemInfo(hMenu, ID_FILE_CONNECTCREATE, FALSE,
                                        &MenuItemInfo);

        EnableMenuItem (hMenu, ID_FILE_CONNECTCREATE, MF_GRAYED);
        EnableMenuItem (hMenu, ID_FILE_CREATESHORTCUT, MF_GRAYED);
        EnableMenuItem (hMenu, ID_FILE_DELETE, MF_GRAYED);
        EnableMenuItem (hMenu, ID_FILE_RENAME, MF_GRAYED);
        EnableMenuItem (hMenu, ID_FILE_PROPERTIES, MF_GRAYED);
        EnableMenuItem (hMenu, ID_EDIT_CREATECOPY, MF_GRAYED);

        // Portrait mode menu
        EnableMenuItem (hMenu, ID_CONN_CONN, MF_GRAYED);
        EnableMenuItem (hMenu, ID_CONN_EDIT, MF_GRAYED);
        EnableMenuItem (hMenu, ID_CONN_DELETE, MF_GRAYED);
        EnableMenuItem (hMenu, ID_CONN_RENAME, MF_GRAYED);

        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_EDIT,
                                 MAKELONG(FALSE, 0));
        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_CONN,
                                 MAKELONG(FALSE, 0));
        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_DELETE,
                                 MAKELONG(FALSE, 0));
        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_FILE_DELETE,
                                 MAKELONG(FALSE, 0));
        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_FILE_PROPERTIES,
                                 MAKELONG(FALSE, 0));

        if (cb == 1) {
                if (lvi.iItem == 0) {
                        // Make new connection

                        // Set File->Connect/Create menu to create and enable
                        MenuItemInfo.fMask = MIIM_TYPE;                        
                        MenuItemInfo.cch = LoadString(v_hInst, IDS_CREATE,
                                                                                  MenuItemInfo.dwTypeData,
                                                                                  sizeof(szTemp)/sizeof(TCHAR));
                        SetMenuItemInfo(hMenu, ID_FILE_CONNECTCREATE, FALSE,
                                                        &MenuItemInfo);
                        EnableMenuItem (hMenu, ID_FILE_CONNECTCREATE,
                                                        MF_ENABLED);
                } else {
                        EnableMenuItem (hMenu, ID_FILE_CONNECTCREATE,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_FILE_CREATESHORTCUT,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_FILE_DELETE,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_FILE_RENAME,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_FILE_PROPERTIES,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_EDIT_CREATECOPY,
                                                        MF_ENABLED);

                        EnableMenuItem (hMenu, ID_CONN_CONN, MF_ENABLED);
                        EnableMenuItem (hMenu, ID_CONN_EDIT, MF_ENABLED);
                        EnableMenuItem (hMenu, ID_CONN_DELETE, MF_ENABLED);
                        EnableMenuItem (hMenu, ID_CONN_RENAME, MF_ENABLED);

                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_EDIT,
                                                 MAKELONG(TRUE, 0));
                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_CONN,
                                                 MAKELONG(TRUE, 0));
                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_DELETE,
                                                 MAKELONG(TRUE, 0));

                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_FILE_DELETE,
                                                 MAKELONG(TRUE, 0));
                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON,
                                                 ID_FILE_PROPERTIES,
                                                 MAKELONG(TRUE, 0));
                }
        } else {
                if (cb != 0) {
                        // allow shortcuts for multiple items
                        if (lvi.iItem > 0) {
                                EnableMenuItem (hMenu, ID_EDIT_CREATECOPY,
                                                                MF_ENABLED);
                        }
                        EnableMenuItem (hMenu, ID_FILE_CONNECTCREATE,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_FILE_CREATESHORTCUT,
                                                        MF_ENABLED);
                        EnableMenuItem (hMenu, ID_FILE_DELETE,
                                                        MF_ENABLED);
                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_CONN,
                                                 MAKELONG(TRUE, 0));
                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_CONN_DELETE,
                                                 MAKELONG(TRUE, 0));
                        SendMessage (v_hCmdBar, TB_ENABLEBUTTON, ID_FILE_DELETE,
                                                 MAKELONG(TRUE, 0));

                        EnableMenuItem (hMenu, ID_CONN_DELETE, MF_ENABLED);
                }
        }
}

// ----------------------------------------------------------------
//
// NotifyHandler ()
//
// Handle Notification events for the ListView
//
// ----------------------------------------------------------------

LRESULT
NotifyHandler (HWND hWnd, NM_LISTVIEW *pnm, LV_DISPINFO *plvdi)
{
        LV_ITEM                    lvi;
        PITEMINFO                pItemInfo;
        HWND                        hwndEdit;
        DWORD                    dwTemp;
    int             nFormatId;
        TCHAR                    szTemp[128];
        TCHAR                        szFmtStr[128];

        DEBUGMSG (ZONE_MISC, (TEXT("Got WM_NOTIFY hdr.code=%d\r\n"),
                                                  pnm->hdr.code));

        switch (pnm->hdr.code) {
        case LVN_DELETEALLITEMS :
                DEBUGMSG (ZONE_MISC, (TEXT("Got LVN_DELETEALLITEMS\r\n")));
                return FALSE;
        case LVN_DELETEITEM :
                if (0 != pnm->iItem) {
                        DEBUGMSG (ZONE_MISC, (TEXT("Got LVN_DELETEITEM %d\r\n"), pnm->iItem));
                        LocalFree ((HLOCAL)pnm->lParam);
                }
                break;
        case LVN_GETDISPINFO :
                DEBUGMSG (ZONE_MISC, (TEXT("LVN_GETDISPINFO\r\n")));
                if (!(plvdi->item.mask & LVIF_TEXT)) {
                        DEBUGMSG (ZONE_MISC, (TEXT("LVN_GETDISPINFO: Not Text? Mask=0x%X\r\n"),
                                                                  plvdi->item.mask));
                        break;
                }
                SetMenu();

                if (0 == plvdi->item.iItem) {
                        if (0 == plvdi->item.iSubItem) {
                                LoadString(v_hInst, IDS_MAKE_NEW,
                                                   plvdi->item.pszText,
                                                   plvdi->item.cchTextMax);
                        }
                        break;
                }
                pItemInfo = (PITEMINFO)plvdi->item.lParam;
                switch (plvdi->item.iSubItem) {
                case 0 :
                        _tcsncpy (plvdi->item.pszText,
                                          pItemInfo->EntryName,
                                          plvdi->item.cchTextMax);
                        break;
                case 1 :
                        _tcsncpy (plvdi->item.pszText,
                                          pItemInfo->szPhone,
                                          plvdi->item.cchTextMax);
                        break;
                case 2 :
                        _tcsncpy (plvdi->item.pszText,
                                          ((PITEMINFO)plvdi->item.lParam)->Entry.szDeviceName,
                                          plvdi->item.cchTextMax);
                        break;
                }
                DEBUGMSG (ZONE_MISC, (TEXT("LVN_GETDISPINFO: Returning string '%s'\r\n"),
                                                          plvdi->item.pszText));
                break;
        case LVN_COLUMNCLICK:
                
                break;

        case LVN_BEGINLABELEDIT:
                DEBUGMSG (ZONE_MISC, (TEXT("BeginEdit\r\n")));

                if (plvdi->item.iItem == 0) {
                        DEBUGMSG (ZONE_MISC, (TEXT("Can't edit the 'Make New' icon\r\n")));
                        return TRUE; // Can't edit the Make New icon
                }
                v_fInRename = TRUE;
                PositionSIP(SIP_UP);
                ListView_EnsureVisible(v_hListWnd, plvdi->item.iItem, FALSE);
                if (hwndEdit = ListView_GetEditControl(v_hListWnd)) {
                        SendMessage(hwndEdit, EM_LIMITTEXT,
                                                RAS_MaxEntryName, 0);
                }
                return FALSE; // Return FALSE to let the user edit

        case LVN_ENDLABELEDIT:
                v_fInRename = FALSE;
                PositionSIP(SIP_DOWN);
                if (plvdi->item.pszText == NULL) {
                        DEBUGMSG (ZONE_MISC|ZONE_ERROR,
                                          (TEXT("ENDLABELEIDT: Text is NULL\r\n")));
                        break;
                }

                // if it's the same as before then it's a no-op.
                if (!_tcsicmp (plvdi->item.pszText, ((PITEMINFO)plvdi->item.lParam)->EntryName)) {
                }

                if (dwTemp = RasValidateEntryName(NULL, plvdi->item.pszText)) {
                        if (dwTemp == ERROR_ALREADY_EXISTS) {
                                nFormatId = IDS_ALREADY_EXISTS;
                        } else if (*(plvdi->item.pszText)) {
                                nFormatId = IDS_BADNAME;
                        } else {
                                nFormatId = IDS_NULLNAME;
                        }
                        LoadString(v_hInst, nFormatId, szFmtStr, sizeof(szFmtStr)/sizeof(TCHAR));
                        LoadString(v_hInst, (v_fPortrait) ? IDS_CONNECTIONS : IDS_REMNET,
                                           szTemp, sizeof(szTemp)/sizeof(TCHAR));
                        MessageBox (hWnd, szFmtStr, szTemp, MB_OK | MB_ICONWARNING);
                        PostMessage (v_hListWnd, LVM_EDITLABEL,
                                                 (WPARAM)(int)plvdi->item.iItem, 0);
                        break;
                }

                RasRenameEntry(NULL, ((PITEMINFO)plvdi->item.lParam)->EntryName,
                                           plvdi->item.pszText);
                dwTemp = plvdi->item.iItem;
                InitListViewItems(v_hListWnd);
                ListView_SetItemState (v_hListWnd, 0, 0, LVIS_SELECTED);
                ListView_SetItemState (v_hListWnd, dwTemp,
                                                           LVIS_SELECTED | LVIS_FOCUSED,
                                                           LVIS_SELECTED | LVIS_FOCUSED);
                SetFocus (v_hListWnd);
                break;
        case NM_RCLICK:
                PostMessage(v_hMainWnd, WM_COMMAND, ID_SHORTCUT, 0);
                break;
        case NM_CLICK:
                if (GetKeyState(VK_MENU) < 0) {
                        PostMessage(v_hMainWnd, WM_COMMAND, ID_SHORTCUT, 0);
                }

                break;
        case NM_DBLCLK:
                if (GetKeyState(VK_MENU) < 0) {
                        PostMessage(v_hMainWnd, WM_COMMAND, ID_SHORTCUT, 0);
                        break;
                }

                lvi.mask  = LVIF_PARAM;
                lvi.iSubItem = 0;
                lvi.iItem = pnm->iItem;


                if (lvi.iItem == 0) {
                        // Allow them to make a new item.
                        PostMessage(v_hMainWnd, WM_COMMAND,
                                                ID_CONNECTIONS_MAKENEWCONNECTION, 0);
                } else if (lvi.iItem != -1) {
                        ListView_SetItemState (v_hListWnd, lvi.iItem,
                                                                   LVIS_SELECTED, LVIS_SELECTED);

                        // They want to connect.
                        SendMessage(v_hMainWnd, WM_COMMAND,
                                                ID_FILE_CONNECTCREATE, 0);
                }
                break;

        case LVN_KEYDOWN:
                switch (((LV_KEYDOWN *) plvdi)->wVKey) {
                case VK_RETURN :
                        lvi.iItem = ListView_GetNextItem(v_hListWnd, -1,
                                                                                         LVNI_SELECTED);
                        if (lvi.iItem == 0) {
                                PostMessage(v_hMainWnd, WM_COMMAND,
                                                        ID_CONNECTIONS_MAKENEWCONNECTION, 0);
                        } else if (lvi.iItem != -1) {
                                ListView_SetItemState (v_hListWnd, lvi.iItem,
                                                                           LVIS_SELECTED, LVIS_SELECTED);

                                // They want to connect.
                                SendMessage(v_hMainWnd, WM_COMMAND,
                                                        ID_FILE_CONNECTCREATE, 0);
                        }
                        break;
                case VK_CONTROL :
                        if (GetAsyncKeyState(VK_MENU)) {
                                PostMessage(v_hMainWnd, WM_COMMAND,
                     &nbs

구루™   2003-01-30 AM 10:17:01  
원래 창조가 네트워크 기능을 지원하지 않는 것으로 알고 있습니다.

이거는 어려울듯;;
미도르   2003-01-30 AM 11:28:01  
C언어군요;;;;
LIST ALL               GO TO THE TOP


N
C
   Subject
Posted by
Date
H
46
   우리집 인터넷 오 마이갓~ [2]
신용주 2006/07/05  5943
45
   창조로만 irc 클라이언트 만들기 결과..(성공) [2]
박재성 2017/03/03  5966
44
   그냥 중학교때 배운 제도 생각이 나서 명령으로.. [3]
권선중 2004/01/03  5969
43
   흐미~ 급 맥북에어 뽐뿌가 올라오는군요ㅋ [7]
김동민 2011/08/18  5985
42
   윽.. 저도 스크린샷 올려봅니다. ─ ─+ [12]
박종훈 2006/01/25  5995
41
   이제야 서브버전의 편리함을 알아가고 있습니다. -- [7]
손상진 2011/08/19  6001
40
   즐겁게 .... 무궁화꽃이피었습니다. [2]
권선중 2003/12/11  6017
39
   얼마전 최재일님의.. [4]
박재성 2012/06/09  6023
38
   창조 & CGi 소스 제한 공개
권선중 2003/11/25  6030

   아아아~ [2]
이수호 2003/01/30  6045
36
   이전 웹에디터 소스는 그냥, 거져 가져가세요 ^^; [8]
박종훈 2006/07/09  6047
35
   블로그 만든지 5일째. [4]
신용주 2006/01/25  6067
34
   golang으로 윈도우 GUI를 만들어봤습니다. [1]
나라뜨 2017/09/19  6092
33
   창조는 속도 개선부터 이루어져야한다!.. [4]
박종훈 2007/01/02  6107
32
   아 웹서버 말인데요.
박재성 2009/04/19  6146
31
   옛 기억들이 떠오르네요. [7]
변혁수 2009/07/25  6170
30
   훔냥~ 주민번호생성기 소스가.. ㅡㅡ;; [3]
최재일[20JI] 2004/06/13  6240
29
   일 잘 하는 직원!!!!!
o00pp99oo 2016/09/22  6241
28
   간만의 영상 제작~^^ [1]
손상진 2007/05/16  6253
27
   만약 이 계정 없어진다면?? [4]
창조 2003/08/12  6312
26
   인터넷 종량제 어떻게 생각하십니까? [7]
위자드 2004/04/01  6325
25
   Happy X-Mas! [3]
정성우 2006/12/25  6369
24
     [re] ㅎ문자열을 함수로 넘길 때.. [1]
박종훈 2009/10/29  6648
notice   게시판 용도를 약간 수정했습니다. (프로그램 자료실, 기타 자료실) 지상현 2011/02/01  6658
22
   새로 태어날 Cugz에 대해 의견을 받습니다. [23]
손상진 2009/04/08  6688
LIST ALL   Prev [1]..[151][152][153][154] 155 [156] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인