- 1 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 10:56:37 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/ スレを勃てるまでもないC/C++の質問はここで 5 pc11.2ch.net/test/read.cgi/tech/1230516307/ スレを勃てるまでもないC/C++の質問はここで 6 pc11.2ch.net/test/read.cgi/tech/1231564903/ スレを勃てるまでもないC/C++の質問はここで 7 pc11.2ch.net/test/read.cgi/tech/1232983248/ スレを勃てるまでもないC/C++の質問はここで 8 pc12.2ch.net/test/read.cgi/tech/1235921779/ スレを勃てるまでもないC/C++の質問はここで 9 pc12.2ch.net/test/read.cgi/tech/1240022781/ スレを勃てるまでもないC/C++の質問はここで 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ スレを勃てるまでもないC/C++の質問はここで 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ スレを勃てるまでもないC/C++の質問はここで 12 pc12.2ch.net/test/read.cgi/tech/1248010352/
- 152 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 19:39:50 ]
- >>144
PythonやRubyを高級言語と分類することには特に異論はないが、 プログラミングを職業とするということへの誤解を生む表現だな。
- 153 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:03:54 ]
- こいつをご覧くだせー。
#include <stdio.h> #define VIEW() printf("a = %d\n", a) int a = 0; void func(void); int main(int argc, char *argv[]){ int a = 10; VIEW(); { int a = 20; VIEW(); } VIEW(); func(); ::a = 30; /* (1) */ func(); return 0; } void func(void){ VIEW(); return; } まあ、見ていただければわかると思うが、変数名についての実験を行った。 グローバル変数と同じ名前のローカル変数を使うと、そのグローバル変数を参照するには :: を使えばよい。 ところで、この :: (グローバル名前空間) って純粋 C でも使える?
- 154 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:22:30 ]
- >>153
C言語にはnamespaceすらない んだったきがするが。
- 155 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:33:43 ]
- >>153 グローバル変数を使わなければよい。
- 156 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:46:56 ]
- >>154
そうか... Thanks! >>155 ぐろ〜ばる☆
- 157 名前:107 [2010/01/03(日) 00:50:30 ]
- >>144
まあ職業はともかく、実際C/C++で書かれているプログラムは多いですし 是非しっかり使えるようになりたいですね。 回答していただいた皆さん、ありがとうございました。
- 158 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 02:43:09 ]
- CRITICAL_SECTIONはグローバル変数じゃないといけないの?
ネット上のサンプルのほとんどがグローバル。 スレッド生成のときに渡すのは駄目なの?
- 159 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 09:31:46 ]
- >>158
Win32APIのCRITICAL_SECTION構造体かな? グローバルにおく必要は無いよ。普通はメンバー変数に置く。 スレッド間の同期に使うものだからスレッド作成前に作ってかまわない。 CRITICAL_SECTION構造体はコピーできないからポインタ渡しで渡すこと。 ただ、質問のようにスレッド生成時に渡すものではなく、スレッド間で競合するリソースをアクセスするときに、そのリソースが持ってるCRITICAL_SECTIONの構造体を参照してクリティカルセクションに入るようにする。
- 160 名前:デフォルトの名無しさん [2010/01/03(日) 20:41:46 ]
- 初心者質問ですいません
bool false の読み方が良くわからないので正しい読み方を教えて欲しいです
- 161 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 21:04:33 ]
- >>160
public.research.att.com/~ttsweb/tts/demo.php このサイトで聞きなさい。
- 162 名前:デフォルトの名無しさん [2010/01/03(日) 22:16:14 ]
- >>161
まったくわかりませんでした
- 163 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:17:32 ]
- 流暢な英語すげぇ
- 164 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:20:09 ]
- bool ブール
false フォールス
- 165 名前:デフォルトの名無しさん [2010/01/03(日) 22:36:43 ]
- >>164
ありがとうございます フォルスって読んでました
- 166 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:37:57 ]
- >>161
長年のchar論争に決着が…!
- 167 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:03:37 ]
- >>166
まさかcharを こう発音されるとは思ってなかったわw
- 168 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:07:57 ]
- >>165
フォルス=陰茎
- 169 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:19:00 ]
- char論争なんて無い
当然チャーだ
- 170 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:27:20 ]
- >>168
それは間違い
- 171 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:28:25 ]
- > Phallus
> ギリシャ語で「ふくらんだもの」のこと。 > 男性の性器、男根を意味する言葉。特に勃起した状態を指す > なお発生学においては、男性の陰茎だけでなく女性の陰核も指す。
- 172 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:33:29 ]
- phallusはファルス
- 173 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:43:07 ]
- >>169
は?シャアに決まってるだろJK
- 174 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:45:39 ]
- うけると思った?
- 175 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 00:23:59 ]
- チャじゃねーの
- 176 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 02:31:57 ]
- 質問です。
std;;string str;の中に例えば test,abcd,efg と格納されていた場合、「 , 」の後だけを個別に取得出来ないでしょうか?
- 177 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 03:23:17 ]
- find() して substr()…あ、いや
>std;;string str; ↑なんぞ
- 178 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 13:03:52 ]
- >>177
ただのミスですw ありがとうございます、ちょっとやってみます。
- 179 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 13:31:30 ]
- >>177
うおおお!ありがとうございました! 簡易スクリプトのコマンドで悩んでいましたが、無事にコマンドと引数を取得出来ました。 凄い勉強になりました!ありがとう!
- 180 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 15:33:04 ]
- 何か引数のポインターがNULLだったときは例外投げろと言われたのですが、
JAVAのNullPointerExceptionみたいなのないですか。 どこをどう探してもC++にNULLっぽい例外がないのですが
- 181 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 15:35:01 ]
- ない。自分で例外投げろ
- 182 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:22:56 ]
- これで良い? ぬるぽ
/** * JavaのNullPointExceptionに相当する例外クラス. */ class null_point_error : public std::logic_error { public: null_point_error (const std::string& what) : logic_error(what) {}; };
- 183 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:15:58 ]
- ∧_∧
( ・∀・) | | ガッ と ) | | Y /ノ 人 / ) < >__Λ∩ _/し' //. V`Д´)/ (_フ彡
- 184 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 19:07:32 ]
- >>180
C++にはOSが検出するNULLポインタ例外またはアクセス違反例外は無い。しかし、VC等のベンダ拡張で構造化例外を使うとそれらの例外はキャッチできる。 C++の参照やイテレータはNULLを排除してるし、C++では特にNULLは使わなくっても設計できなくはない。
- 185 名前:デフォルトの名無しさん [2010/01/04(月) 19:24:19 ]
- MFCでダイアログベースの開発を行っています。
今回、クライアント側の要望で、ダイアログ、ウィンドの背景や、ボタンなどいろいろなアイテムを スキンを使用したGUIにする要望がありました。 要は見た目の話ですが・・・・ そこで、市販のスキンライブラリー(スキン作成ソフト)を使用しようといろいろ探してみたのですが、 海外のものしか見つかりませんでした。 過去の業務で同じようなスキンライブラリを使用、または検討した人がいましたら、そのソフト(ライブラリー名)を ご教授お願いできないでしょうか?一長一短もありましたら教えていただければうれしいです。 自分で探したところ、SkinCrafter(デモ版)が少し使いやすかったです。 ボタンなどのイメージを1枚ずつ1ファイルとして登録するのが少し面倒でしたが・・・
- 186 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 19:27:21 ]
- ダイアログを変えたいならリソースDLLを使えばいいんじゃね?
- 187 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 22:14:14 ]
- >>184 いや引数で Hoge* hoge みたいなのがあって
間違えてNULLを渡したら例外飛ばせコラーって上から言われたのですよ
- 188 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 22:32:19 ]
- Hoge& hoge
- 189 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 22:37:57 ]
- ウィンドウプロシージャのサブクラス化するために(www.geocities.jp/ky_webid/win32c/064.html
SetWindowLongでクラスのメンバ関数を渡そうとすると型が違うらしくコンパイルエラー メンバ関数をstaticつけて静的にするとコンパイル通る、普通の関数でもおk 動的なクラスのメンバ関数のアドレスを(LONG)(LONG_PTR)に変換する方法ない?
- 190 名前:デフォルトの名無しさん [2010/01/05(火) 13:03:14 ]
- IEのプラグインを作成を考えています。 作成するのは初めてです。
プラグインdllが、外部のファイル操作(DB参照)、レジストリのパラメータ取得することは可能でしょうか?
- 191 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:26:25 ]
- 質問です。
以下のコードを実行するとx,yがそれぞれ 00000000, 00000001になるのですが これはどういうことなんでしょうか? コンパイラはGCCとVS2008Expressで同じ結果でした。 unsigned int i = 32, x, y; x = 1u << 32; y = 1u << i; printf("%08x %08x\n", x, y);
- 192 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:31:15 ]
- >>191
ECC6.2.1では00000001, 00000001 32bitモードでの32回以上のシフトは80286以上で未定義
- 193 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:39:39 ]
- >>192
未定義なんですか。 ということは言語や処理系の問題ではないという事でしょうか? 左シフトは0埋めされるので必ず0になると思っていたんですが。 勉強になりました。
- 194 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:51:37 ]
- >>193
IntelとかAMDからPDFをDLして嫁
- 195 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:12:33 ]
- epollのEPOLLET相当のことをkeventでやりたいんだけどフラグとかってあります?
それともデフォルトでエッジトリガだったりしますか
- 196 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 20:36:48 ]
- プロジェクトで使う定数一覧みたいなヘッダーファイルってなんて名前にしてますか
どうにも良い名前が考えつかない。
- 197 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 20:46:23 ]
- >>196
constants.hpp これじゃだめ?
- 198 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 20:47:47 ]
- >>196
macros.h
- 199 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 20:49:56 ]
- >>198
マクロかよw
- 200 名前:196 mailto:sage [2010/01/05(火) 20:50:47 ]
- constants.hpp
macros.h イマイチ
- 201 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 20:52:48 ]
- common.h
global.h
- 202 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 21:03:20 ]
- CONSTS.H
- 203 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 22:12:21 ]
- typedef、定数、基底クラスのインタフェース
このあたりはいつも foundation.hpp としてまとめてる。
- 204 名前:196 mailto:sage [2010/01/05(火) 23:06:38 ]
- constants.hpp
macros.h common.h global.h CONSTS.H foundation.hpp イマイチ
- 205 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 23:08:52 ]
- stdafx.h
- 206 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 00:56:59 ]
- 「プロジェクトで使う定数」なら
$(プロジェクト名)_constants.h 何に使う定数なのか自覚してるなら迷うわけがない ただファイル数を減らしたいために関係ない定数を同じヘッダに書くのはどうかと
- 207 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 01:03:53 ]
- >>187
何の例外投げればいいか上に聞け 何も指定されなければ他のコード見て真似しろ 分からなければstd::runtime_errorかstd::invalid_argumentでも投げとけ
- 208 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 01:14:54 ]
- >>189
ない。だから、少し間接的な方法をとる。 ウィンドウハンドルに好きな値を関連付ける機能があるので、オブジェクトへのポインタを登録しておくというもの。 こんな関数をグローバルまたはクラスの静的メンバ関数として定義し、 SetWindowLongPtr(hButton, GWLP_WNDPROC, (LONG_PTR)ButtonSubWndProcEntry)のように渡す。 (この問題とは直接関係ないが、SetWindowLongPtr使え) あと、SetWindowLongPtr呼ぶ前に、SetProp(hButton, TEXT("MyClass object"), オブジェクトへのポインタ);する。 LRESULT CALLBACK ButtonSubWndProcEntry(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) { MyClass* p = static_cast<MyClass*>(GetProp(hwnd, TEXT("MyClass object"))); return p->ButtonSubWndProc(hwnd, msg, wp, lp); }
- 209 名前:1889 mailto:sage [2010/01/06(水) 04:17:13 ]
- >>208
thx、打開できそうだ
- 210 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 13:15:21 ]
- >>204
ore_project_consts.h
- 211 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 14:45:50 ]
- boost::shared_ptrはスレッド対応してるらしいんですが、std::tr1::shared_ptrのほうもスレッド対応してるんでしょうか?
- 212 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 19:55:19 ]
- >>211
C++にはスレッドとかそういう概念自体が存在しないんじゃない? もしそうだとすると > std::tr1::shared_ptrのほうもスレッド対応してるんでしょうか? 実装次第ということになりそうだが。。。
- 213 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 20:49:34 ]
- MT-safeかどうかを訊ねてるに決まってるだろ
- 214 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 20:57:02 ]
- だから実装次第つってんだろ・・・
- 215 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:06:55 ]
- >>198
Fortranだと、Macross.Fだな。
- 216 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:18:28 ]
- >>211 VCのTRはスレッドセーフみたいだね。
C++0xはスレッドに対応するからスレッドセーフだと期待してるんだけどね。 boost::shared_ptrとstd::shared_ptrの違いとかどっかに書いてないかなあ?
- 217 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:44:46 ]
- >>213
こいつ、死ねばいいのにね。
- 218 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:51:06 ]
- ひどいこと言わないで
- 219 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:59:39 ]
- まあ、実装依存っていう回答は無いわな・・・
- 220 名前:217 mailto:sage [2010/01/06(水) 23:04:11 ]
- >>219
おい 他人のふりしないではっきり言えよ。 じゃあお前は std::numeric_limits<int>::max()はいくらを返すのですか? って言われたらなんて答えるんだよ?
- 221 名前:デフォルトの名無しさん [2010/01/09(土) 21:21:43 ]
- 本家sourceforgeがすごくつながりづらいんだけど俺だけ?
- 222 名前:217 mailto:sage [2010/01/10(日) 23:14:50 ]
- >>219
おい、逃げないでちゃんとレスしろよ。 最近はバカが根性も失って、負けるとしっぽを巻いて逃げるから もうどうしようもないな。
- 223 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 12:30:45 ]
- こういうコードを見つけました。
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, (float[]){0.3f, 0.3f, 0.3f, 1.0f}); {}で数値を囲んで関数に配列わたしてます。 gccだと、似たようなことしてコンパイル通りました。 これって、純粋なCの文法なんですか?
- 224 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:40:43 ]
- >>223
void func(int*a){} int main(void){func((int[]){1,2,3});} を、gccで-pedanticオプションつけたら foo.c:2: 警告: ISO C90 forbids compound literals って出たから、C90じゃダメみたいだよ。 C99ではどうやら認められてるみたいだが。
- 225 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 15:53:29 ]
- >>223-224
うん、C99の機能。
- 226 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:16:26 ]
- explicitって引数2こ以上とvoidには無意味?
- 227 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 00:19:38 ]
- >>226
voidってデフォルトコンストラクタのことを言いたいの? なら君の言う通り。・
- 228 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 20:30:14 ]
- コンストラクタやデストラクタにvoidって書いたらエラーにならなかった?
- 229 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:31:28 ]
- なんないでしょ
- 230 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:36:19 ]
- >>229
なるよ。
- 231 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:39:41 ]
- >>229
なるだろ
- 232 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:58:41 ]
- class T {
void T(); //エラー T(void); //エラーじゃない }; >>226-228の流れ、特に>>226は明らかに引数の話
- 233 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:01:23 ]
- >>232
そうか。 よく読んでなかった。
- 234 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:10:26 ]
- というか>>226が質問丸投げで出て来ない以上、
適当な返事になってもいたしかたあるまい。
- 235 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 12:26:33 ]
- template <class func_t> struct Hoge;
template <class ret_t, class arg_t> struct Hoge<ret_t (*) (arg_t)> { ... }; @ template <class ret_t, class arg_t> struct Hoge<ret_t (arg_t)> { ... }; A @とAって明確な違いってありますか?
- 236 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:27:43 ]
- >>235
なんじゃこりゃ? 難解だなぁ〜。っていうかこういうの出来るのかな? Hogeの中のfunc_tの型が、「@」はret_t型を返し、arg_t型の引数を取る関数へのポインタで、 「A」はret_t型を返し、arg_t型の引数を取る関数に特定されるということ? 一応違うバリエーションが作られるのではないだろうか?
- 237 名前:デフォルトの名無しさん [2010/01/16(土) 21:09:25 ]
- 複数のif文とelse if文の上手な書き方を教えてください。
- 238 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 21:32:15 ]
- 条件から整数を導出する関数かクラスを作ってswtich caseか関数テーブルで分岐する。
- 239 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 02:18:13 ]
- 画面に表示されているものを全部消すにはどうしたらいいですか?
エスケープシーケンスを使った方法(printf("\x1b[2J");)では出来なかったので他の方法があれば教えてください
- 240 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:29:26 ]
- 環境を説明せずに、エスパーでも求めてるのか?
どの環境でも出来ることは、画面の行数分改行しろ、流れて消えるからw
- 241 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:32:07 ]
- ディスプレイの電源を切る。
- 242 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:40:15 ]
- うまくいきました!
ありがとうございました。
- 243 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:40:42 ]
- どういたしまして
- 244 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:47:24 ]
- 行数分解行なのか? マジ正解だったか、エスパーになったのか俺w
- 245 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 15:08:42 ]
- >>239
for (i = 0; i < 1000; i++) printf("\n"); コンソールの行数が1000行以上だと使えないんで、環境依存になるけど。
- 246 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 15:42:04 ]
- >>244
初心者用プログラミングスレに長く居るとエスパーになるらしいよ。 もしかして君も?
- 247 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:50:38 ]
- あるサイトの画像掲示板にアクセスすると
広告と画像が表示されるので 画像のみの直リンのURLを生成してアクセスすると403となるのですが、 これを回避する方法はないでしょうか?
- 248 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 18:32:36 ]
- そのサイトが何を見て403にしてるのか調べてそこをうまくやればいいんじゃない?Referrerとか。
プログラムの質問かそれ?
- 249 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:47:14 ]
- システムフックについて質問です
コンパイラは Borland C Compiler 5.5.1 OSはWindows XP SP2 ここに全部コード貼れないのでzipでうpします。 ソース(DLL用と、呼び出す本体):www.dotup.org/uploda/www.dotup.org575327.zip_4DPKVJyH4VjgO7MaoGhC/www.dotup.org575327.zip キーボードをフックして、printf関数で何が押されたか、を見たいんですが フォーカスがそのプログラムのウィンドウに来てるときじゃないと何故か反応しないんです。 何故でしょう。 日本語不自由ですみません。
- 250 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 18:27:23 ]
- 母国語でOK
- 251 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 18:37:30 ]
- 自分のプロセスだけなら共有データセグメントあたりだろ
- 252 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:18:38 ]
- >249
・フック関数は、フックされた側のスレッドで実行される。 ・GUI アプリでは stdout が開かれていないため printf は 使用できない。 ・どうしてもコンソールに表示したいなら、 フックされた側(フック関数)から、プロセス間通信でフックした側ににデータを送信する。
|

|