[表示 : 全て 最新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/

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嫁カス

458 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:44:55 ]
>PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。

ダウト。普通はNULLにする。
ウィンドウハンドルを指定したらそのウィンドウへのメッセージしか取れないだろ。
子ウィンドウ作る場合とかどうすんだ。

そもそもお前の場合GetMessageでWM_QUITを取得しようとした時点で
WM_DESTROY実行済みでウィンドウが無効になってるから失敗して当然。
勝手に思い込む前に頭のバグ直しとけ。

459 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:47:41 ]
なにこのひとこわい



460 名前:デフォルトの名無しさん [2010/03/04(木) 00:30:47 ]
>>458
了解。
Win32APIを学ぶために読んだページにウィンドウハンドルを渡すって書いてあったから、鵜呑みにしてた。申し訳ない。


461 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 04:12:41 ]
>>458
「ダウト」の意味を調べとこうな。

462 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 08:11:22 ]
↑どうしても書き込みたくて仕方がなかった

463 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 10:06:50 ]
↑うん

464 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 13:26:49 ]
XPでExplorerをアイコン表示にした時、ファイルの位置を自由に変えられますが
あの位置情報をファイルの絶対パスなどから取得するのはどうすればいいんでしょうか。

465 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:25:01 ]
IShellFolderインターフェイスを使うんだろうなぁ

466 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 20:25:56 ]
IFolderView:GetItemPosition

467 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:03:50 ]
質問です。
アプリの二重起動を防止したいと考えています。
それだけならMutexを使うだけなのですが、コマンドライン引数を
最初に起動したアプリに渡した後で、終了させたいと思ってます。
(最初に起動したアプリは常駐し、以後は常駐アプリにのみ処理させたい)

このような場合に、データ(コマンドライン引数)の受け渡しを
行うには、どのような機能/APIを使うべきでしょうか?

468 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:16:30 ]
そのプログラムがスレッド持ってるならPostしとけばいいのではないですか

469 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:22:09 ]
それとグローバルアトム。



470 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:13 ]
VirtualAllocExとか

471 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:47 ]
ファイルマッピングオブジェクト使うのはどうかな

472 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:26:24 ]
CreateProcessでexeを起動する処理を含むプログラムを作ったのですが、
自分のPCではちゃんと動くのに、知り合いのPCでは動かないみたいです。

呼び出されるexeの内部でファイルを書き出す処理をしているのですが、
ファイルが書き出されないようなので、CreateProcessの部分が原因ではないかと思っています。
またexeを直接起動したときの動作は問題ないようです。

自分のPCでは再現しないので、環境による影響があるのではないかと疑っているのですが、
環境によってCreateProcessがうまく動かないということは考えられるでしょうか?
自分のPCはWin7、知り合いのPCはWinXPです。

473 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:32:54 ]
Roming関係とか考えられること多すぎて困る

474 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:35:58 ]
そんな漠然とした情報じゃ何もわからん。
OutputDebugStringやログ吐きまくってどのAPIがどんなエラーコードで失敗しているかを根性で調査するしか。

475 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:53:28 ]
CPUの温度とか湿度とかメモリ周りBIOS設定を確かめてみて
あとCPUクーラーは良く利いているかな?クーラーは
消耗品や劣化する製品なので、メンテは必須だよん

他人が作ったアプリやOSが動作しない時は意外にありがち
なのがそういった問題

476 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:03:05 ]
ドライブ文字ベタ書きとかそんなオチだろうさ

477 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:15:12 ]
Win7で有効な構造体のメンバがXPではリザーブとか。

478 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:24:26 ]
>>473-475
いろいろ原因は考えられるんですね。
自分のPCでは再現しないので、デバッグもしづらいのがつらいところです。

>>476
exeのファイル名指定は相対パスで書いてあります。

>>477
CreateProcessの部分はネットで調べて書いたのですが、Win7発売より古い情報なので、それもなさそうです。

知り合いに協力してもらいながら調査してみます。
どうもでした。

479 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:42:06 ]
あるアプリを複数起動させ、それぞれの保存ダイアログを同時に表示させた
時にどのダイアログがどのアプリのものか外部アプリから識別する方法って
有りますか?



480 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:47:38 ]
コモンダイアログだって呼び出し元スレッドとプロセスに所属してるんだからその辺紐付ければ取れるでしょうよ

481 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:59:25 ]
こんな時間に有り難うございます。
複数起動したアプリのハンドルは区別できてるんですけど、
例えば1番目に起動したハンドルで保存ダイアログを探して、
外部アプリから操作しようとすると、2番目に起動したアプリの
保存ダイアログにメッセージが飛ぶ現象が起きてしまってどうしたもんかと。

482 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:15:58 ]
Windowをスクリーンの中央に表示するコードをください、この私に。

483 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:17:05 ]
>>481
オーナーウインドウを調べれば分からない?

484 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:21:31 ]
確かHWNDからプロセスIDは調べられたと思うんだけど。

