トップページ⇒tech
1001コメント256KB

Win32API質問箱 Build116

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/10/30(水) 17:17:04.92
Win32APIについての質問はこちらへどうぞ。

■過去スレ
Win32API質問箱 Build115
http://toro.2ch.net/test/read.cgi/tech/1373671389/

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
0797デフォルトの名無しさん2014/02/21(金) 10:40:22.46
>>794
非表示の隠しウインドウを作ってメッセージのやり取りをするのが簡単。

俺はダイアログベースのアプリで、キャプションが固定じゃない場合に
隠しウインドウをメッセージのやり取りに使ってるよ。
ウインドウメッセージのやり取りだけで済むなら、それが一番簡単だと思う。
0798デフォルトの名無しさん2014/02/21(金) 10:54:15.56
>>797
ウインドウハンドルの判らない相手にメッセージを・・・
あ、第三者の隠しウインドウが仲介するということでしょうか
0799デフォルトの名無しさん2014/02/21(金) 11:22:09.08
>>798
馬鹿はプログラミングなんかやめれば?
0800デフォルトの名無しさん2014/02/21(金) 11:27:38.40
>>799
だって、わざわざ隠しウンドウを用意するというのは簡単なことじゃないも
0801デフォルトの名無しさん2014/02/21(金) 11:50:32.83
大丈夫プログラミングとか馬鹿でもできるから
0802デフォルトの名無しさん2014/02/21(金) 12:11:42.71
馬鹿にも知恵が足りないタイプの馬鹿と知識が足りない馬鹿がいて
後者は努力次第でなんとかなるんだけど
>>798の場合は前者
詰んでる
0803デフォルトの名無しさん2014/02/21(金) 12:25:56.44
>>797氏は隠しウインドウで色々やるのだろうけど
>>794の場合では、単にウインドウハンドルを取得するために
隠しウインドウを新設するというのはスマートじゃないも
簡単さを求めるならINIファイルにハンドルを書き出すとかするけど
これもスマートじゃないし
0804デフォルトの名無しさん2014/02/21(金) 12:28:48.66
マウスフックで得られるで
そこまでするほどのもんかはおいといて
0805デフォルトの名無しさん2014/02/21(金) 13:26:44.19
>>794
設計能力もないゴミクズが何でプログラミングやってるんだ?

ゴミ設計前提で質問するゴミクズって何なんだろうな
0806デフォルトの名無しさん2014/02/21(金) 13:29:50.67
たぶん>>805みたいなやつじゃね?
0807デフォルトの名無しさん2014/02/21(金) 13:36:23.13
>>805
ゴミなのに依頼されてしまうんです
逃げるのに追いかけられてしまうんです
0808デフォルトの名無しさん2014/02/21(金) 13:46:12.49
このスレって金払わずに秀丸使ってる奴ばっかなんでしょ?
キモすぎ
0809デフォルトの名無しさん2014/02/21(金) 13:49:26.78
>>794は某掲示板でスパイウェア作ろうとして質問して叩かれまくった奴だろ
先週の終わり頃に立てたスレッドごと削除して逃げたと思ったらこっちにきたのか
スパイウェアだと叩かれた文言を訳あって〜に書き換えただけだからバレバレ
0810デフォルトの名無しさん2014/02/21(金) 13:49:34.22
VC++EEの付属エディタで間に合ってるが
0811デフォルトの名無しさん2014/02/21(金) 14:10:46.92
スパイじゃないんです
このスレの住人がどれほどのレベルか調査しています
ベストな回答はまだ出ていません
0812デフォルトの名無しさん2014/02/21(金) 14:35:34.65
>>811
精神病なのね
0813デフォルトの名無しさん2014/02/21(金) 16:16:41.10
シェアウェアを金払わずに使ったり、スパイウェア開発者を手伝ったりするのがこのスレの住人。
0814デフォルトの名無しさん2014/02/21(金) 16:18:41.16
「死ね」は逮捕されるぞ
気を付けろよ


