WinBox_Ctrl

//使最小化按无效
void CMainFrame::OnDisableMinbox()
{
  //获得窗口风格
  LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);

  //设置新的风格
  style &= ~(WS_MINIMIZEBOX);
  ::SetWindowLong(m_hWnd,GWL_STYLE,style);

  //重化窗口边框
  CRect rc;
  GetWindowRect(&rc);
  ::SetWindowPos(m_hWnd,HWND_NOTOPMOST,rc.left,rc.top,rc.Width(),rc.Height(),SWP_DRAWFRAME);
}

//使最大化按钮无效
void CMainFrame::OnDisableMaxbox()
{
  //获得窗口风格
  LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);

  //设置新的风格
  style &= ~(WS_MAXIMIZEBOX);
  ::SetWindowLong(m_hWnd,GWL_STYLE,style);

  //重化窗口边框
  CRect rc;
  GetWindowRect(&rc);
  ::SetWindowPos(m_hWnd,HWND_NOTOPMOST,rc.left,rc.top,rc.Width(),rc.Height(),SWP_DRAWFRAME);
}

//使关闭按钮无效
void CMainFrame::OnDisableClose()
{
  //获得系统菜单
  CMenu *pMenu = GetSystemMenu(FALSE);

  //获得关闭按钮的ID
  int x = pMenu->GetMenuItemCount();
  UINT pID=pMenu->GetMenuItemID(x-1);

  //使关闭按钮无效
  pMenu->EnableMenuItem(pID, MF_DISABLED);
}


//使最小化按钮有效
void CMainFrame::OnAbleMinbox()
{
  //获得窗口风格
  LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);

  //设置新的风格
  style |= WS_MINIMIZEBOX;
  ::SetWindowLong(m_hWnd,GWL_STYLE,style);
  //重化窗口边框
  CRect rc;
  GetWindowRect(&rc);
  ::SetWindowPos(m_hWnd,HWND_NOTOPMOST,rc.left,rc.top,rc.Width(),rc.Height(),SWP_DRAWFRAME);  
}

//使最大化按钮有效
void CMainFrame::OnAbleMaxbox()
{
  //获得窗口风格
  LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);

  //设置新的风格
  style |= WS_MAXIMIZEBOX;
  ::SetWindowLong(m_hWnd,GWL_STYLE,style);

  //重化窗口边框
  CRect rc;
  GetWindowRect(&rc);
  ::SetWindowPos(m_hWnd,HWND_NOTOPMOST,rc.left,rc.top,rc.Width(),rc.Height(),SWP_DRAWFRAME);
}

//使关闭按钮有效
void CMainFrame::OnAbleClose()
{
  //获得系统菜单
  CMenu *pMenu=GetSystemMenu(FALSE);

  //获得关闭按钮的ID
  int x=pMenu->GetMenuItemCount();
  UINT pID=pMenu->GetMenuItemID(x-1);

  //使关闭按钮有效
  pMenu->EnableMenuItem(pID, MF_ENABLED);
}

//使对话框的关闭按钮无效:
  在对话框的OnInitDialog中调用如下代码
  CMenu *mnu=this->GetSystemMenu(FALSE);
  mnu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND|MF_GRAYED);
  // OR
  mnu->EnableMenuItem(SC_CLOSE,MF_BYCOMMAND|MF_GRAYED);

ln命令使用

#!/bin/sh

BAS=.../obj
BIN=$BAS/run/bin/current
LIB=$BAS/run/lib/current

rm -f $BIN/*
rm -f $LIB/*
rm -f $BAS/run.tar

cd $BAS
cp */*.so $LIB

cp .../ProcA/Proc1 $BIN
cp .../ProcB/Proc2 $BIN
cp .../ProcC/Proc3 $BIN
cp .../ProcD/Proc4 $BIN

tar -cvf run.tar run

ls -l $LIB $BIN
date
ls -l *.tar
pwd


tar -xvf run.tar


// binの変更
cd bin
ll --->元の指向のBackup : current -> 元フォルダ/
rm current --->シンボリックリンクの削除
ln -s .../run/bin/current current --->新しい指向の作成
// libの変更
cd ..
cd lib
ll --->元の指向のBackup : current -> 元フォルダ/
rm current --->シンボリックリンクの削除
ln -s .../run/lib/current current --->新しい指向の作成

引越し手続き

引越先の探し(UR、JKK、不動産など)

引越先との契約

現住所への通知

粗大ゴミの処分(市役所に申請が必要)

市役所の手続き(健康保険、住民税など)

引越専門(引越センター)への連絡

引越センターの見積

引越センターとの契約

歯医者への通知(有れば)

図書館への通知(有れば)

NHKへの転居届け

自分会社への通知、届けなど

郵便局への転居届け

水道局への通知

電力会社への通知

ガス会社への通知

WEB契約の引越又は解約

郵便ボックスの鍵の外し

荷物の整理

各種類カードへの転居届け

各銀行への転居届け

携帯電話への転居届け

新住所への鍵取り電話(一週間前)

新住所の水道局への電話(一週間前)

新住所のガス局への電話(一週間前)

新住所の電力局への電話(必要有れば)

市役所(新住所属する)への登録

WIN_C++_Vector

// -------------------------------------------------------
// windows c++ vector define start
#include <vector>

typedef struct{
  int  id;
  char* name;
} MY_DATA;

typedef std::vector< MY_DATA > MY_VECTOR;

MY_VECTOR my_vector;
// windows c++ vector define end
// -------------------------------------------------------

// -------------------------------------------------------
// windows c++ add member to vector start
char strName[NAME_MAX_SIZE];
sprintf( strName, "%s", "your name message.");

MY_DATA item;
item.name = new char[NAME_MAX_SIZE];
::memset( item.name, NULL, NAME_MAX_SIZE );
item.id = 100;
lstrcpy( item.name, strName );
my_vector.push_back( item );
// windows c++ add member to vector end
// -------------------------------------------------------

// -------------------------------------------------------
// windows c++ delete member from vector start
MY_VECTOR::iterator pos = my_vector.begin();
for ( ; pos != my_vector.end() ; ++pos ) {
  if ( 100 == (*pos).id ) {
    free( (*pos).name );
    (*pos).name = NULL ;
    my_vector.erase( pos );
    break;
  }
}
// windows c++ delete member from vector end
// -------------------------------------------------------

// -------------------------------------------------------
// windows c++ search member from vector start
char* getName = new char[ NAME_MAX_SIZE ];
::memset( getName, NULL, NAME_MAX_SIZE );
MY_VECTOR::iterator pos = my_vector.begin();
for ( ; pos != my_vector.end() ; ++pos ) {
  if ( 100 == (*pos).id ) {
    lstrcpy( getName, (*pos).name );
    break;
  }
}
// add your code here.
// -------------------
// add your code here.
free( getName );
getName = NULL;
// windows c++ search member from vector end
// -------------------------------------------------------

cl /c /GX -IC:\j2sdk1.4.2_11\include -IC:\j2sdk1.4.2_11\include/win32 XXX.cpp
link /OUT:XXX.dll /NOLOGO /DLL XXX.obj kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib LIBCMT.lib /NODEFAULTLIB:LIBC.LIB