タスクマネージャへのタブページ追加 – 固定ページ 2 – プログラミング – Home

タスクマネージャへのタブページ追加
 
通知
すべてクリア

タスクマネージャへのタブページ追加

固定ページ 2 / 2

Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

基本的には r さんの発言に同意。
> 無理がないとは言い切れないですね。
> タスクマネージャをどうにかしようなんて危ういことは避けたほうが無難。
> (何とかなりそうな気はするけど...)

まずは、適当な別のタブ付きダイアログで試すのが、切り分けの意味でも安全だとは思いますが。

>ITO さん
# DLL の用途を限定するのは、定石的な正攻法という意味で正しい面もあると思いますが、
# DLL のポテンシャル自体はもっと高く広いものですし、インジェクションしてるような
# コードでそれを論じてもあまり意味がない気がします。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CreateDialog が失敗するのでしたら、
GetLastError() で何かわかりませんか?


返信引用
r
 r
(@r)
ゲスト
結合: 22年前
投稿: 48
 

TCN_SELCHANGEよりも前に発生するであろう、
TCN_SELCHANGINGでも騙しておかないと駄目かもしれない。

その他にもいろいろ障壁はあるかもしれない。
追加ダイアログから親ウィンドウへ送られるメッセージ類
(WM_INITDIALOGなど)は放っておいても大丈夫なんだろうかとか、
他のダイアログをShowWindowなどで操作することで内部矛盾が生じて
癇癪起こしたりしないんだろうかとか。
騙したい相手が画面をどのように管理してるのかわからないのだから、
どうすれば間違いなく動くのかという確証も決して得られはしないと思われ。

#DLLインジェクションはシェル拡張みたいに公式な手法ではなく
#騙しの手法だから、「良い子は真似をしないでね」の世界。
#なので、アドバイス可能なのもせいぜいこの程度。
#その先は何があろうと自力で何とかするご覚悟を。


返信引用
だくだく
 だくだく
(@だくだく)
ゲスト
結合: 18年前
投稿: 5
Topic starter  

みなさんアドバイスありがとうございます
やはりかなり難しいですね。。。
また進展がありましたら書き込みますのでよろしくお願いします


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

># DLL の用途を限定するのは、定石的な正攻法という意味で正しい面もあると思います
が、
># DLL のポテンシャル自体はもっと高く広いものですし、インジェクションしてるよう

># コードでそれを論じてもあまり意味がない気がします。
そうですね、DLLというとライブラリーという観点に立ってしまってまずいですね。
そういえば、共有プロセスの件の時もDLL使ってましたね。


返信引用
r
 r
(@r)
ゲスト
結合: 22年前
投稿: 48
 

DLL_PROCESS_ATTACH 内で CreateDialog() を実行しているので、
ダイアログ作成は LoadLibrary() を呼び出したスレッド
(たぶんリモートスレッド)のコンテキストで実行されている。
リモートスレッドがメッセージループを回さずに終了しているなら、
タブをクリックする前にダイアログは破棄されているだろう。
どのウィンドウがどのスレッドに属していて、どんな具合に動いて
いるのかが理解できていないと、進展は程遠い。
あと、DLL の生存期間を超えてサブクラス化したままだったら、
そこでお亡くなりになるだろう、ってことも容易に想像できる範囲。
このあたり、ちゃんと考えて制御してますか?

#誰のゴリ押しでやるはめになってるのか知らないけど、
#進展などできずにギブアップするほうが、幸せかも。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

これらは、うまくいってますか?
>//タスクマネージャのインスタンスハンドルを取得
> g_hTaskManagerInst = (HINSTANCE)GetWindowLong(g_hTaskManager,
> GWL_HINSTANCE);
> //タスクマネージャプロシージャのサブクラス化
g_OriginalTaskManagerWndProc = (WNDPROC)SetWindowLong(g_hTaskManager,
> GWL_WNDPROC, (LONG)NewTaskManagerWndProc);


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

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