TNB Library
公開メンバ関数 | 全メンバ一覧
CConsoleHooker クラス

コンソールフッカークラス [詳解]

#include <TnbConsoleHooker.h>

+ CConsoleHooker の継承関係図

公開メンバ関数

 CConsoleHooker (void)
 コンストラクタ [詳解]
 
bool Execute (LPCTSTR lpszProcessName, bool isShow=false)
 [設定] 実行. [詳解]
 
const CStrVectorGetLastString (void) const
 [取得] 取得文字列取得. [詳解]
 
DWORD GetProcessId (void) const
 [取得] プロセスID取得. [詳解]
 
CStrVector GetString (void)
 [取得] コンソール文字列取得. [詳解]
 
bool Hook (DWORD processId)
 [設定] フック. [詳解]
 
bool Hook (LPCTSTR lpszProcessName)
 [設定] フック. [詳解]
 
bool IsAlived (void) const
 [確認] プロセス生存確認. [詳解]
 
bool IsHooked (void) const
 [確認] フック済み? [詳解]
 
bool SendString (LPCTSTR lpsz)
 [送信] 文字列送信. [詳解]
 
void SetLastString (const CStrVector &vs)
 [設定] 取得文字列設定. [詳解]
 
void Terminate (void)
 [設定] ターミネート. [詳解]
 
void Unhook (void)
 [設定] アンフック. [詳解]
 
bool WaitForExit (DWORD to)
 [処理] 終了待ち. [詳解]
 
bool WaitString (LPCTSTR lpsz, DWORD to)
 [取得] 指定文字列待ち. [詳解]
 
int WaitStringEx (const CStrVector &words, DWORD to)
 [取得] 指定文字列待ち. [詳解]
 
int WaitStringEx (LPCTSTR lpszWord1, LPCTSTR lpszWord2, DWORD to)
 [取得] 指定文字列待ち. [詳解]
 
 ~CConsoleHooker (void)
 デストラクタ [詳解]
 

詳解

コンソールフッカークラス

コンソールアプリケーションをフックし、コマンドラインの入出力を本クラスでコントロールします。
必要ファイル
TnbConsoleHooker.h
日付
12/02/02 新規作成

TnbConsoleHooker.h47 行目に定義があります。

構築子と解体子

◆ CConsoleHooker()

CConsoleHooker ( void  )

コンストラクタ

TnbConsoleHooker.h52 行目に定義があります。

◆ ~CConsoleHooker()

~CConsoleHooker ( void  )

デストラクタ

TnbConsoleHooker.h58 行目に定義があります。

関数詳解

◆ Execute()

bool Execute ( LPCTSTR  lpszProcessName,
bool  isShow = false 
)

[設定] 実行.

覚え書き
新規にコンソールアプリ実行しフックします。
引数
lpszProcessNameプロセス名(exe名)
isShowfalse なら非表示で起動。
戻り値
true成功.
false失敗.

TnbConsoleHooker.h142 行目に定義があります。

◆ GetLastString()

const CStrVector & GetLastString ( void  ) const

[取得] 取得文字列取得.

WaitString() , WaitStringEx() 中に取得した文字列を返します。

戻り値
文字列

TnbConsoleHooker.h393 行目に定義があります。

◆ GetProcessId()

DWORD GetProcessId ( void  ) const

[取得] プロセスID取得.

管理しているプロセスIDを返します。

戻り値
プロセスID

TnbConsoleHooker.h89 行目に定義があります。

◆ GetString()

CStrVector GetString ( void  )

[取得] コンソール文字列取得.

戻り値
文字列

TnbConsoleHooker.h245 行目に定義があります。

◆ Hook() [1/2]

bool Hook ( DWORD  processId)

[設定] フック.

引数
processIdプロセスID
戻り値
true成功.
false失敗.

TnbConsoleHooker.h100 行目に定義があります。

◆ Hook() [2/2]

bool Hook ( LPCTSTR  lpszProcessName)

[設定] フック.

覚え書き
既に実行されているコンソールアプリをフックします。
引数
lpszProcessNameプロセス名(exe名)
戻り値
true成功.
false失敗.

TnbConsoleHooker.h113 行目に定義があります。

◆ IsAlived()

bool IsAlived ( void  ) const

[確認] プロセス生存確認.

フックしているプロセスが生きているか確認できます。

戻り値
true生きている。
false

TnbConsoleHooker.h79 行目に定義があります。

◆ IsHooked()

bool IsHooked ( void  ) const

[確認] フック済み?

戻り値
trueフック済み。 Execute() 使用時も「フック済み」になる。
false否。

TnbConsoleHooker.h68 行目に定義があります。

◆ SendString()

bool SendString ( LPCTSTR  lpsz)

[送信] 文字列送信.

覚え書き
「Enter」は '¥r' を使います。
引数
lpsz文字列
戻り値
true成功
false失敗

TnbConsoleHooker.h219 行目に定義があります。

◆ SetLastString()

void SetLastString ( const CStrVector vs)

[設定] 取得文字列設定.

GetLastString() で得られる文字列を設定します。

引数
vs文字列

TnbConsoleHooker.h403 行目に定義があります。

◆ Terminate()

void Terminate ( void  )

[設定] ターミネート.

Execute() で実行したアプリを終了します。

TnbConsoleHooker.h167 行目に定義があります。

◆ Unhook()

void Unhook ( void  )

[設定] アンフック.

Hook() を解除します。

TnbConsoleHooker.h177 行目に定義があります。

◆ WaitForExit()

bool WaitForExit ( DWORD  to)

[処理] 終了待ち.

フックしているコンソールプロセスの終了待ち

引数
toタイムアウト(ms)
戻り値
true終了している or 時間内に終了した
false終了しない。

TnbConsoleHooker.h197 行目に定義があります。

◆ WaitString()

bool WaitString ( LPCTSTR  lpsz,
DWORD  to 
)

[取得] 指定文字列待ち.

覚え書き
本メソッド中に取得した文字列は GetLastString() で得られます。
引数
lpsz待ち文字列
toタイムアウト(ms)
戻り値
true待ち文字列が来た
falseタイムアウト.exe終了

TnbConsoleHooker.h306 行目に定義があります。

◆ WaitStringEx() [1/2]

int WaitStringEx ( const CStrVector words,
DWORD  to 
)

[取得] 指定文字列待ち.

覚え書き
本メソッド中に取得した文字列は GetLastString() で得られます。
引数
words待ち文字列群
toタイムアウト(ms)
戻り値
0以上待ち文字列が来た。数値は検出した words のインデックス。
-1タイムアウト
-2exe終了

TnbConsoleHooker.h341 行目に定義があります。

◆ WaitStringEx() [2/2]

int WaitStringEx ( LPCTSTR  lpszWord1,
LPCTSTR  lpszWord2,
DWORD  to 
)

[取得] 指定文字列待ち.

覚え書き
本メソッド中に取得した文字列は GetLastString() で得られます。
引数
lpszWord1待ち文字列1
lpszWord2待ち文字列2
toタイムアウト(ms)
戻り値
0待ち文字列1が来た。
1待ち文字列2が来た。
-1タイムアウト
-2exe終了

TnbConsoleHooker.h380 行目に定義があります。