[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/31 07:10 / Filesize : 149 KB / Number-of Response : 697
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build86



1 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:00 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

過去スレ、関連リンクは>>2-10くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

Win32API質問箱 Build85
pc12.2ch.net/test/read.cgi/tech/1262430441/

357 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 18:44:43 ]
まぁ粘着だろうな、このスレも人に恨まれる程になったとw
人生無駄に削ってくれとしか言えんな( ´ω`)

358 名前:デフォルトの名無しさん [2010/02/24(水) 19:25:12 ]
windows 7 Home premium x64
Visual C++ 2008 Express Edition
アクティブソリューションプラットフォーム: Win32
で作業しています。

実行中のプロセスが WOW64 か Native64 かを判定しようと
以下のように記述しましたが、kernel32.dll 内に GetNativeSystemInfo 関数が無いと
いう結果になってしまいます。

typedef void (WINAPI *FPGETNATIVESYSTEMINFO)(LPSYSTEM_INFO lpSystemInfo);

FPGETNATIVESYSTEMINFO GetNativeSystemInfo =
    (FPGETNATIVESYSTEMINFO)GetProcAddress(
    GetModuleHandle(TEXT("karnel32.dll")), "GetNativeSystemInfo");


if (GetNativeSystemInfo != NULL) {
  GetNativeSystemInfo(&systemInfo);
} else {
  GetSystemInfo(&systemInfo);    <--- デバッグすると、こちらに入ります
}

win7なのに GetNativeSystemInfo関数が使えないのは
どうしてなのでしょうか?ご教授お願いいたします。

359 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 19:28:02 ]
GetModuleHandleが失敗してるだろそのコード

360 名前:358 mailto:sage [2010/02/24(水) 19:36:11 ]
>>359
ありがとうございます。
GetModuleHandleのエラー情報を取得する関数を調べる過程で、
kernel32.dll と karnel32.dll を見間違えていたことが分かりました。

GetModuleHandle(TEXT("kernel32.dll")) と修正したところ、
WOW64判定ができました。

簡単なミスでお恥ずかしいです。失礼します。


361 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 20:43:54 ]
ウィンドウスタイル"EDIT"のウィンドウをfor文で10個一気に作ろうとすると
処理が間に合わずプログラムが「応答なし」になるのですが、どうにか出来ませんか?

362 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:02:40 ]
>>361
ソースコードを晒せば?

363 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:33:44 ]
>>362
すみません、自己解決しました
スレ汚し本当に申し訳ないです

364 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:36:43 ]
>>353
MSDNのSnmpSetVbについてのページが見つからないので教えてください

365 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:26:30 ]
>>364
msdn.microsoft.com/en-us/library/aa378268%28VS.85%29.aspx



366 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:29:45 ]
ttp://nienie.com/~masapico/api_CreateDesktop.html

のサンプルを動かしてみたんですが、デスクトップはできるものの、
新しいデスクトップ上にメッセージボックスが表示されません。

環境は Windows XP SP2 です。どうしてでしょうか?

367 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:49:49 ]
>>365
ありがとうございます。
がんばって読んでるのですが、難しいです。日本語のコメント付き使用例などはないのでしょうか。。

368 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:51:31 ]
もう日本の公用語英語にするしかねえな

369 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:58:13 ]
>>367
夜間中学にでも入ってやり直せ。

370 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:04:56 ]
The high byte in each DWORD is not used.

が読めない人のいるスレだからしょうがない。

371 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:07:03 ]
>>367
>>352

372 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:21:28 ]
なんという。
>>353が変なこと書くから回答してもらえると思っちゃったんじゃないか?

373 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:32:52 ]
英語ができない奴はなでしこでもやってればいいと思うよ

374 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:44:48 ]
>>366
自己レス。SetThreadDesktop() が 170 で失敗してました。
ググって見ると、呼び出し元スレッドにウィンドウとかが存在するときは失敗するそうで。
前にうまくいったのは、コンソールアプリだったのを忘れてました・・・。

375 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 07:19:37 ]
>>370
その記述がBI_RGBの場合だけという事を理解できない人のいるスレだからしょうがない



376 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 14:44:17 ]

GetOpenFileName関数でコモンダイアログを用いた処理で、
ファイルを選択後、「開く(O)」ボタンを押した時、
そのファイルを判定し、有効ならばそのままダイアログを閉じ、
無効ならば、再度ファイルを促したいと思っています。
OFN_ENABLEHOOKを利用してフックし、WM_NOTIFYメッセージの時、
lpOfNotify->hdr.code == CDN_FILEOKの時に判定することまでは出来ました。
ここで、無効なファイルだった場合はCDN_FILEOKをキャンセルし、
「開く(O)」ボタンを押す前の状態に戻りたい場合、
どうするんでしょうか?



377 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 14:47:47 ]
ググれかす

378 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:03:22 ]
>>376
普通にMSDNに書いてある方法では駄目なの?
msdn.microsoft.com/en-us/library/ms646931%28VS.85%29.aspx

379 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:11:31 ]
!0

380 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:35:27 ]
WindowsのIEコンポーネントブラウザでドラッグアンドドロップを不許可にしたいんですが
なにか良い方法無いでしょうか?
DragAcceptFilesで上から順に全部FLASEにしてみましたが、効果ありませんでした。

381 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:36:00 ]
ぐぐれよぅ

382 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:41:43 ]
>>381
何時間ぐぐっても見つからないので検索ワードだけでも教えてください。

383 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:45:43 ]
>>380
ほい
hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt

384 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:49:09 ]
>>382
はい
hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt


385 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:55:47 ]
>>383
どうやらドラッグアンドドロップについての文章じゃないようですね。
ソースコードをじっくり読んでみます。



386 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:05:24 ]
本来なら数時間ぐぐっただけでぐぐった気になるのは
許せないところだけどな。
俺なんて目から血が出るくらいぐぐるからな。

387 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:09:50 ]
そのまま死ねばいいのにね

388 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:10:53 ]
はい

389 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:11:16 ]
ここはもう機能してないスレだから他行った方が良いよ

390 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:19:59 ]
D&Dもイベントが発生するけどイベント処理ロジックがなかったら何もおきない・・・ってことはないのかな?

391 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:05:04 ]
registerasdroptarget

392 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:03:59 ]
MN_GETHMENUは、何故MN_から始まってるんでしょう。

393 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:10:33 ]
Menu Notify

394 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:10:58 ]
何も思わずMeNuだと思っていたが、それならMMのほうがよくね?って話かな

395 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:17:45 ]
わかりました。



396 名前:デフォルトの名無しさん [2010/02/27(土) 04:00:07 ]
MessageBoxについて質問します。
タスクマネージャーを監視しているとMessageBoxを呼び出すごとにGDIオブジェクトが増えているのですが、
これはいったいなぜでしょうか?
MessageBoxを呼び出して、たとえばMB_OKでOKを押させて消させた場合もGDIオブジェクトの数が減ることがありません。
非常に気になるので、MessageBoxを呼び出しおわったあとにGDIオブジェクトをクローズする方法を教えてもらえませんか?

397 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 04:18:44 ]
ソース

398 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 04:27:29 ]
しょうゆ


399 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 05:01:50 ]
ソース

400 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 05:22:33 ]
しーそー

401 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 11:42:29 ]
ソース

402 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 17:23:50 ]
まぁMessageBox以外を疑うべきでは?Box出さないでウィンドウサイズ変更とかグリグリしながら監視推奨

403 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 06:04:33 ]
CreateDialogで作ったダイアログ内のコンボボックスに
項目を追加するにはWM_INITDIALOG内で
SendDlgItemMessage(hDlg, コンボボックスの識別子, CB_ADDSTRING , 0 , (LPARAM)"text");
これでいいんだよな?
何も起こらないんだけど

404 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 10:54:05 ]
同じコードでやって、それがリストボックス(LB_ADDSTRING)で動くなら
コンボボックスでもいけると思うが
まさかF4キーでドロップダウンしてないってオチじゃないよね

405 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 11:36:06 ]
リストボックスは出来た
コンボは追加されてないっぽい



406 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 14:58:12 ]
コンボボックスの高さが足りてないオチは?

407 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:08:08 ]
実際に追加されていないのか、単に表示がされないのか切り分けだな。

あとはSendMessageで試すとか

408 名前:デフォルトの名無しさん [2010/03/01(月) 05:39:41 ]
リソースエディッタで作ったダイアログを
トップレベルウィンドウとして扱うことって出来ないんでしょうか?

409 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 05:43:54 ]
>>408
WinMain以下でいきなりダイアログを開けば勝手にトップレベルウィンドウになると思うが?

410 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 05:51:37 ]
教師をしているんだが、生徒が勝手に他人の文書をコピペできない
ようにクリップボードを定期的にクリアするサービスアプリケーション
を作ってるんだがどのようにすればいいか教えてくれないかい?
サイズが0のウィンドウを開いてタイマーを1秒に
設定して、1秒ごとにEmptyClipBoadを発行するものを
作ったんだが、タスクバーで右クリックすれば終了できて
しまうんだ。タスクバーにアプリケーション名を出さずに
実行するのはどのようにすればいい?

411 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:09:32 ]
>>410
そんなアプリを生徒に強制的に使わせるのはヤメレ。

412 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:18:17 ]
>>410
悪意無しで本当にコピペしたいって時はどうさせるのですか先生


413 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:26:07 ]
>>410
それなんてウィルス

414 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:28:38 ]
教師が考えそうな低俗で下劣なアプリだな

415 名前:410 mailto:sage [2010/03/01(月) 06:45:04 ]
>>412
自前のクリップボードビューワーのついたテキストエディターも
作ってみようとと思ってる。タブ方式とする予定。
他の文書でマウスで一部をハイライト状態にすると、
自動的にビューワーのほうに転送されるようにしてあげる。
それを見ながら、手打ちするわけだ。タブを切り替えたり
スクロールさせなくていいわけだ。優しいだろ?
このトランスクリプトモードに入ったら、それまで入力された
箇所の不用意な変更を防止してあげる。そして
ビューワーの文字列を端から順番通りちゃんとミスタッチ無く
入力できるようにしてあげる予定(ミスタッチしたらBSを
入力したのと同じ効果にしてあげるとか)



416 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:47:11 ]
そこらにあるクリップボード支援ツール使われて即死と見た

417 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:49:53 ]
>>415
そんな最上級のウザソフト作って何がしたいの?w

418 名前:410 mailto:sage [2010/03/01(月) 06:54:04 ]
で、タスクバーに表示させない方法は知ってるかい?

419 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:00:17 ]
何が目的か分からんが、PC使う以上はコピペは推奨すべき。
タイピングさせたいならタイピングオブザデッドでも買い与えてやれ。

420 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:14:01 ]
馬鹿のオナニーに付き合わされて、本当に貴重な10代での学習機会を棒に振られる生徒が可哀想・・・

421 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:24:16 ]
教師がこんな無知なわけないだろ
素直にウィルス作ってますと言えよ

422 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:26:49 ]
こんな無知が担当の生徒が可哀想。

423 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:34:30 ]
Adomin権限で実行すれば一般権限のユーザーからは見れないぞ。
まさか生徒にAdomin権限使わせてるってことはないだろう?さすがに。



使わせてるとしたらバカ教師クオリティ。

424 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:37:50 ]
adominって何すか?
中学生かお前

425 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:50:42 ]
もう許してください



426 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:54:47 ]
コピペした時にクリップボードの内容を生徒別にリストする方がいいんでないの
どこで(URLとかPathとか)コピーしてどこへペーストしたかって


427 名前:410 mailto:sage [2010/03/01(月) 07:56:24 ]
要するにここの人は貴重な10代での学習機会を
貧弱なソフト環境だったWin9xとかで棒に振られた
可哀想な世代だってことですね。 理解できました。
どうも傷ついてしまったようですみません。
訊いたのが間違いでした。

428 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:59:19 ]
2時間掛けてようやく気付いたのか馬鹿

429 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:01:29 ]
いいえ、パンチカード世代です

430 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:20:47 ]
こんな無能の自称教師にオナニー環境押し付けられるくらいなら
黒板にググレカスとだけ書いて自習させた方が遥かに有意義だわな

431 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:24:47 ]
>>427
この簡単に答えられる質問を、誰にも答えてもらえない

お前さん人に物を教える前に、人に物を教えてもらう方法を学ぶべきじゃないか?w

432 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:40:02 ]
おい、電車下りる時間。

433 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:46:49 ]
www.ikuyama.net/ryo/mfc/mfc03.html

434 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:45:00 ]
ユトリが教師になると碌なことが無いという良い見本だな。

435 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:47:44 ]
いつの時代も馬鹿はいるもんだ



436 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:53:04 ]
だがしかし
もう世の中には
ゆとりの教師かゆとりを育てた教師しかいないという絶望感

437 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:59:14 ]
ruffnex.oc.to/kenji/thekeylogger/KeyLogger.html

438 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 12:20:12 ]
非クライアント領域を自分好みに変形させることってどうやったらできます?

439 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 12:30:29 ]
無理です

440 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 13:13:41 ]
EmptyClipBoad じゃなくて EmptyClipboard だろ

441 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 13:55:57 ]
教師をしているんだが
EmptyClipBoad

442 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 15:15:36 ]

”ウィンドウが最大化されるとき”は、どうやって知ればよいのでしょうか?

443 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 15:29:16 ]
WM_SHOWWINDOW

444 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 16:45:04 ]
すいません、、、聞き方が悪かったのですが、

アプリ・ウィンドウを最大化状態で起動したとき、右上の”Resize”ボタン?を
押したときに、前回アプリ実行時のリサイズ状態に戻したいのですが、どうすれば
よいのでしょ〜か?

445 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 16:57:07 ]
SetWindowPlacement
GetWindowPlacement




446 名前:444 mailto:sage [2010/03/01(月) 19:47:43 ]
なるほど、、、同じような名前でわけ分かりませんでしたが、そういう意味だったのか、

と納得しました。

447 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 19:59:09 ]
WM_SYSCOMMANDの(wParam & 0xfff0) == SC_MAXIMIZE
このタイミングで最大化する前のウィンドウサイズを保持して
次回起動後、SC_RESTOREが来たら保存したサイズにリサイズすればいいかと

448 名前:デフォルトの名無しさん [2010/03/03(水) 05:07:10 ]
非アクティブ状態でもキー入力を受け付けるには?

449 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 07:06:25 ]
フック、ホットキー

450 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 08:41:04 ]
WINDOWS終了時に、ファイルに設定を保存する時って
直接そのファイルに書きこむのと、一度適当なファイル作って書き込み
それを本来のファイルにリネームするのでは、どちらが良い?

451 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 08:49:03 ]
正しいのは書き換え
大昔の容量比の名残りでMS謹製ソフトでもオリジナルをリネーム後に新規作成してるのがあるけど

452 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 09:19:44 ]
>>451
サンクス!直接書き換えます

453 名前:デフォルトの名無しさん [2010/03/03(水) 10:12:15 ]
>>449
ホットキーというのを試して成功したけど
入力が無効化されてしまうのはどうにかできないの?

454 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 11:43:13 ]
>>453
非アクティブなプロセスにどんな処理させてるのかによる
単一キーじゃなくてもいいなら普段使わないキーの組み合わせで回避したらどうかな
MODあたり使って


455 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:45:04 ]
Raw Input
RIDEV_INPUTSINK



456 名前:デフォルトの名無しさん [2010/03/03(水) 23:33:01 ]
PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。
MSG::messageの中にWM_QUITが来てた時に、メッセージループから抜けようとしたんだけど、
メインウィンドウのハンドルを引数にしてたら、なぜか×ボタンとか押したとき(WM_CLOSEやWM_DESTROYでPostQuitMessage()を呼ぶようにしてる)
プログラムが終了しないんだけど、第二引数にNULLを与えたらうまくいくんだけど…。
NULLを与えても大丈夫なの?
全てのメッセージを取得するようになると勝手に思ってるんだけど…。

457 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:38:56 ]
日本語のでいいからMSDN嫁カス






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<149KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef