■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build48
251
名前:
デフォルトの名無しさん
:2006/12/24(日) 01:13:58
>>248
VsCompletorPaneっていうクラス名のウィンドウを出してる。確認してみよ。
252
名前:
デフォルトの名無しさん
:2006/12/24(日) 01:51:47
>>238
シェル名前空間を通せば普通のフォルダと同じように扱える。
http://pc8.2ch.net/test/read.cgi/tech/1124559962/252-253
253
名前:
248
:2006/12/24(日) 01:59:34
いろいろ試してみます。
ありがとうございました。
254
名前:
199
:2006/12/24(日) 02:36:41
ありがとうございました。
255
名前:
デフォルトの名無しさん
:2006/12/24(日) 02:44:18
スレッドが実行中かどうか調べられるAPIありますか?
SuspendThreadやResumeThreadの戻り値であるサスペンドカウントを
スレッドの状態を変えることなく調べたいです
256
名前:
201
:2006/12/24(日) 04:09:58
zipfldr.dll は使い方がよくわからなかったので
zlib を使うことにしました。
お答え頂いた方々、ありがとうございました。
257
名前:
デフォルトの名無しさん
:2006/12/24(日) 04:14:38
>>255
WaitForSingleObject
258
名前:
デフォルトの名無しさん
:2006/12/24(日) 04:27:47
>>257
WaitForSingleObjectはスレッドが終了したかどうかの判定には使えるけど
実行中か一時停止中(SuspendThreadなどによる)かの判定には使えない希ガス
259
名前:
デフォルトの名無しさん
:2006/12/24(日) 08:57:25
>>255
http://pc8.2ch.net/test/read.cgi/tech/1157814833/38
260
名前:
デフォルトの名無しさん
:2006/12/24(日) 12:04:02
( ´,_ゝ`)プッ ねーのかよ
261
名前:
デフォルトの名無しさん
:2006/12/24(日) 12:20:26
そうすると.netのSystem.Threading.Thread.ThreadStateはどうやって提供されてるんだ?
秘蔵のAPIってやつ?
262
名前:
デフォルトの名無しさん
:2006/12/24(日) 12:27:45
>>261
自分でカウントしてんじゃねーの?
263
名前:
デフォルトの名無しさん
:2006/12/24(日) 14:00:29
CSliderCtrlでスライダーのページエリア(?)をクリックするとページサイズだけそちらに移動しますよね?
そうじゃなくてクリックした位置にジャンプして欲しいのですが、どのようにやったらよいか教えていただけますか?
よろしくお願いします
264
名前:
255
:2006/12/24(日) 14:36:41
GetThreadContextって関数の説明に
You cannot get a valid context for a running thread.
Use the SuspendThread function to suspend the thread before calling GetThreadContext.
って書いてあってこれを利用したらいけるかと思ったらSuspendThread呼び出さなくても成功しちゃってるorz
265
名前:
デフォルトの名無しさん
:2006/12/24(日) 14:52:00
1CPUだったら必ず成功する気がせんでもない
266
名前:
デフォルトの名無しさん
:2006/12/24(日) 15:00:04
アプリケーション自身がアクティブかどうかって、どうやって判断するんだっけ・・・
267
名前:
デフォルトの名無しさん
:2006/12/24(日) 16:01:20
BOOL __stdcall AmIActive?(void)
268
名前:
デフォルトの名無しさん
:2006/12/24(日) 16:15:39
>>263
やったことないが、pageup/downが来たらマウスの位置調べてthumbtrack投げなおすとかどう?
269
名前:
デフォルトの名無しさん
:2006/12/24(日) 16:38:41
>>266
(1)フォアグラウンドウィンドウが自プロセスのものかどうかを見る
(2)WM_ACTIVATEAPPだかなんだかを拾う
のどちらかじゃねえかな
他に簡単な手があったら教えて
270
名前:
266
:2006/12/24(日) 16:46:03
これでできたっぽいっす
GetActiveWindow() == GetTopLevelWindow(hWnd)
271
名前:
デフォルトの名無しさん
:2006/12/24(日) 16:49:32
いまだに__stdcallの意味が理解できない俺
272
名前:
デフォルトの名無しさん
:2006/12/24(日) 17:32:45
おれも
273
名前:
デフォルトの名無しさん
:2006/12/24(日) 17:59:57
じゃあ __pascal と __cdecl はわかるのか
274
名前:
271
:2006/12/24(日) 18:26:54
わからないぜw
ただpascalは16ビット時代のなんちゃらって記憶がかすかに
cdeclはランタイムライブラリ?
わかんねwwwwwwww
275
名前:
271
:2006/12/24(日) 18:27:29
クリスマスに俺何してんだろうなorz
276
名前:
デフォルトの名無しさん
:2006/12/24(日) 18:44:13
>>274
引数の積み方と後処理をどっちでやるか、という話
277
名前:
255
:2006/12/24(日) 18:51:14
GetThreadTimesって関数見つけたんですけどSleep(0)くらいじゃ変化なしorz
bool is_run(HANDLE h) {
FILETIME create, exit, kernel1, kernel2, user;
GetThreadTimes(h, &create, &exit, &kernel1, &user);
Sleep(0);
GetThreadTimes(h, &create, &exit, &kernel2, &user);
returnkernel1.dwLowDateTime != kernel2.dwLowDateTime ||
kernel1.dwHighDateTime!=kernel2.dwHighDateTime;
}
278
名前:
デフォルトの名無しさん
:2006/12/24(日) 19:01:56
手段が目的に変わりつつある予感。
サスペンドカウントを調べたい理由って何?
279
名前:
255
:2006/12/24(日) 19:07:11
>>278
プロセスのHANDLEをラップしたクラスを作ってます
280
名前:
デフォルトの名無しさん
:2006/12/24(日) 19:22:55
>>279
理由になってねー
281
名前:
デフォルトの名無しさん
:2006/12/24(日) 20:49:27
>>279
だからなんでそんなのを作ってんだよって話なわけだが。
282
名前:
255
:2006/12/24(日) 20:50:51
ビールスを作ってます
283
名前:
デフォルトの名無しさん
:2006/12/24(日) 21:00:21
>>264
ヒント: valid
284
名前:
デフォルトの名無しさん
:2006/12/25(月) 01:43:19
>271
呼出規約でぐぐれ
パラメータの渡し方とスタックのクリーンアップの責任の所在
285
名前:
デフォルトの名無しさん
:2006/12/25(月) 02:08:36
>>268
ありがとうございます。
やってみます。
286
名前:
デフォルトの名無しさん
:2006/12/25(月) 02:29:35
>271
シグネチャの不一致を利用した地味で効果的な嫌がらせ
287
名前:
デフォルトの名無しさん
:2006/12/25(月) 02:35:04
ごちゃごちゃ言ってるとNearポインタ&Farポインタ復活さすぞ!
288
名前:
デフォルトの名無しさん
:2006/12/25(月) 02:46:49
ごめんなさいもうしないので許して
289
名前:
デフォルトの名無しさん
:2006/12/25(月) 13:07:01
変声機を作りたいのですが、どなたかそれに関しての良いAPIを知っていますでしょうか。
290
名前:
デフォルトの名無しさん
:2006/12/25(月) 13:54:46
APIつーか、SDKのサンプルに無かったっけ
291
名前:
デフォルトの名無しさん
:2006/12/25(月) 14:40:24
なんちゃってエクスプローラを作るのですが、
普通のエクスプローラの様に、
デスクトップ
マイ ドキュメント
マイ コンピュータ
A:
C:
H:
コントロール パネル
マイ ネットワーク
ゴミ箱
:
のリストを列挙する関数とかあります?
あるなら、その関数名を教えてください・・・
292
名前:
デフォルトの名無しさん
:2006/12/25(月) 15:31:32
SHGetDesktopFolder
名前の通りデスクトップ(へのインタフェース)を返す。
293
名前:
デフォルトの名無しさん
:2006/12/25(月) 17:33:23
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/namespace.asp
これもよく読んどくといいよ
294
名前:
291
:2006/12/25(月) 18:26:27
>>292
>>293
どうもありがとうございます!
調査していきます。
295
名前:
デフォルトの名無しさん
:2006/12/25(月) 23:45:16
x64では呼び出し規約が統一されてめでたい限り。
というかもともとx86以外は1つしかないんだけど(x86のみ過去とのしがらみで
ごちゃごちゃあった)
296
名前:
124
:2006/12/26(火) 00:58:00
ええと、ヘンなコードだったかもしれないですが
EnableWindowはそれほど関係なかったみたいです。
x.cをこういうのにしてみたら、結局同じような現象が起きます。
ただ、戻ってきてもディスエーブルされなくなりましたが・・・
WaitForSingleObjectの間にシステムから
ウィンドウプロシージャが呼び出されてるのか、と思って
チェック用のBeepを入れてみたんですが鳴りません。
少し時間を置いた時にディスエーブルになる、
というが何とも不思議・・・
システムが2つのウィンドウが同時にイネーブルにならないように
定期的にチェックしているのだろうか?
<<x.c>>
#include <windows.h>
void execute(HWND hwnd){
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
CreateProcessA(NULL, "C:\\DATA\\PROG\\WIN32\\ディスエーブル\\msgbox.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
}
LRESULT CALLBACK MyWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){
LRESULT lr;
Beep(200, 100);
lr = DefWindowProcA(hWnd, uMsg, wParam, lParam);
return lr;
297
名前:
124
:2006/12/26(火) 00:59:07
124
#pragma argsused
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE b, LPSTR c, int d){
WNDCLASSA wc;
HWND hWndMain;
MSG msg;
ZeroMemory(&wc, sizeof(wc));
wc.lpfnWndProc = MyWindowProc;
wc.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
wc.lpszClassName = "MyClass";
RegisterClassA(&wc);
hWndMain = CreateWindowExA(0, "MyClass", "", WS_VISIBLE | WS_SYSMENU, 0, 0, 100, 100, NULL, NULL, hInstance, NULL);
for(;;){
if (!IsWindow(hWndMain)){
break;
}
GetMessageA(&msg, NULL, 0, -1);
TranslateMessage(&msg);
DispatchMessageA(&msg);
if (msg.message == WM_KEYDOWN){
if (msg.wParam == VK_RETURN){
execute(hWndMain);
}
}
}
return 0;
}
298
名前:
デフォルトの名無しさん
:2006/12/26(火) 01:04:26
>ディスエーブル
>イネーブル
それはギャグで言っているのか。
299
名前:
デフォルトの名無しさん
:2006/12/26(火) 01:06:52
ほんとはなんて読むの?
300
名前:
デフォルトの名無しさん
:2006/12/26(火) 01:07:29
エナブレ
ディサブレ
301
名前:
デフォルトの名無しさん
:2006/12/26(火) 01:24:05
ディスエーブル、イネーブルであってるぞ?
302
名前:
デフォルトの名無しさん
:2006/12/26(火) 01:26:52
カタカナに直すより原語表記か和訳の方が*俺*は見やすい。
303
名前:
デフォルトの名無しさん
:2006/12/26(火) 01:32:42
メッセージループを止めた状態をディスエイブルとは呼ばない。
304
名前:
デフォルトの名無しさん
:2006/12/26(火) 02:42:16
タスクマネジャで状態を監視し、応答なしの場合、
他のアプリケーションウィンドウをかぶせてぐりぐりしてみる。
-->フレームが再描画描されるならゴーストが出来ている
305
名前:
デフォルトの名無しさん
:2006/12/26(火) 03:43:41
いねぼー
ディせーぼー
306
名前:
デフォルトの名無しさん
:2006/12/26(火) 05:55:57
最近、マウスをダブルクリックするとパソコンから猫の鳴き声
みたいなのが聞こえてきます(キッキッみたいな感じ)
猫の鳴き声を消すAPI教えてください
307
名前:
デフォルトの名無しさん
:2006/12/26(火) 07:29:49
ニャー
308
名前:
デフォルトの名無しさん
:2006/12/26(火) 09:33:52
ディセーブルキャットサウンド(フォールス);
309
名前:
デフォルトの名無しさん
:2006/12/26(火) 10:21:56
>>306
ExitWindowsEx(EWX_POWEROFF, 0)
310
名前:
デフォルトの名無しさん
:2006/12/26(火) 10:47:58
KillCats( lpCATS );
311
名前:
デフォルトの名無しさん
:2006/12/26(火) 11:12:55
case WM_KILLCATS:
/* :P */
return (0);
312
名前:
デフォルトの名無しさん
:2006/12/26(火) 11:15:58
>>308
ディセーーーーブルをファルセだと有効になるにゃん
313
名前:
デフォルトの名無しさん
:2006/12/26(火) 14:33:11
CDからCD-TEXTを読み出す方法を教えてください
Win32APIでできませんか?
314
名前:
デフォルトの名無しさん
:2006/12/26(火) 14:37:18
できる
315
名前:
デフォルトの名無しさん
:2006/12/26(火) 15:07:17
どうやって?
316
名前:
デフォルトの名無しさん
:2006/12/26(火) 15:37:19
ググレ
317
名前:
デフォルトの名無しさん
:2006/12/26(火) 15:44:33
質問するとこなんだから、知ってるんなら答えてやればいいじゃん
俺ぁ知らんけど
318
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:03:44
>>317
>>1
319
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:22:07
普通に↓とかでは。
fopen("E\hoge.txt", "r");
320
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:23:20
>>319
ちょwwwCD-TEXTの意味わかってるかwww
気になったからググって見たが「CD-TEXT API」だのじゃそれらしい情報も見当たらんなぁ
321
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:38:45
red book
322
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:39:15
ドライブによって読めたり読めなかったりするとこみると
ASPIドライバ直接呼ぶんじゃね?
323
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:42:23
ぶっちゃけ
>>1
に書いてある通りにすれば20秒で見つかる件について
324
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:45:19
なんだよAPIドライバってw
325
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:47:52
>>324
326
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:52:11
>>324
327
名前:
デフォルトの名無しさん
:2006/12/26(火) 17:53:00
>>324
328
名前:
デフォルトの名無しさん
:2006/12/26(火) 18:03:32
>>324
329
名前:
デフォルトの名無しさん
:2006/12/26(火) 18:04:39
>>313
DeviceIoControlを使え。
それ以上はWin32apiでは無いので。
330
名前:
デフォルトの名無しさん
:2006/12/26(火) 18:05:44
何でもクラス化するのが好きな俺ですがウィンドウシステムを
サブクラス化するときにSetWindowLongにメンバ関数をいれる
ことが出来なくなってしまいました。?
331
名前:
デフォルトの名無しさん
:2006/12/26(火) 18:12:32
エスパーの方出番です
332
名前:
デフォルトの名無しさん
:2006/12/26(火) 18:14:15
>>324
には今年一番ワロタ
>>331
無理www
333
名前:
エスパー
:2006/12/26(火) 18:30:41
>>330
???
staticメンバ関数(静的メンバ関数)にしてみれば?
http://techtips.belution.com/ja/vc/0009/
334
名前:
デフォルトの名無しさん
:2006/12/26(火) 18:38:57
使用しているPCが。Windows日本語版かどうかを判別することはできますでしょうか?
VC++6.0です。
335
名前:
デフォルトの名無しさん
:2006/12/26(火) 19:08:38
>>334
何を要求しているかわからないけど、
GetSystemDefaultLangIDとかじゃだめ?
LCIDを求めるんじゃなく?
336
名前:
330
:2006/12/26(火) 20:15:45
>>333
それです!。
私の文が読みにくかったけど答えてくれてありがとうございます!!。
337
名前:
デフォルトの名無しさん
:2006/12/26(火) 21:42:38
SDKのプログラミングでグリッドコントロール(読み取り専用でよい)を使うにはどうすればいいですか?
リストビューを使うのでしょうか?
XP、VC6
338
名前:
デフォルトの名無しさん
:2006/12/26(火) 21:53:14
はい
339
名前:
デフォルトの名無しさん
:2006/12/26(火) 21:56:19
他にはそういったコントロールは用意されていないのでしょうか?
340
名前:
デフォルトの名無しさん
:2006/12/26(火) 21:58:04
1. リストビュー
2. Excelワークシート
3. 自作
341
名前:
デフォルトの名無しさん
:2006/12/26(火) 22:01:09
やはりリストビューですか。自作できるほどのスキルはありませんし。
MSFlexGridというのはVB用ですか?
342
名前:
デフォルトの名無しさん
:2006/12/26(火) 22:06:38
技術的にはVC++でも使えるはず。
ライセンスがどうなっているか俺は知らないから、適当に調べてくれ。
343
名前:
デフォルトの名無しさん
:2006/12/26(火) 22:17:56
ダイアログエディタでMsFlexGridを貼り付けるところまでは出来ました。
実行すると表示されませんけど。
344
名前:
デフォルトの名無しさん
:2006/12/26(火) 22:30:32
やっぱりリストビューでなんとか頑張ります
345
名前:
デフォルトの名無しさん
:2006/12/26(火) 22:48:45
>>344
MFCスレで、CListCtrlをレポート形式で扱う方法を質問したほうがいいかもね。
346
名前:
デフォルトの名無しさん
:2006/12/26(火) 22:51:27
>>345
>>337
>SDKのプログラミングで
347
名前:
デフォルトの名無しさん
:2006/12/26(火) 23:14:03
MFC(笑)
348
名前:
デフォルトの名無しさん
:2006/12/27(水) 00:37:02
VS2005でのMFCへの対応を見ると笑われてもしょうがない気がするけど
作るのに最低一ヶ月は要するようなWindowsアプリを作る場合、みんな
どのライブラリ使ってるの?
349
名前:
デフォルトの名無しさん
:2006/12/27(水) 00:40:56
>>348
UIなら、WTLを使ってます。MFCは今更使わないです。
350
名前:
デフォルトの名無しさん
:2006/12/27(水) 01:01:13
おれ描画能力とかいらんアプリしかつくんないからC#でつくる。
351
名前:
デフォルトの名無しさん
:2006/12/27(水) 02:06:21
open source に dot netですか。
ぐぐってちょっとソース見た限りMFCと似てる気がするけど、ちょっとWTLで遊んでみるね。
ありがとう
>349-350
352
名前:
デフォルトの名無しさん
:2006/12/27(水) 09:19:33
GDI+で日本語のOpenTypeフォントは使えないんですか?
まさか流石にそんなことないと思いますが、自分の環境だと使えなかったので、質問してみます。
353
名前:
334
:2006/12/27(水) 11:04:57
>>335
言語IDを取得できました。
ありがとうございました。
354
名前:
デフォルトの名無しさん
:2006/12/27(水) 11:20:54
>>352
Font名を指定するタイプのコンストラクタを使うと
でたらめのフォントを作って平然としてるっぽい。
LOGFONTを受け取る方のコンストラクタに、GDIで作った
Fontから取り出したLOGFONT構造体を渡してみたら
TrueTypeじゃないというエラーになった。
駄目なのかもね。
355
名前:
デフォルトの名無しさん
:2006/12/27(水) 11:40:14
>>352
FontFamily::GetFamilies でも OpenTypeのフォントは出てこないな。
356
名前:
306
:2006/12/27(水) 11:49:17
>>307-3012
ありがとうございました。ドライバーで本体を分解したところ
子猫がでてきました。解決しました
357
名前:
デフォルトの名無しさん
:2006/12/27(水) 12:00:33
>>3012
に期待
358
名前:
デフォルトの名無しさん
:2006/12/27(水) 12:02:12
>>3012
期待してるぞ
359
名前:
デフォルトの名無しさん
:2006/12/27(水) 12:15:39
(´Д`;)無理
360
名前:
3012
:2006/12/27(水) 13:08:19
呼んだ?
361
名前:
デフォルトの名無しさん
:2006/12/27(水) 14:19:32
先生方に質問です!
デスクトップなどから(マウスクリックなど普通の方法で)アプリケーションを起動するとき、
WinXPだとAPIフックで、explorer.exeからCreateProcess(W)が呼ばれているのが検知できますが、
Win2Kだと同じコードでも監視に引っかかりません。
madCodeHookライブラリのサンプルではWinExecとCreateProcessで監視に成功しているようなので、
呼ばれていないわけではないと思うのですが、
Win2Kでプロセスの起動を監視するのはXpとは違う細工が必要なんでしょうか?
(2kはVMPlayer上ですけど権限は両方adminで、MessageBoxなどはちゃんと検知出来てます)
362
名前:
デフォルトの名無しさん
:2006/12/27(水) 15:49:06
APIってバッファのサイズを指定しないといけないのが
いっぱいありますけど、あれはなんで必要なんでしょうか?
自分で関数作るときにはやったことないんですが。
363
名前:
デフォルトの名無しさん
:2006/12/27(水) 15:52:10
ばっふぁおーばーふろーしたらこまるでしょ
364
名前:
デフォルトの名無しさん
:2006/12/27(水) 15:58:46
パターン1 引数に大きさを渡すやつ
APIを呼ぶ言語が C/C++ とは限らないから。
パターン2 構造体に構造体の大きさを必要とするメンバを持つやつ
構造体サイズでバージョン分けするトリックをかますため。
365
名前:
デフォルトの名無しさん
:2006/12/27(水) 16:04:09
配列.lengthが使えるって便利だよな
366
名前:
デフォルトの名無しさん
:2006/12/27(水) 16:32:09
その場合、配列.num[i]とかやらなくても大丈夫?
367
名前:
デフォルトの名無しさん
:2006/12/27(水) 17:20:27
>>364
1の場合は、むしろCのため。
C++ならどうにでもできるが、どうにもしていない(== Cとして使っている)やつも多いと思う。
368
名前:
364
:2006/12/27(水) 17:25:14
>>367
ごめん そのとおりだわ。
APIは呼ばれる言語が確定的でないから、できる限り低級な言語で呼び出せるように設計されている
+ばっふぁおーばーふろー対策
ってことだね
369
名前:
デフォルトの名無しさん
:2006/12/27(水) 19:21:47
べんきょうになるなぁ
370
名前:
デフォルトの名無しさん
:2006/12/27(水) 19:48:31
質問させてください。
Overlappedを使った(非同期?重複?)なI/Oを使う場合、
メモリ上にどんどんリクエストがキューイングされていって、
バックグラウンドで逐次実行されている、みたいな感じで理解しているのですが、
これで正しいのでしょうか?
処理の完了を気にせず、ボコボコ連続でWriteFile()なんかをしても
OSが後で仕事しといてくれる、みたいな。
371
名前:
デフォルトの名無しさん
:2006/12/27(水) 21:43:28
>>370
おりはそう認識してる。
DebugViewでトレースできるんだっけ?
372
名前:
デフォルトの名無しさん
:2006/12/27(水) 22:13:26
> でたらめのフォントを作って平然としてるっぽい。
CreateFontの仕様そのまんまなのか
> 処理の完了を気にせず、ボコボコ連続でWriteFile()なんかをしても
前の完了は待たないとエラーが起きたとか一部しか書けなかった場合に
まずいんじゃ?
373
名前:
デフォルトの名無しさん
:2006/12/27(水) 22:32:11
ものすごーく初歩的なことだろうと思うのですが、
ダイアログにIDOKという名前のボタンがあって
これのハンドルを取得するにはどうすればいいんでしょうか?
VC++ & SDK
374
名前:
デフォルトの名無しさん
:2006/12/27(水) 22:47:15
>>373
この中に答えがあるよ。
ttp://msdn2.microsoft.com/en-us/library/ms644994.aspx
ttp://msdn2.microsoft.com/en-us/library/ms644995.aspx
375
名前:
デフォルトの名無しさん
:2006/12/27(水) 22:54:23
>>374
異国の言葉で書かれていて読めません
376
名前:
デフォルトの名無しさん
:2006/12/27(水) 22:58:33
>>375
だからなに?
377
名前:
デフォルトの名無しさん
:2006/12/27(水) 23:05:58
英語読めない奴はプログラマ辞めちまえ
378
名前:
デフォルトの名無しさん
:2006/12/27(水) 23:09:53
>>371
レスどうもです。トレースの話は初耳かもしれません。
>>372
確かにそうなんですが、そもそも「リクエストを溜めてくれるのか」が
いまいちハッキリしなかったもので…
どうせなら非同期処理を頼んだ時の成否で判断、ぐらい楽したいですね。
渡した送信バッファ消しちゃったりした時にえらいことになるんでしょうけど。
379
名前:
デフォルトの名無しさん
:2006/12/28(木) 01:39:11
>>352
OpenTypeフォントにもアウトライン情報がTrueTypeベースな物とPostScriptベースな物があり、
GDI+でサポートされるのは前者だけのようだ。
Office2003あたりについてくるHG正楷書-Proとかが前者のフォント (Office 2000に付いてくるのは
ただのTrueTypeフォントなので話が違う)
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_1wmq.asp
にも「ClearType antialiasing は TrueTypeフォントかTrueTypeアウトラインなOpenTypeフォントでしか
効かない」と書かれてるし、「WindowsはOpenTypeをサポートしてます」と言ってる割に、
全然ダメなんじゃねーのという感じだな。たぶんGDIのGetGlyphOutlineも使えないんだろう。
>>354
>でたらめのフォントを作って平然としてるっぽい。
ttp://msdn2.microsoft.com/en-us/library/system.drawing.font.aspx
「Remarks」参照。
380
名前:
デフォルトの名無しさん
:2006/12/28(木) 02:40:32
APIフックってLoadLibrary関連とGetProcAddressのフックしないとできないんでしょうか?
381
名前:
デフォルトの名無しさん
:2006/12/28(木) 02:43:48
日本語でおk
382
名前:
デフォルトの名無しさん
:2006/12/28(木) 06:42:41
>>378
> どうせなら非同期処理を頼んだ時の成否で判断、ぐらい楽したいですね。
エラーが起きたかどうかの判断には時間がかかるかもしれないから
頼んだ時点ではすべて判定できないよ
383
名前:
デフォルトの名無しさん
:2006/12/28(木) 06:48:22
なんでGetProcAddressをフックする必要があるのか。
APIフックっていうのは本来のAPIの処理を横取りする手法の事。
IAT書き換えとかDLLExportTableの書き換えとかラッパプログラミングとか
APIフックを実現するための方法はいくらでもある。
384
名前:
373
:2006/12/28(木) 09:26:16
"コントロールのハンドル"で検索して答えを見つけました
キタ━(゚∀゚)━ ← GetDlgItem(ダイアログのハンドル, IDOKとか);
385
名前:
デフォルトの名無しさん
:2006/12/28(木) 09:26:25
advanced 嫁と
>>1
が申しております
単純に、フックを回避してコールされるのを防ぐだけって書いてあるだろうが
386
名前:
デフォルトの名無しさん
:2006/12/28(木) 10:25:51
流れをぶった切ってスマソ
EnumWindowsで取得したハンドルのプロセス、また実行パスを
取得する方法はありますか?
宜しくお願いします。
387
名前:
デフォルトの名無しさん
:2006/12/28(木) 10:39:11
>>380
GetProcAddressのフックの必要性を判断できない程度の能力しか無いなら
APIフックなんて危険だから使わない方がいいよ
388
名前:
デフォルトの名無しさん
:2006/12/28(木) 10:43:04
>>386
GetWindowThreadProcessId
GetWindowModuleFileName
389
名前:
デフォルトの名無しさん
:2006/12/28(木) 10:49:14
>>388
ありがd。
その二つで試しているのですが、取得できるものとできないものがあり
こまっていますた。
もう少し、ぐぐってみます。
390
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:24:21
MSがA/Wのマクロ化だけじゃなくてchar/wchar_tもサポートしてくれてたら
ちょっとだけ楽だよなぁと思う年の瀬
#ifdef UNICODE
LoadLibrary(arg) LoadLibraryW(TEXT(arg))
#else
LoadLibrary(arg) LoadLibraryA(TEXT(arg))
#endif
391
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:28:06
おまえは何がやりたいんだ?
392
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:34:39
多分 API と STL の共存で std::string 周辺の UNICODE マクロ対応あたりかと…
393
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:43:17
#ifdef UNICODE
typedef std::wstring string;
#else
typedef std::string string;
#endif
じゃだめなのか?
394
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:45:15
inline HMODULE LoadLibrary(LPCSTR p) { return ::LoadLibraryA(p); }
inline HMODULE LoadLibrary(LPCWSTR p) { return ::LoadLibraryW(p); }
こんなんなってくれてるとありがたいんだが。
395
名前:
デフォルトの名無しさん
:2006/12/28(木) 11:55:16
要はwindows.hppなんかが欲しいのか。
うっかりLoadLibrary("hoge")とLoadLibrary(L"hoge")が
混在する可能性もあってお勧めできないな。
NT系は内部WCSだから、ANSI/MBCS版のAPI呼ぶと
中で文字型変換されるからオーバーヘッドが発生するし。
結局TEXTマクロ使うのが一番いいと俺は思う。
396
名前:
デフォルトの名無しさん
:2006/12/28(木) 14:27:07
>>361
Windows 2000 の SP3 以降(だったっけ?)だと、
互換モードの機能で Explorer の IAT がすでに aclayers.dll の関数に
上書きされてたりする場合があったようななかったような…
397
名前:
デフォルトの名無しさん
:2006/12/28(木) 15:47:38
SP2だお
398
名前:
デフォルトの名無しさん
:2006/12/28(木) 15:59:39
>>396
いま確認したら激しくアタリです
仮想マシンで開発環境なんて動かせねえし(ライセンス問題もあるし)
どうあがいても年内に解決できる問題ではありません orz
ほんとうにありがとうございました
399
名前:
デフォルトの名無しさん
:2006/12/28(木) 16:09:44
と思ったけどjmpの書き換えでなんとかなるっぽい(たぶん
ともあれ、どうもです
400
名前:
デフォルトの名無しさん
:2006/12/28(木) 16:26:23
LoadLibrary(_T("hoge.dll"));
と書くことに
何の不満があるのか分らない。
こうすりゃ、A/W どっちでも適応できるべ。
401
名前:
400
:2006/12/28(木) 16:27:57
リロードしてなかった。すまん。
402
名前:
デフォルトの名無しさん
:2006/12/28(木) 17:25:06
template<typename Char> void foo(const Char* p)
{
・・・
// Charがcharの場合はA版、wchar_tの場合はW版のAPIを呼びたい
・・・
}
こんなとき
>>394
みたいなのを用意しないといけないのが面倒くさいよね。
403
名前:
デフォルトの名無しさん
:2006/12/28(木) 18:17:45
もうAは要らんやろ・・・
404
名前:
デフォルトの名無しさん
:2006/12/28(木) 18:21:08
工工エエエ(´д`)エエエ工工
405
名前:
デフォルトの名無しさん
:2006/12/28(木) 19:31:53
フックを勉強しているのですが、下記の例ではIEの最小化ボタンを押下すると
イベントが始まります、これをCtrl+Fが押下された時にフックをかけるように
するにはどのように書いたらいいでしょうか?
// フックするプロシジャー
LRESULT CALLBACK MyCallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
CWPSTRUCT* lp = (CWPSTRUCT*)lParam;
if( nCode == HC_ACTION ){
switch (lp->message){
case WM_SYSCOMMAND:
if ( lp->wParam == SC_MINIMIZE ){
MessageBox( NULL , "IEを最小化するメッセージの送出2","確認" , MB_OK | MB_TOPMOST );
lp->wParam = 0;
lp->message = WM_CLOSE;
}
break;
}
}
if ( lp->message == WM_SYSCOMMAND && lp->wParam == SC_MINIMIZE ) lp->message = WM_CLOSE;
return CallNextHookEx(g_hHookWnd, nCode, wParam, lParam); //次のフックを呼ぶ
}
406
名前:
デフォルトの名無しさん
:2006/12/28(木) 19:34:19
実際Windows CEではとっくの昔に全廃したし。
>>389
GetWindowModuleFileNameはNT系では他プロセスが作成したウィンドウには使えない
GetWindowThreadProcessIdが失敗することはないはず。
407
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:01:50
んで、マドンナのrainのPV
http://www.youtube.com/watch?v=KHFxj84aTEk
登場人物に注目ww
408
名前:
407
:2006/12/28(木) 20:02:49
スレ間違い
気にしないで
409
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:03:37
Win32 :FARPROC GetProcAddress( HMODULE hModule, LPCSTR lpProcName);
WinCE:FARPROC GetProcAddress( HMODULE hModule, LPCWSTR lpProcName);
410
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:28:17
空気読まずに書きこ
NT
EnumProcesses->EnumProcessModules
9X
CreateToolhelp32Snapshot->Module32First->Module32Next
の使い分けとか?
だめかなぁ
411
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:29:04
おまけ
WinCE version 3.0 and later:FARPROC GetProcAddressA( HMODULE hModule, LPCSTR lpProcName);
412
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:37:17
>>393
typedef std::basic_string<TCHAR> string;じゃだめなのか?
>>404
MSLU
413
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:43:11
複数のスクロールバーがある場合
どのバーを動かしたのかを調べるにはどうしたらよいのでしょうか??
よろしくお願いします。
414
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:47:48
どんな環境での話か書いてくれよ。
WindowsならWindowsとかさ。
415
名前:
デフォルトの名無しさん
:2006/12/28(木) 20:52:36
>>414
スレタイ嫁。
416
名前:
デフォルトの名無しさん
:2006/12/28(木) 21:07:26
>>405
です
お願いします、これだとコンパイルは通るのですが無反応なのですが・・・・・・
どうしたらいいでしょうか、よろしくオナガイシマス
// フックするプロシジャー
LRESULT CALLBACK MyCallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if(( GetKeyState( VK_CONTROL ) & 0x80 ) > 0)
{
MessageBeep(0xffffffff); //ビープ
}
return CallNextHookEx(g_hHookWnd, nCode, wParam, lParam); //次のフックを呼ぶ
}
417
名前:
413
:2006/12/28(木) 21:08:20
どうもすいません。
環境はWindowsでVisualStudioを使ってC++で書いてます。
418
名前:
デフォルトの名無しさん
:2006/12/28(木) 21:12:36
>>416
×MessageBeep(0xffffffff); //ビープ
○MessageBox( NULL , "IEを最小化するメッセージの送出2","確認" , MB_OK | MB_TOPMOST );
です、スマソ
419
名前:
デフォルトの名無しさん
:2006/12/28(木) 21:15:03
ただ単にキーボードフック(WH_KEYBOARD)にすればいいだけじゃないの?
420
名前:
デフォルトの名無しさん
:2006/12/28(木) 21:25:19
WH_GETMESSAGEのほうが汎用性あるだろ
421
名前:
デフォルトの名無しさん
:2006/12/28(木) 21:46:42
>>416
>GetKeyState( VK_CONTROL ) & 0x80
GetKeyStateの返り値は16bitでわ?
422
名前:
421
:2006/12/28(木) 21:52:55
それと省いているみたいだけど、FキーのメッセージをチェックしてからCtrlキーのチェックだよね…
423
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:09:14
405=416=418です
よろしくです
>>421
MSDNを見ますと返り値はintなので16ビットだとおもいますが、まずいですか?
>>422
逆で、CtrlをチェックしてからFキーのチェックです
424
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:09:47
またフックの話題かよ
そんなにおまえらは何をフックしたいんだ
425
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:18:11
個人的にはかわいい娘か、技術系の会話のできるかわいい娘をf(ry
426
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:22:29
intが16bitっていつの時代の人間だ?
427
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:25:08
>>426
あそうか
32ビットですね
428
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:41:00
>>427
>>420
429
名前:
デフォルトの名無しさん
:2006/12/28(木) 22:47:36
>>417
WM_VSCROLLかWM_HSCROLLのhwndScrollBarはスクロールバーのウィンドウハンドル。
それをGetDlgCtrlID関数を利用してIDに変換。
なお、IDはCreateWindowのhmenu。
430
名前:
デフォルトの名無しさん
:2006/12/28(木) 23:37:18
>( GetKeyState( VK_CONTROL ) & 0x80 ) > 0
本気でこれで Ctrl と F が押下されているかの判定になると思っているのか。
431
名前:
デフォルトの名無しさん
:2006/12/28(木) 23:47:11
フックが苦手なんですが、どうすれば強烈なフックが撃てますか?
432
名前:
デフォルトの名無しさん
:2006/12/28(木) 23:54:46
>>431
腕だけでなく、腰を捻ってチカラを貯めこんで打つべし
433
名前:
デフォルトの名無しさん
:2006/12/29(金) 01:36:37
これならばと思い試していますが今だに解決できません、コンパイルでエラーが出れば
いいのですが・・・・
下記のコードで悪いところを指摘してもらえませんか、タノンマス
// フックするプロシジャー
LRESULT CALLBACK MyCallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
CWPSTRUCT* lp = (CWPSTRUCT*)lParam;
if( nCode == HC_ACTION ){
switch (lp->message){
case WM_KEYDOWN:
if( wParam == 0x46 ) // このメッセージがFキーのものか
{
if( GetKeyState( VK_CONTROL ) & 0x46 ) // Ctrlキーが押されているか
{
MessageBox( NULL ,CTRL+Fだ "ゴ━━━━(# ゚Д゚)━━━━ルァ!","確認" , MB_OK | MB_TOPMOST );
lp->wParam = 0;
return 0;
//lp->message = WM_CLOSE;
}
}
break;
}
}
return CallNextHookEx(g_hHookWnd, nCode, wParam, lParam); //次のフックを呼ぶ
}
434
名前:
デフォルトの名無しさん
:2006/12/29(金) 01:56:27
>GetKeyState( VK_CONTROL ) & 0x46
GetKeyState の説明をもう一度読み直せ。
435
名前:
デフォルトの名無しさん
:2006/12/29(金) 01:58:58
しばしば VirtualProtectEx を実行してもアクセス保護が変更されない気がします
戻り値は1が返されてOldProtectは0なのに、直後にVirtualQueryExで調べると
PAGE_EXECUTE_WRITECOPYを返してきて矛盾しちゃってます
436
名前:
デフォルトの名無しさん
:2006/12/29(金) 02:30:43
>>433
です
>>GetKeyState の説明をもう一度読み直せ。
if( wParam == 0x46 )
{
if( GetKeyState( VK_CONTROL ) & 0x80 )
読んでこうしてみましたが・・・・・なぜ悪いのか
それからここの書き方は間違っていませんでしょうか?
CWPSTRUCT* lp = (CWPSTRUCT*)lParam;
437
名前:
デフォルトの名無しさん
:2006/12/29(金) 02:45:52
>>436
0x80(
>>433
では0x46だが) は何処から出てきたんだ?
438
名前:
デフォルトの名無しさん
:2006/12/29(金) 02:46:58
>>437
433は間違えていました、0x46はASCIIのFのことです
439
名前:
デフォルトの名無しさん
:2006/12/29(金) 02:53:26
>>438
>GetKeyState( VK_CONTROL ) & 0x80
ここはCtrlキーの判定だろ。
Fキーは関係無い。
GetKeyStateの *戻り値* の説明を読んで来い。
440
名前:
デフォルトの名無しさん
:2006/12/29(金) 02:54:27
WH_CALLWNDPROC でWM_KEYDOWN 拾えたんだっけ?
441
名前:
デフォルトの名無しさん
:2006/12/29(金) 02:58:51
たぶん「最上位ビットが 1 」なSHORTは2進数で1000000000000000 16進数で0x8000て感じで
GetKeyState( VK_CONTROL ) & 0x80 て書いたんだとおもた
442
名前:
デフォルトの名無しさん
:2006/12/29(金) 03:00:19
>>439
確かにそうなのですがここ↓を参考にしているのですが・・・・
ttp://www.geocities.jp/ky_webid/win32c/026.html
443
名前:
デフォルトの名無しさん
:2006/12/29(金) 03:00:34
何でそんなに遠回しに教えるんだ?
普通に回答教えれば一発で解って、教える側も教わる側も気持ち良く終われるのに
444
名前:
デフォルトの名無しさん
:2006/12/29(金) 03:10:22
つまりこのスレ一番の馬鹿は
>>430
=
>>437
=
>>439
で
>>433
は一方的な被害者って事か。
445
名前:
435
:2006/12/29(金) 03:14:40
いくつか解説まわってみたが
GetKeyState(VK_CONTROL) < 0
という書き方のほうが一般的みたいな感じだった
ってことで435もよろしくお願いします
446
名前:
デフォルトの名無しさん
:2006/12/29(金) 06:39:05
API の文字列関数に strstr の API 版が無いですが、
みなさんはどのように検索していますか?
447
名前:
446
:2006/12/29(金) 06:41:00
すいません、C言語に限定された話です。
448
名前:
デフォルトの名無しさん
:2006/12/29(金) 06:44:54
開発中に見つけた不具合
以下のようなGetIconInfoを数ミリ秒毎に呼ぶルーチンがあるのですが、
OnTimer(){
...
ICONINFO iconinfo;
GetIconInfo(hicon, &iconinfo);
}
どうもこのAPIがメモリリークを起こしているらしく、
数万回呼び出された時点でアプリケーション毎に割り当てられる
GUI領域のメモリを使い切って画面表示に不具合を発生させました。
環境はVS2005です。
APIのバグでしょうか?
449
名前:
デフォルトの名無しさん
:2006/12/29(金) 06:46:21
shlwapi.dllにStrStrというAPIがあるよ
450
名前:
446
:2006/12/29(金) 07:40:49
>>449
ありがとうございます。
451
名前:
デフォルトの名無しさん
:2006/12/29(金) 07:43:38
>GetIconInfo creates bitmaps for the hbmMask and hbmColor members of ICONINFO.
>The calling application must manage these bitmaps and delete them
>when they are no longer necessary.
452
名前:
デフォルトの名無しさん
:2006/12/29(金) 08:12:07
資料を読まない香具師ほど自分の愚かさを棚に上げて他人の所為にしたがる好例だな。
453
名前:
デフォルトの名無しさん
:2006/12/29(金) 09:41:58
質問があります。
WindowsXPなのですが、zip圧縮、ゴミ箱に捨てる等のオペレーションを行うと、
プログレスダイアログがあがりますがあれはAPIを使用しているのでしょうか?
454
名前:
デフォルトの名無しさん
:2006/12/29(金) 09:55:14
>>448
開発中に見つけた不具合wwwwwwwwwwwwwwwww
君の頭が不具合なのは良くわかった
455
名前:
デフォルトの名無しさん
:2006/12/29(金) 10:58:36
>>453
ゴミ箱に捨てる→SHFileOperation関数
圧縮はどうなんだろ?
456
名前:
453
:2006/12/29(金) 11:46:57
>>455
ありがとうございます。
もう一つ、あのダイアログだけを取得する事は可能でしょうか?
457
名前:
デフォルトの名無しさん
:2006/12/29(金) 11:48:44
>>456
くわしく
458
名前:
448
:2006/12/29(金) 11:53:24
うわ、死にてぇorz
単純な情報取得で勝手にメモリアロケートされるなんて
ハンドルを返したりするAPIだけと思い込んでました。
日本語のMSDNにも明記されてるし。ちょっと吊ってきます・・・
459
名前:
453
:2006/12/29(金) 11:53:31
>>457
文盲ですみません。
SHFileOperation関数を実行すると、処理が長い場合に自動で
プログレスバーが表示されます。
あのプログレスバーを取得し、タイトル、メッセージ等を変えて自分で
使用したいとおもいまして、そのようなAPIはあるのかなと。
460
名前:
デフォルトの名無しさん
:2006/12/29(金) 12:01:42
vistaのこともあるし、難しいんじゃね?
461
名前:
デフォルトの名無しさん
:2006/12/29(金) 12:28:23
スレッド2ついるのかな?
つい昨日出鱈目にプログレス作って失敗したけど。
462
名前:
デフォルトの名無しさん
:2006/12/29(金) 12:32:13
SDKサンプルにaviあるからそれ貼り付ければそれらしくなる
バーも入れたいなら投げっぱなしじゃ無理なのはわかるよな
463
名前:
デフォルトの名無しさん
:2006/12/29(金) 12:35:53
shell32.dllのDialog1020と任意のAVI(160〜170)を組み合わせてるだけで出来るだろ。
464
名前:
デフォルトの名無しさん
:2006/12/29(金) 14:05:15
インターフェイスにIProgressDialogってのがあるけど、
ME以降なんで注意かも
465
名前:
453
:2006/12/29(金) 14:13:11
>>462
リソース使わずにAPIだけで済むのならと思い、質問しました。
>>463
ありがとうございます。検討します。
>>464
まさにこれです。
API使う時点でOSのターゲットを絞るので十分です。
ありがとうございました。
466
名前:
デフォルトの名無しさん
:2006/12/30(土) 02:16:13
今IMEで入力中の文字に外部から細工を施したいプログラムを作ろうとしております。
IMEで入力中の文字列を取るには
ImmGetCompositionStringにGCS_COMPSTRを引数に渡せばいいことは分かったのですが、
その前にIMEのコンテキストを得るための
ImmGetContext
の引数のウィンドウハンドルをどうしたら良いのか分からなくて困っています。
現在アクティブなウィンドウの入力を操作したいので、
ForegroundWindowの子ウィンドウのいずれかを指定すればよいのですが、
その中で現在IMEが入力しようとしている子ウィンドウの判定の仕方をどなたか教えて頂けないでしょうか。
よろしくお願い致します。
467
名前:
デフォルトの名無しさん
:2006/12/30(土) 05:20:38
ImmEnumInputContext
468
名前:
デフォルトの名無しさん
:2006/12/30(土) 07:03:13
>>465
もはや聞く耳持ちそうにないけど
公開されてないダイアログリソースがいつまでもあると思うな
http://blogs.msdn.com/oldnewthing/archive/2005/10/26/485133.aspx
469
名前:
デフォルトの名無しさん
:2006/12/30(土) 13:54:56
GetFocusでよくね
470
名前:
デフォルトの名無しさん
:2006/12/30(土) 14:12:49
>>468
読めないっつーの
471
名前:
デフォルトの名無しさん
:2006/12/30(土) 17:19:48
>>470
フォントサイズ小さくしてない?
私の環境なら最小じゃなければ読めるよ。
472
名前:
デフォルトの名無しさん
:2006/12/30(土) 17:24:59
日本語じゃない情報はゴミ
473
名前:
デフォルトの名無しさん
:2006/12/30(土) 17:27:39
ゴミグラマ
474
名前:
デフォルトの名無しさん
:2006/12/30(土) 17:46:46
東京ゴミグラマ
475
名前:
デフォルトの名無しさん
:2006/12/31(日) 00:28:45
WIn32 APIスレで英語読めませんとか堂々と言われても。
msdn2で日本語情報が大幅に拡充されたせいかなあ
476
名前:
デフォルトの名無しさん
:2006/12/31(日) 08:21:54
無料配布の影響
477
名前:
デフォルトの名無しさん
:2006/12/31(日) 09:00:24
英語が読める読めないの問題じゃないと思うけどな。
浅はかだ。
478
名前:
デフォルトの名無しさん
:2006/12/31(日) 09:17:15
誰に対してどんな内容がどんな理由で浅はかなのか説明してもらおうか
479
名前:
デフォルトの名無しさん
:2006/12/31(日) 11:08:29
アプリの二重起動を監視するのに、FindWindow関数や、Mutex法を使うとよさげなのですが
単純にGetKeyState使った関数の呼出しで、呼出された関数が一回のキーボード押下で
二回呼出されるのは、単なるバグと考えていいですよね?
480
名前:
デフォルトの名無しさん
:2006/12/31(日) 11:20:53
単なる仕様です。
481
名前:
デフォルトの名無しさん
:2006/12/31(日) 13:59:30
日本語でおk
482
名前:
デフォルトの名無しさん
:2006/12/31(日) 14:05:32
1行目と2,3行目の関係がわからないんだが
483
名前:
デフォルトの名無しさん
:2006/12/31(日) 14:38:02
GetKeyStateは関数を呼出しません。
484
名前:
デフォルトの名無しさん
:2006/12/31(日) 15:40:38
>>483
スマソ、GetKeyStateの取得したキーイベントをトリガーとして、
関数を呼出すってことね
485
名前:
デフォルトの名無しさん
:2006/12/31(日) 15:48:18
二重起動の監視とキーの状態にどんな関係が?!
486
名前:
デフォルトの名無しさん
:2006/12/31(日) 16:07:16
>>484
単にあなたが2回その関数を呼出しているだけです。
拠ってその動作がバグか使用かはあなたが決めてください。
487
名前:
デフォルトの名無しさん
:2006/12/31(日) 17:25:54
CSSプレイヤーにチートしてない人はいないよ
488
名前:
デフォルトの名無しさん
:2006/12/31(日) 18:38:27
IEEとかメモ帳の検索窓のコンテキストってどうしたら取得できますか?
489
名前:
デフォルトの名無しさん
:2006/12/31(日) 19:32:34
除夜の鐘を鳴らすAPIを教えてください。
490
名前:
デフォルトの名無しさん
:2006/12/31(日) 19:41:28
Beep()
491
名前:
デフォルトの名無しさん
:2006/12/31(日) 20:13:09
HitBell(108);
492
名前:
デフォルトの名無しさん
:2007/01/01(月) 00:14:50
for(;;){
Eat(Toshikoshisoba);
}
493
名前:
デフォルトの名無しさん
:2007/01/01(月) 00:21:11
>>492
太るぞ…
494
名前:
【大吉】
【1163円】
:2007/01/01(月) 00:32:01
あけまして、おめでとうございます。
今年も上手に残業代を稼ぎましょう。
495
名前:
デフォルトの名無しさん
:2007/01/01(月) 00:33:15
try {
for(;;)
Eat(Toshikoshisoba);
} catch(gero_exception &e) {
}
496
名前:
デフォルトの名無しさん
:2007/01/01(月) 00:40:58
'0xdeadbabe' の命令が '0xbaadf00d' のモチを参照しました。 モチが "swallowed" になることはできませんでした。
ライフを終了するには [OK] をクリックしてください
ライフをデバッグするには [キャンセル] をクリックしてください
497
名前:
デフォルトの名無しさん
:2007/01/01(月) 08:57:02
別におもしろくないから
498
名前:
デフォルトの名無しさん
:2007/01/01(月) 10:44:31
メッセージループの基本的な仕組みについて質問です
WinMain()
{
MessageLoop()
{
while( 1 )
{
GetMessage();
DispatchMessage() → WndProc()
{
}
}
}
}
こんな感じのプログラムで、DispatchMessageのあたりの処理は
DispatchMessage関数呼び出し
↓
WndProc関数呼び出し
↓
WndProc関数終了
↓
DispatchMessage関数終了
という流れになっているという考えであっているでしょうか?
499
名前:
デフォルトの名無しさん
:2007/01/01(月) 11:31:08
>>498
まあ、それでおけ。
ほかにも、いくつかあるけど。
GetMessageが0か-1を返したときは、ループを抜けること。
TranslateMessageを使うこと。
WM_CHARなどがいらないなら、使わないというのもありかもしれないが、
コモンコントロールなどは使うから、まず必要になる。
500
名前:
デフォルトの名無しさん
:2007/01/01(月) 11:57:49
どうもです。
>GetMessageが0か-1を返したときは、ループを抜けること。
>TranslateMessageを使うこと。
猫でも〜本で勉強しているのですが
よく見るとそのあたりのことも書いてありました。ありがとうございました
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.