485 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:28:11 ]
>>482
中華は引っ込んでろ

486 名前:479 mailto:sage [2010/03/05(金) 11:21:04 ]
皆さん、有り難うございました。
FindWindowExで調べていたからまずかったみたいです。
Owner,Ownerdを調べていったら出来ました。
ダイアログと親ウィンドウの関係が今回のことで分かりました。
また、よろしくお願いします。

487 名前:デフォルトの名無しさん [2010/03/05(金) 17:40:26 ]
bitmapをjpgに変換するAPI教えて

488 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:42:02 ]
www.geocities.jp/katayama_hirofumi_mz/win32/savepic.htm

489 名前:467 mailto:sage [2010/03/05(金) 22:27:15 ]
お返事ありがとうございます。

>>468
すみません、理解できませんでした。
スレッドを利用したプロセス間でのデータ受け渡しがあるのでしょうか??

>>469 >>470 >>471
最初のアプリが常駐した後、同時に複数の同アプリが起動した場合でも
うまくいくような仕掛け(排他制御)を考える必要がありそうですね。



490 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 23:01:50 ]
単に既に起動しているプロセスに対して
コマンドライン引数をSendすればいいだけじゃだめなの?

491 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 00:20:13 ]
WM_COPYDATAで十分そうだな。
後はカレントディレクトリも送っといたほうがいいんじゃないかな。
相対パスくらいはちゃんと扱ってもらわないと。

492 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:24:20 ]
日本語でOkay.

493 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:34:47 ]
問題は質問者の書き込みではウィンドウがあるのかどうか分からないことだ

494 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:37:11 ]
ウィンドウをクラス化するところまでできました。
次にリストビューあたりをクラス化したいと思うのですが、
検索してもなかなかそういうのが見つかりません。
こう作るのがセオリーというのがあれば知りたいのですが、
参考になるサイトやソースコードがあれば教えて欲しいです。
特に、ウィンドウプロシージャとのやりとりが煩雑なので
それをクラスにまとめる方法が知りたいです。
よろしくお願いします。

495 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:50:48 ]
クラスにまとめるほうが煩雑になるの法則

496 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:53:19 ]
WTLとかのコード見て見れば
俺は見たときないけど

497 名前:494 mailto:sage [2010/03/06(土) 03:13:33 ]
やはりWTLになりますか。評判はいいのですが、解析となると気が引けて
しまって。手っ取り早く説明しているところがあればなと思って質問しました。
やっぱりこういうのは自作するよりも利用するものなんですかね。

498 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:21:58 ]
サブクラス化で検索したら

499 名前:494 mailto:sage [2010/03/06(土) 03:36:51 ]
サブクラス化はコントロール自体の機能を拡張するために使う手法という理解でいました。
そうではなくて、メインからコントロールを利用しやすくするためにクラス化
したかったのです。サブクラス化することでそういうメリットが得られるのでしょうか?



500 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:56:43 ]
clistviewctrl

501 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:59:59 ]
一番わかってないのは、自分が何をしたいのかだろう

502 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:14:20 ]
誰もが一度は通る道

503 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:25:55 ]
私のクラスは53万です。

504 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:43:49 ]
MFCとかWinFormsとかWPFをパクる

505 名前:デフォルトの名無しさん [2010/03/06(土) 17:28:13 ]
>>488
ありがとうございます。
当方C++Builder2007を使っていて、それ用のヘッダ当ありますが
エラーが出まくってまともにコンパイルができませんでした・・・

506 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 23:17:57 ]
とあるアプリを外部から操作するアプリを作成して一応望み通りに作れたのですが、
コンボボックスのことで教えて欲しいことがあって来ました。
CB_SETCURSELでアイテムを選択すると思うのですが、このAPIでアイテムを選択しても
一旦は切り替わるのですが、その後必ず先頭のアイテムが選択されてしまい、アイテム変更後
クリックメッセージを送ってやると選択したアイテムで処理が進んでくれるということになって
しまいました。
これって、使っているAPIが悪いのでしょうか?
それとも、操作しようとしているアプリの作り方(仕様?)の問題でどうしようもないことなのでしょうか?

よろしくお願いします


507 名前:494 mailto:sage [2010/03/06(土) 23:35:15 ]
皆さんありがとうございます。こういうのは定番の手法が確立されているか
と思ったのですが、意外とそうでもないようで。
とりあえずWTLやMFCとかの定番ライブラリのソースを調べてみることにします。

508 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 11:58:58 ]
EnumProcesModules→GetModuleFileNameExでファイル名を取得したいのですが
64bitアプリケーションに対してEnumProcessModulesしてもうまく取得できずGetModuleFileNameExが失敗してしまいます
何が原因なんでしょうか?

509 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 14:51:07 ]
このスレの人はそんな難しい質問には答えられないの



510 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 15:01:07 ]
32/64 で別管理なんじゃね?

511 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 16:17:06 ]
64bitビルドだと失敗しない






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

前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