【社会】交際女性に「死んでくれ」とメール、自殺教唆の疑いで慶応大学の学生を逮捕
http://uni.2ch.net/test/read.cgi/newsplus/1392953588/
【社会】交際相手にスマホで「死ねよ」慶大生逮捕 女性はマンション8階から飛び降り自殺
http://uni.2ch.net/test/read.cgi/newsplus/1392954800/
0815デフォルトの名無しさん2014/02/21(金) 17:27:32.39
自殺教唆の成立条件の一つに、「氏ね」って言われた人間が自殺を決意するってのがある
自殺を決意したかっどうかってのは、実際に自殺したか、自殺しようとしたかによって判断される
だからどんなに氏ねと言ったところで言われた人間が自殺しようとしなければ成立しない
警察に行って「氏ねって言われたから自殺を決意しました」と口頭で言っただけではどうにもならない
明らかに氏ぬことが目的のアクションを起こす必要がある

ちなみに氏ねと言われた人間が自殺しようとしなくても適用される可能性があるのは傷害
「氏ね」と言われたことにより精神的苦痛を味合わせられたとして被害届を出せばいい
但し、それはリアルで言われた場合の話であってネット上で言われただけでは認められないことが多い
0816デフォルトの名無しさん2014/02/21(金) 17:33:38.10
士ね
0817デフォルトの名無しさん2014/02/21(金) 18:03:24.47
タイムリミットは24時間後の明朝9時です
APIのスレですからAPIでビシッと相手ウインドウを特定してください
制限時間内に最善の回答が得られない場合は大変なことになります
0818デフォルトの名無しさん2014/02/21(金) 18:24:43.88
単なる共有メモリの話にしか見えないが
大変なことっていうのが気になるので回答発表は明日の9時過ぎにします
0819デフォルトの名無しさん2014/02/21(金) 18:30:39.77
余計なこと言うなや
お前から死にたいのか
0820 ◆QZaw55cn4c 2014/02/21(金) 19:10:02.18
市ね

英訳すると you shall die.
あくまで話者の願望だね、shall の用法からすれば

話者の願望が自殺教唆になるとは不思議な世界だねえ
0821デフォルトの名無しさん2014/02/21(金) 19:15:48.62
スルーできない馬鹿がNG使ってくれると思ってんだw
こりゃまたパーフェクトなプランニングですわ
頭沸いてんじゃない?コーヒー煎れといて

コーヒーまだ?
0822デフォルトの名無しさん2014/02/21(金) 19:39:31.73
you shall die
は
死ね
というより
ぬっ殺す
だよ
0823 ◆QZaw55cn4c 2014/02/21(金) 19:44:55.50
>>822
だ、か、ら

話者の願望、話者の意志
0824デフォルトの名無しさん2014/02/21(金) 19:58:53.65
shall we storm?
0825デフォルトの名無しさん2014/02/21(金) 20:20:50.58
>>812
このスレの住人はみな精神病だろ
0826デフォルトの名無しさん2014/02/21(金) 21:04:32.05
>>798
アプリケーションが自分でトップレベルの隠しウインドウを作るんだよ。
HWNDを取得するときに、その隠しウインドウにGETAPPWINDOW的な
独自メッセージを送ってHWNDを教えてもらう。

>>800
隠しウインドウを作るなんて、Windowsプログラミング入門系の本の
最初の章を読むだけでできると思うが。
WindowsプログラミングにとってのHello World的なコードだし。
0827デフォルトの名無しさん2014/02/21(金) 21:06:36.45
↑読むだけでできるものにわざわざレスつける自己顕示欲のゴミ
0828デフォルトの名無しさん2014/02/21(金) 21:20:59.75
804から漂う知ったかぶり臭
0829デフォルトの名無しさん2014/02/21(金) 22:05:22.13
>>828=雑魚
0830デフォルトの名無しさん2014/02/21(金) 22:37:29.37
精神病の見本市や
0831デフォルトの名無しさん2014/02/21(金) 23:59:26.04
>>828
マウスフック使った事無いんかよ
0832デフォルトの名無しさん2014/02/22(土) 00:03:20.05
>>831
うざい
お前に言ってないから
0833デフォルトの名無しさん2014/02/22(土) 00:19:21.08
>>832
図星か
知ったかはそっちだったんだな
0834デフォルトの名無しさん2014/02/22(土) 01:54:21.47
雑魚の見本市や
0835デフォルトの名無しさん2014/02/22(土) 04:49:48.86
>>831
マウスフックを使った事が有る奴こそ、マウスに限定する意味が無いって意味で知ったかぶり臭を感じるんじゃねーの
0836デフォルトの名無しさん2014/02/22(土) 05:00:06.61
>>835
はいはい
お前の勝ちでいいから早く寝ろ
0837デフォルトの名無しさん2014/02/22(土) 06:58:52.72
>>835
> そこまでするほどのもんかはおいといて
って書いてあるだろ
そんなに悔しいのか
0838デフォルトの名無しさん2014/02/22(土) 07:29:46.72
大変なことまであと1時間半
ゴクリ…
0839デフォルトの名無しさん2014/02/22(土) 07:44:06.30
大変なこと。。
それは質問者が回答しこのスレの存在意義を問うことです
0840デフォルトの名無しさん2014/02/22(土) 08:34:22.87
もう名無しのウィンドウ全部SetForegroundしまくっちゃおうぜ
0841デフォルトの名無しさん2014/02/22(土) 08:44:51.86
隔離所スレとしては立派に成立してるだろ?
まあいいや、回答どうぞ。できるもんならね
0842デフォルトの名無しさん2014/02/22(土) 09:18:30.78
9時過ぎたんですけど。
遅刻ですか?お前クビな
0843デフォルトの名無しさん2014/02/22(土) 09:38:47.23
では回答です
ウインドウで探すのではなくプロセスで探す
0844デフォルトの名無しさん2014/02/22(土) 09:47:27.28
流れ的には、実行ファイル名→プロセスID→ウインドウハンドル→在日朝鮮人排斥
となります。
実行ファイル名に対応するプロセスIDのうち、自分でないものが兄弟のch桜で原発
作業員が証言していましたが、朝鮮人が汚染水を放出したり作業の邪魔をしたり
やり放題です
マスコミも報じないし、朝鮮人どもを追い出さないといけない
それと中国が持ってる米国債が大問題です
これを中国が売っぱらうはずで、アメリカは日本に引き取れと強要してきます
アメリカと戦うのか破綻するのか、まさに真珠湾攻撃前夜状態です
というわけでアメリカの手先になってる在日朝鮮人を例外エラー処理しなければなりませn
0845デフォルトの名無しさん2014/02/22(土) 11:06:00.94
今回はどの辺まで消されますか?
0846デフォルトの名無しさん2014/02/22(土) 16:57:16.90
>>794>>817
対象ウィンドウを特定するのに使えない条件じゃなくて、
対象ウィンドウを特定するのに使いたい条件を書けよ。

プロセス名でいいなら ttp://d.hatena.ne.jp/yu-hr/20100323/1269356160 でそれらしいウィンドウ全部を検査する。
自力でループ回すのが嫌ならWMI(WQL)でも使えば出来るんじゃね。
このへんの方法なら、アクションを起こす側のプロセス内で作業が完結するからプロセス間通信とか深く考えなくても出来る。

アクションされる側のプロセス内で何らかの作業が必要な場合は↓

ウィンドウハンドルからプロセス名を取得するのにGetModuleFileName(非Ex版)を使いたい場合は、
対象プロセス内にその作業用のモジュールを持ち込む必要がある。
その方法の一つとしてDLLインジェクションがあり、インジェクション方法にはCreateRemoteThreadでLoadLibraryする方法と
ウィンドウプロシージャ対象のフックをSetWindowsHookExで仕掛ける場合がある(マウスはこの内の一つ)。
フックの場合条件を満たす全プロセスにインジェクションが発生するので副作用が大きいが、
プロセスのリストアップのような作業を省略できる(勝手にインジェクションされる)辺りは手軽。

・・・とはいうものの、そもそも対象ウィンドウは同一の自作プログラムらしいので、
インジェクションするまでもなく任意のコードを対象プロセス側で走らせることが出来る。

で、これらの方法で対象プロセス内で収集した情報はプロセス間通信でアクション側のプロセスに伝達する必要がある。
メールスロット、名前付き(名前なし)パイプ、共有フラグ付きのセクションのメモリ、ハンドルやファイル名などを介したデータ共有、
TCP/IPなどのソケット通信、(ウィンドウハンドルなどが必要だが)ウィンドウメッセージなどでデータを共有することが出来る。
0847デフォルトの名無しさん2014/02/22(土) 17:03:52.84
あぼーん推奨→>>846
0848デフォルトの名無しさん2014/02/22(土) 17:30:02.21
3行以上書き込む奴は間抜けか池沼だ
0849デフォルトの名無しさん2014/02/22(土) 18:20:49.98
>>848
そうとは限らんだろ



