回答編集履歴

1

出力について追記

2021/06/13 09:05

投稿

matukeso
matukeso

スコア1666

test CHANGED
@@ -3,3 +3,25 @@
3
3
 
4
4
 
5
5
  hHookを.sharedにおくのは、c#側exeのHookProc.dllのhHook (SetWindowsHookEx呼んだ結果)をnotepad.exeのHookProc.dllと共有してCallNextHookExに有効なhHookを渡せるようにする意図ですかね。ただ、CallNextHookExでは「HHOOK hhk : This parameter is ignored.」なので必要は無いですが。
6
+
7
+
8
+
9
+ 追記
10
+
11
+ まず、CallWndProcはnotepad.exeのプロセス側で動いているんですが、それは大丈夫ですか?
12
+
13
+ notepad.exeのcoutと、自プロセス(C#exe)のcoutは別で、フックしたくらいで混ざったりしません。
14
+
15
+ 表示するだけなら、下記のようにnotepad側にコンソールを割り当てるとかAttachConsoleする方法が楽でしょう。
16
+
17
+ ```cpp
18
+
19
+ if( GetStdHandle(STD_OUTPUT_HANDLE) == 0 ) {
20
+
21
+ AllocConsole();
22
+
23
+ freopen( "CONOUT$", "w", stdout);
24
+
25
+ }
26
+
27
+ ```