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

    KAB-studio.h


    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    MF 2005/07/04(Mon) No.314
    zMF 1892
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2005/07/04 (Mon)
@قƂ́[O`RP.25ǉI
[ Ol̃zbgn[u O`R y^V  LNz ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2005/07/04 (Mon)
@#pragma twice z[y[WłɃA[JCuǉI
12.08 TEXT  BYNARY
12.09 oCi[[hŏށI
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// 储ʂȓL
http://www.kab-studio.biz/nikki2/index.html

2005/06/26 (Sun)
@ߑO̓AjȂ疾̕XVBߌT܂ŃJuJeL
邩܂YށBNی߂I@JuJeLn߂܂B̂
ƃJuJeL̃y[W쐬Aԃwb_[M\A^wZ
eLXgB^wZccBċNƂlB

2005/06/27 (Mon)
@FMVME5555E ̂ Fedora Core 2 CXg[悤Ƃr
ŎsBRɎҁB̌HtɒsB PC100 SDRAM 128MByte 
QwB Fedora Core 2 CXg[AB
săeLXgB

2005/06/28 (Tue)
@ߑO͐Bđ̂ccBߌ JavaA2Z ̒PǉBqbg
ȂȂȂccBNی̌Ƃ͑ʖځB JavaA2Z ñRe
cłɎvグĂBăR~ɂقƂ́[O`RoȂ\
BđB

2005/06/29 (Wed)
@Ƀ^C}[|tɊĎ˂Bߌ JavaA2Z PǉB
ׂ͍ȂccBՂƂPbƁAPONLO͂̕B^wZ
̃eLXgŁudĂ銴vBĐیB

2005/06/30 (Thu)
@񂲂ĉłBꉞ JavaA2Z PǉƂeLXg
ƂB̃eLXgƖ̃JuJeLJnŃXgXH@
ԃX^PONB

2005/07/01 (Fri)
@jEԃX^PONII@̂PON̗jƑzƁBj
肪ƂłB͖xBԃwb_[̏ƂT
̏ƂBRɎҁBAĂ̓JuJeLƂ Java-ZXY 
tƂBăiRvV[H

2005/07/02 (Sat)
@GARtēxQēBJuJeL̎񓚁A JavaA2Z 
Po^ƂƂB͌obNAbvBƂƎĂBł
tɎ̂ĂȂĂƁH


////////////////////////////////////////////////////////////////////
// Ԃ낮B
http://d.hatena.ne.jp/kab_studio/

2005/06/26 (Sun)
http://d.hatena.ne.jp/kab_studio/20050626
NȁB
[قƂ́[]قƂ́[O`R P.24
AǉB
[Prog]ՂƂǉB
[Aj]]Ch WFlVX 12buv
[Aj]@}WW[ cc͂x݁B
[Aj]˂}CfB 13buSƂCCiIv
[Aj]уGEJZu 11buCgD[EUElC`[v
[JuJeL]ЂƃT[rXJnցB

2005/06/27 (Mon)
http://d.hatena.ne.jp/kab_studio/20050627
NB
sakusaku (c4)
[Aj]܂ق 25buv
[Aj]܂ق 26bu܂ق΁v(I)
[Aj]ςɂۂɂI 0bu\v
[][][Fedora]FMVME5555E
[Fedora] FMVME5555E  Fedora Core 2 CXg[
낻뎕ҁB
AĂB
[aC]
[][Fedora]HtŔẮB
zbgybp[CMW
[JavaA2Z]PǉB
[Fedora]FMVME5555E  Fedora Core 2 CXg[(2)
[Machician]Wb ACƃRC (11) [ ]

2005/06/28 (Tue)
http://d.hatena.ne.jp/kab_studio/20050628
ꂽccB
[Aj]E҉KIKCK[FINAL 
@12bu_b!!!i}C\W[jv(I)
[Fedora]Fedora Core 2 Samba B
[Aj]݂p[eB[Revolution 13buAs Time goes byv(I)
[JavaA2Z]PǉB
[E]Nی̌Ƃ͂ł܂łccB
[قƂ́[][C68]ăR~ɖ{AoȂccB
[Prog] Struts ̃VFA͖{ɍ̂낤B
[Java-ZXY]qCt
ł̃C[WXf扻HHH
[Machician]Wb ACƃRC (12) [ ]

2005/06/29 (Wed)
http://d.hatena.ne.jp/kab_studio/20050629
݂III
[Aj]Uk@ S.A.C. 2nd GIG 13buɋCv
[Aj]݂I 1but̂v
[JavaA2Z]ׂ͍ȂB
[]܂񂪃^CMAX
[JavaA2Z]PǉB
fJɑ҂@
@lC}KuN}eBZv@N}eBuOgȁv
[JavaA2Z]E̍Lǂ悤B
[Machician]Wb ACƃRC (13) [ ]

2005/06/30 (Thu)
http://d.hatena.ne.jp/kab_studio/20050630
NB
CLANNAD Nih É  (1/8 PVChς݊i)
[Aj]@搶lM܁I 26b(I)
[Aj]ɏ㐶k 13buG݂Ȃv
[JavaA2Z]PǉB
[Aj]LOVELESS 12buENDLESSv(I)
[Machician]Wb ACƃRC (14) []

2005/07/01 (Fri)
http://d.hatena.ne.jp/kab_studio/20050701
ԃX^10NI
n[GuɂB
sakusaku(I)
[Aj]t^RC I^ieBu 13bu3lłv
낻뎕ҁB
[aC]
[JavaA2Z]PǉB
[Java-ZXY]qCt
[Machician]Wb ACƃRC (15) []

2005/07/02 (Sat)
http://d.hatena.ne.jp/kab_studio/20050702
NāI
[Aj]ӂ́ӂP 
@13buv[̏CsPJӂv
[Aj]VKVK[ 1bu`Rƃn[g̗ꐯv
[JavaA2Z]PǉB
[Aj]ΏN 7buOx߂̖񑩂̖v


////////////////////////////////////////////////////////////////////
// A
http://www.kab-studio.biz/Novel/Fuga/index.html

@\́@z鑶݁@|PX|

uÓAlEƂ邩v
uccv
@iށB
@NB
uς悤v
@炵΂B
uÓANƂ邩Hv
uHccv
uNANv
@̉wB
uOA`oȂ񂾂H@ȂȂ񂾂H@ȂAiCtŕ΂
āA炢Ƃ邾v
uccv
@ȂB
@lƂAȂB
@l邱ƂAłȂB
uȁAāccv
uȁ[AH񂪂ȂāA񂰁[ĂāA
āAvt܂񂾂v
uccv
uƊJĂȁA̒āAo񂾁BނăA
Ƃނ񂾂Hv
uccv
uXCX񂾁BԂƌ\񂾂BĒƍ
v
uccAقIv
@N͉̂~߂āA~܂AւƒԁB
uv
@̑A~߂B
@AڂɓB
@ꂾ̂ƁB
@ꂪB
@NɁAzAāA܂A
uAő҂ĂBOɂH킹Ă邩v
uv
@NB
uv
@N݁AɕƎvuԁB
uv
@̕AAahĂB
u``v
@́AȂ߂B
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
@AƐÂ܂肩ĂB
@NA~߂ĂB
ȕԂ́Al̕󖂖@ňꎞIɓ~߂ĂԂłB
91ɕjAĂѓo܂v
@̏ɂSAށB

Machician Wb ACƃRC D]AڒI
[ Machician ]
http://d.hatena.ne.jp/kab_studio/20040823#1093276416
[ Machician{ݒ ŐVꗗ ]
http://d.hatena.ne.jp/kab_studio/searchdiary?word=*%5BMachician
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

ǉEXVP

java.sql.Date
Timestamp
nh
Xi[
G[nh
execute
JRE
[g
؍\
c[\
ZIP
java.lang
java.util
StringTokenizer
fBNg
JgfBNg
tH_
JgtH_
pX
΃pX
tpX
΃pX
..
fBNggo[T
NXpX
rhpX


////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


@Version 15.14
 DLL sNĂ݂

uO DLL sɃNāADȊ֐ĂяoAĂ
Ă݂܂v
wȂӂɎgƁANƂKvȂ̂ˁ[x
u֐̌ĂяoꂾˁBÕvOxĂ݂悤
v

// Main.cpp
#include <Windows.h>

// MessageBox()֐|C^ typedef B
typedef int (WINAPI *type_pfnMessageBox)
    ( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType );

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // user32.dll ɎsN܂B
    HINSTANCE hInstanceDll = LoadLibrary( "user32.dll" );
    if( hInstanceDll == NULL )
    {
        OutputDebugString( "ckk[hł܂łB" );
        return 0;
    }
    
    // user32.dll  MessageBoxA() ֐̊֐|C^擾܂B
    type_pfnMessageBox pfnMessageBox 
        = (type_pfnMessageBox)GetProcAddress
            ( hInstanceDll, "MessageBoxA" );
    if( pfnMessageBox == NULL )
    {
        OutputDebugString( "֐擾ł܂łB" );
    }
    else
    {
        // ŁA MessageBox() ֐Ăяo܂B
        pfnMessageBox( NULL, "eXg", "eXg_CAO", MB_OK );
    }

    FreeLibrary( hInstanceDll );
    return 0;
}

u֐ĂяoĂv

        pfnMessageBox( NULL, "eXg", "eXg_CAO", MB_OK );

uA֐|C^gČĂяoĂ邩AN̕KvȂA
悤Ȃłv
w`ȂA֐ĂяoĂNKvȂ킯ˁx
u̕@́yvOCzł悭g܂v
wvOCāAG`̂Ƃł悭gĂ̂ˁx
uAvOC̏ꍇAƂDȋ@\ǉł悤ɂK
v܂Bʂ̃vȌꍇA̓rhȂłȂ
łv
włA̓INg΁ccx
uvOC DLL `ɂāA{̂ Exe Ăяo֐ƈA
߂l߂ĂāÃtH_ɂ DLL u悤ɂ܂B 
DLL ̃t@C LoadLibrary() Ŏw肷΁v
w DLL ̊֐Ă΂Ă킯ˁ[x
uƂ킯ŁAō DLL ŎĂ݂܂v
wI@Ȃ񂾂{iIIx
ug DLL ́A Version 15.10 ( No.310 ) ̒iKł DLLTestEasy ɂ
܂v
wvO͂̂܂܁Hx
u͂̂܂܁B DLLTestEasy.cpp ڂƂȊv

// DLLTestEasy.cpp : DLL AvP[Vp̃Gg |Cg`܂B
//

#include "stdafx.h"
#include "DLLTestEasy.h"

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
        case DLL_PROCESS_ATTACH:
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}


// ̓GNX|[gꂽϐ̗łB
DLLTESTEASY_API int nDLLTestEasy=0;

// ̓GNX|[gꂽ֐̗łB
DLLTESTEASY_API int fnDLLTestEasy(void)
{
    OutputDebugString( "fnDLLTestEasy()\n" );
    return 42;
}

// ̓GNX|[gꂽNX̃RXgN^łB
// NX̒`ɂĂ DLLTestEasy.h QƂĂB
CDLLTestEasy::CDLLTestEasy()
{ 
    return; 
}

u̗ł fnDLLTestEasy() Ăяo܂v
wȂOĂ񂾊֐ˁx
u܂Arhč DLL  BuildTest\Debug tH_
Rs[Ăv
wORs[Ă邩炻̂܂܂łˁx
uÂ܂܂łBɁA BuildTest ȉ̂悤ɏC
v

// Main.cpp
#include <Windows.h>

// fnDLLTestEasy()֐|C^ typedef B
typedef int (WINAPI *type_pfnDLLTestEasy)(void);

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // DLLTestEasy.dll ɎsN܂B
    HINSTANCE hInstanceDll = LoadLibrary( "DLLTestEasy.dll" );
    if( hInstanceDll == NULL )
    {
        OutputDebugString( "ckk[hł܂łB" );
        return 0;
    }
    
    // DLLTestEasy.dll  fnDLLTestEasy() ֐̊֐|C^擾܂B
    type_pfnDLLTestEasy pfnDLLTestEasy 
        = (type_pfnDLLTestEasy)GetProcAddress
            ( hInstanceDll, "?fnDLLTestEasy@@YAHXZ" );
    if( pfnDLLTestEasy == NULL )
    {
        OutputDebugString( "֐擾ł܂łB" );
    }
    else
    {
        // ŁA fnDLLTestEasy() ֐Ăяo܂B
        pfnDLLTestEasy();
    }

    FreeLibrary( hInstanceDll );
    return 0;
}

wOƂقƂǓˁx
uႤ́A܂֐|C^v

// fnDLLTestEasy()֐|C^ typedef B
typedef int (WINAPI *type_pfnDLLTestEasy)(void);

u̕ӂ͑OƓ@ōĂ܂v
w MessageBox() ȂyˁBȂĂ void ͕t
񂾁B߂lƂ void |C^ɂgȂƎvĂ񂾂ǁx
u{́A֐ɈȂƂ́A void ďłBA
͐̂̃[ŁA͂قƂǂȂȁv
wȂ񂾁BŁA DLL ˁx

    // DLLTestEasy.dll ɎsN܂B
    HINSTANCE hInstanceDll = LoadLibrary( "DLLTestEasy.dll" );

u DLL ̃pXɂĕ⑫B LoadLibrary() ́A DLL ̏ŒT
v

1. Exe ̂tH_
2. JgfBNg
3. System32 tH_
4. System tH_
5. EBhEYtH_
6. PATH ϐŐݒ肳ꂽtH_

u܂悤ɁA Exe ̂tH_ WinNT\System32 tH_
ǂɒuƂ΂BɃtpXłwł邵v
wtpXnjȂ񂾁x
uvOC̏ꍇɂ͂̕ˁBł͍ŌA֐|C^̎
v

    // DLLTestEasy.dll  fnDLLTestEasy() ֐̊֐|C^擾܂B
    type_pfnDLLTestEasy pfnDLLTestEasy 
        = (type_pfnDLLTestEasy)GetProcAddress
            ( hInstanceDll, "?fnDLLTestEasy@@YAHXZ" );

wccHHHHHx

?fnDLLTestEasy@@YAHXZ

wĉIH@ȂŊ֐ȕςȂ́IH@oOĂȂHx
uoOĂƎvHv
wccrhĎsccAqfnDLLTestEasy()rďox
uƂ킯ŎɑIv

/*
    Preview Next Story!
*/
w̕ςȊ֐IIx
uGNX|[gƂOɂȂłv
w[IH@ MessageBox() ͕ʂIx
úAGNX|[g̕@Ⴄv
w@ccĂς́Hx
uƂ킯Ŏv
 Version 15.15 ܂܂ȃGNX|[g 
wɂÂIx
u̕ӂ MSDN ɂڂĂȂ[Hv
w Codian ĂƂɍڂĂx
uAÁccv


////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.biz/nikki2/index.html
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