と思って>>846読んでみたら池沼だった
NGしとこ
0850デフォルトの名無しさん2014/02/22(土) 21:02:16.06
技術的な話をすると発狂し出す
低レベルな人たちが
足を引っ張り合うためのスレ
0851デフォルトの名無しさん2014/02/23(日) 00:09:37.35
IDない板で何をNGしたんだ・・・
0852デフォルトの名無しさん2014/02/23(日) 04:58:37.00
負け犬の目一杯の威嚇だよ
気にすんな
0853デフォルトの名無しさん2014/02/23(日) 05:03:31.14
折れは自分のチンチンも舐められない負け犬なんだよぉ
0854デフォルトの名無しさん2014/02/23(日) 05:54:38.52
自分の?
他人のは?
0855デフォルトの名無しさん2014/02/23(日) 12:48:42.81
RegisterWindowMessage, SendMessageTimeout
0856デフォルトの名無しさん2014/02/23(日) 16:08:20.98
自分のおちんちんはお願いを乞わないといけないけど
他人のおちんちんなら命令されればいつでも舐めます
0857デフォルトの名無しさん2014/02/23(日) 17:01:51.61
>>855
そういう手もあるのか・・・
でもその場合結果を受け取るにはプロセス間通信が要るよな
SendMessageCallbackの方が楽じゃね?
0858デフォルトの名無しさん2014/02/23(日) 20:58:16.71
>>857 HWNDを取得するのが目的です
0859デフォルトの名無しさん2014/02/23(日) 21:29:22.44
自発的に送らせてそれをプールするか、
送信に対して返信を送らせて取得するか、
送信に対する応答をそのまんま受け取るか
0860デフォルトの名無しさん2014/02/24(月) 02:32:32.55
>>857
通知領域に格納するアプリで
エクスプローラが再起動された時に再表示してないんか
0861デフォルトの名無しさん2014/02/24(月) 09:54:32.66
>>860
お前ウザいよ
0862デフォルトの名無しさん2014/02/24(月) 10:58:38.92
番号よく飛ぶ
0863デフォルトの名無しさん2014/02/24(月) 11:03:24.17
削除権を没収されてない削除人がいるのかのが
0864デフォルトの名無しさん2014/02/24(月) 12:55:20.54
ここまで読んだよ
0865デフォルトの名無しさん2014/02/24(月) 15:59:18.32
ム板の住民もラリってるけど
この板管理してるバカもかなりキチガイだな
自治スレで強制IDどうのって一人ズレたゴミがいるけどあれ削除人だろ
wwwwwwwwwwwwwww
0866デフォルトの名無しさん2014/02/24(月) 20:43:18.21
このスレにもQZとかいうずれたゴミが1人いるんで回収しといて
0867デフォルトの名無しさん2014/02/24(月) 22:36:06.98
片山ってゴミも回収しといて
0868デフォルトの名無しさん2014/02/25(火) 00:20:01.65
>>867
ごめん、今、Win32APIに興味ない
0869デフォルトの名無しさん2014/02/25(火) 00:30:38.98
>>861
図星かよ
0870デフォルトの名無しさん2014/02/25(火) 01:12:11.36
>>860
SendMessageTimeoutの代わりにSendMessageCallbackって話で
RegisterWindowMessage使わないって話じゃねーだろ
そもそも通知領域使わない奴にんなこと言っても意味ないし…
858といい860といい869といい思い込みと勘違いが激しすぎるぞ
そもそも861は857じゃねーし
0871デフォルトの名無しさん2014/02/25(火) 01:43:52.36
>>870
そんなに悔しかったんか?

>>855に対し「そういう手もあるのか・・・」って事は
RegisterWindowMessageは選択肢に無かったって事だろ
なら通知領域に再表示の事も知らないって事になる
0872デフォルトの名無しさん2014/02/25(火) 02:01:55.57
>>871
わかったわかった
お前の勝ちでいいからさっさと寝ろ雑魚
0873デフォルトの名無しさん2014/02/25(火) 02:23:12.06
>>872
どこでそんなにストレスためてるんだよ
0874デフォルトの名無しさん2014/02/25(火) 02:24:32.56
「そういう手もあるのか・・・」って相手の発想を認めた発言なのに、どうして「悔しかった」様に見えるんだろ?
勝者じゃないと気が済まないのに、何かを指摘されて悔しかった自身の感情を投影したように見えてしまうんだが

つか俺も人のことは言えんけど>>861とか>>872はわざわざ煽るなよ…
0875デフォルトの名無しさん2014/02/25(火) 02:34:55.71
↑基地害の寝言だからスルー推奨
0876デフォルトの名無しさん2014/02/25(火) 03:04:00.94
>>874
煽ってる時点で悔しさが滲んでるんじゃないか?
0877デフォルトの名無しさん2014/02/25(火) 03:07:14.12
>>876
自己紹介乙
0878デフォルトの名無しさん2014/02/25(火) 07:24:04.88
他スレッドのウィンドウへのメッセージはPostする又は時間制限をつける
0879デフォルトの名無しさん2014/02/25(火) 08:01:50.46
もしくはコールバックにするかスレッドを作る
0880デフォルトの名無しさん2014/02/25(火) 09:29:30.13
馬鹿じゃねw
0881デフォルトの名無しさん2014/02/25(火) 13:36:19.51
イヤこのスレッドの中だけでとどめてくれたのむ
0882デフォルトの名無しさん2014/02/25(火) 21:35:10.49
連絡してね、って言われたので電話すると、ずーと呼び出し音のみ、あるいは、おかけになった番号は云々
0883デフォルトの名無しさん2014/02/25(火) 21:42:31.57
ほんと糞みたいなスレッドだな
0884デフォルトの名無しさん2014/02/25(火) 22:07:32.41
twitter 馬鹿発見器
2ちゃんねる 馬鹿ばっか
0885デフォルトの名無しさん2014/02/25(火) 22:09:37.23
送信側がSendMessageCallback後Callbackを受ける前に事態が変わるかもしれない。
送信側がSendMessageTimeoutし受信側のハンドラで送信側をSendMessageで呼ぶようにすればそんな心配はない。
0886デフォルトの名無しさん2014/02/26(水) 00:43:29.93
>>885
その方法でHWND_BROADCASTにメッセージ送る場合、PostMessageじゃなくてSendMessageTimeoutを使うメリットって何?
つか受信側のハンドラでメッセージを受け取る前に事態が変わったら結局・・・
0887デフォルトの名無しさん2014/02/26(水) 00:49:14.22
>>886
馬鹿に構うな
0888デフォルトの名無しさん2014/02/26(水) 09:12:21.29
八八八
0889デフォルトの名無しさん2014/02/26(水) 11:24:57.16
お菓子喰って涙がで〜そ〜う
0890デフォルトの名無しさん2014/02/26(水) 19:22:00.54
特に、SendMessage() がかどうか最初のパラメーターでは、
トップの (WINDOWS では-1 として定義されています。
H で定義します。
トップの場合は、最初のパラメーターは、これは 1 つのシステム内のすべてのトップレベル ウィンドウを列挙
およびこれらのすべてのウィンドウにメッセージを送信します。
SendMessage() へ 1 つの呼び出しが SendMessage() の呼び出しは最上位のウィンドウの数を内部的に変換し

Among other things, SendMessage() determines whether the first parameter is HWND_BROADCAST (defined as -1 in WINDOWS.H).
If HWND_BROADCAST is the first parameter,
SendMessage enumerates all top-level windows in the system and sends the message to all these windows.
0891デフォルトの名無しさん2014/02/26(水) 19:32:00.81
送信側は停止し、各ウィンドウに順にSendMessageするだけなので、
ある受信者が送信側の状態を変更した場合は
次の受信者は変更後にSendMessageされるだけ。
要は、同期しているということ。
0892デフォルトの名無しさん2014/02/26(水) 19:33:43.21
どうやら被殺害願望があるようだな
よろしい
0893デフォルトの名無しさん2014/02/26(水) 20:44:12.80
可笑しはキャンディー
0894デフォルトの名無しさん2014/02/27(木) 00:41:22.04
>>889
お腹も出るから気をつけろ my sweet devil
0895デフォルトの名無しさん2014/02/27(木) 06:09:26.51
>>890-891
こいつらマジでこんな認識でプログラミングしてんの?w
0896デフォルトの名無しさん2014/02/27(木) 18:06:17.34
>>890
機械翻訳をうのみにしたらダメです
■ このスレッドは過去ログ倉庫に格納されています