DLLのプロシージャからEXEに値を返す – プログラミング – Home

DLLのプロシージャからEXEに値を返...
 
通知
すべてクリア

[解決済] DLLのプロシージャからEXEに値を返す


n_n
 n_n
(@n_n)
ゲスト
結合: 19年前
投稿: 31
Topic starter  

どうも、激烈なる初心者で申し訳ありません。
DLLのフックプロシージャで、
// フックするプロシジャー
LRESULT CALLBACK MyCallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if( nCode == HC_ACTION )
{
UINT msg;
if (lParam & 0x80000000)
msg = WM_KEYUP;
else
msg = WM_KEYDOWN;
if (msg == WM_KEYUP)
{
//ここで、wParamの値を呼び出したEXE側に渡したいのですが...
}
}
return CallNextHookEx(g_hHookWnd, nCode, wParam, lParam); //次のフックを呼ぶ
}
どうしたら出来るでしょう。教えてください。


引用未解決
トピックタグ
ドルドル
 ドルドル
(@ドルドル)
ゲスト
結合: 19年前
投稿: 96
 

 n_n さんへ
 現在作られているフックのプログラムの内容は 直前に書かれた下記の過去ログの内容
ですか??
> http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200604/06040042.txt
 もし、そうであるならば 

 i) フックをインストールする際に 共有メモリを作成し 呼び出し側のアプリのハン
ドルを共有メモリで保持する。

 ii) その保持したハンドルを利用して PostMessage() とかSendMessage()すれば問題
ないはずです。
 フックに関して当掲示板にたくさんの質問が書かれているので、一度過去ログを検索
してみてください。


返信引用
n_n
 n_n
(@n_n)
ゲスト
結合: 19年前
投稿: 31
Topic starter  

ああそうか、なるほど。有り難うございます。
それでいけますね。
ところで、新しいスレを立てる必要があるかも知れませんが、任意の現在働いているプ
ロセスのウインドウハンドルを取得することは、可能なんでしょうか?


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

任意のを取得なら FindWindow なり何なりでどうにでもなると思いますが、
呼び出し側のアプリが特定されているなら、フックをインストールするときに
引数としてアプリから DLL にウィンドウハンドルを渡すのが一般的ではないでしょう
か。


返信引用
n_n
 n_n
(@n_n)
ゲスト
結合: 19年前
投稿: 31
Topic starter  

どうも、ありがとうございます。
DLLの場合は、いんすう渡しでいけました。
なるほど、FindWindowなるAPIがあるのですか。使ってみます。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> いんすう渡しでいけました

念のためツッコんでおくが、「ひきすう」ね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました