API만 사용한 Simple Dialog Base 프로그램
Stealth Dialog-CodeProject 참조
origin : http://www.codeproject.com/KB/shell/StealthDialog.aspx?print=true
//sdkdlg.cpp
// Win32 Dialog.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "resource.h"
// Global Variables:
HINSTANCE  hInst; // current instance
// Forward declarations of functions included in this code module:
BOOL    InitInstance(HINSTANCE, int);
BOOL    OnInitDialog(HWND hWnd);
INT_PTR CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
 MSG msg;
 //HACCEL hAccelTable;
 // Perform application initialization:
 if (!InitInstance (hInstance, nCmdShow)) return FALSE;
 //hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_STEALTHDIALOG);
 // Main message loop:
 while (GetMessage(&msg, NULL, 0, 0))
 {
  if (!TranslateAccelerator(msg.hwnd, NULL, &msg)||
   !IsDialogMessage(msg.hwnd,&msg) ) 
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }
 return (int) msg.wParam;
}
// Initialize the window and tray icon
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
 // prepare for XP style controls
 InitCommonControls();
  // store instance handle and create dialog
 hInst = hInstance;
 HWND hWnd = CreateDialog( hInstance, MAKEINTRESOURCE(IDD_DLG_DIALOG),
  NULL, (DLGPROC)DlgProc );
 if (!hWnd) return FALSE; 
 // call ShowWindow here to make the dialog initially visible
 ShowWindow(hWnd, SW_RESTORE);
 return TRUE;
}
BOOL OnInitDialog(HWND hWnd)
{
 return TRUE;
}
// Message handler for the app
INT_PTR CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 int wmId, wmEvent;
 switch (message) 
 {
 case WM_SYSCOMMAND:
  if((wParam & 0xFFF0) == SC_MINIMIZE)
  {
   ShowWindow(hWnd, SW_HIDE);
   return 1;
  }
  
  break;
 case WM_COMMAND:
  wmId    = LOWORD(wParam);
  wmEvent = HIWORD(wParam); 
  //switch (wmId)  {  }
  return 1;
 case WM_INITDIALOG:
  return OnInitDialog(hWnd);
 case WM_CLOSE:
  DestroyWindow(hWnd);
  break;
 case WM_DESTROY:
  
  PostQuitMessage(0);
  break;
 }
 return 0;
}
 TestDlg6.7z
TestDlg6.7z