Win32API質問箱 Build116
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/30(水) 17:17:04.92■過去スレ
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非表示の隠しウインドウを作ってメッセージのやり取りをするのが簡単。
俺はダイアログベースのアプリで、キャプションが固定じゃない場合に
隠しウインドウをメッセージのやり取りに使ってるよ。
ウインドウメッセージのやり取りだけで済むなら、それが一番簡単だと思う。
0798デフォルトの名無しさん
2014/02/21(金) 10:54:15.56ウインドウハンドルの判らない相手にメッセージを・・・
あ、第三者の隠しウインドウが仲介するということでしょうか
0799デフォルトの名無しさん
2014/02/21(金) 11:22:09.08馬鹿はプログラミングなんかやめれば?
0800デフォルトの名無しさん
2014/02/21(金) 11:27:38.40だって、わざわざ隠しウンドウを用意するというのは簡単なことじゃないも
0801デフォルトの名無しさん
2014/02/21(金) 11:50:32.830802デフォルトの名無しさん
2014/02/21(金) 12:11:42.71後者は努力次第でなんとかなるんだけど
>>798の場合は前者
詰んでる
0803デフォルトの名無しさん
2014/02/21(金) 12:25:56.44>>794の場合では、単にウインドウハンドルを取得するために
隠しウインドウを新設するというのはスマートじゃないも
簡単さを求めるならINIファイルにハンドルを書き出すとかするけど
これもスマートじゃないし
0804デフォルトの名無しさん
2014/02/21(金) 12:28:48.66そこまでするほどのもんかはおいといて
0805デフォルトの名無しさん
2014/02/21(金) 13:26:44.19設計能力もないゴミクズが何でプログラミングやってるんだ?
ゴミ設計前提で質問するゴミクズって何なんだろうな
0806デフォルトの名無しさん
2014/02/21(金) 13:29:50.670807デフォルトの名無しさん
2014/02/21(金) 13:36:23.13ゴミなのに依頼されてしまうんです
逃げるのに追いかけられてしまうんです
0808デフォルトの名無しさん
2014/02/21(金) 13:46:12.49キモすぎ
0809デフォルトの名無しさん
2014/02/21(金) 13:49:26.78先週の終わり頃に立てたスレッドごと削除して逃げたと思ったらこっちにきたのか
スパイウェアだと叩かれた文言を訳あって〜に書き換えただけだからバレバレ
0810デフォルトの名無しさん
2014/02/21(金) 13:49:34.220811デフォルトの名無しさん
2014/02/21(金) 14:10:46.92このスレの住人がどれほどのレベルか調査しています
ベストな回答はまだ出ていません
0812デフォルトの名無しさん
2014/02/21(金) 14:35:34.65精神病なのね
0813デフォルトの名無しさん
2014/02/21(金) 16:16:41.100814デフォルトの名無しさん
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.100817デフォルトの名無しさん
2014/02/21(金) 18:03:24.47APIのスレですからAPIでビシッと相手ウインドウを特定してください
制限時間内に最善の回答が得られない場合は大変なことになります
0818デフォルトの名無しさん
2014/02/21(金) 18:24:43.88大変なことっていうのが気になるので回答発表は明日の9時過ぎにします
0819デフォルトの名無しさん
2014/02/21(金) 18:30:39.77お前から死にたいのか
英訳すると you shall die.
あくまで話者の願望だね、shall の用法からすれば
話者の願望が自殺教唆になるとは不思議な世界だねえ
0821デフォルトの名無しさん
2014/02/21(金) 19:15:48.62こりゃまたパーフェクトなプランニングですわ
頭沸いてんじゃない?コーヒー煎れといて
コーヒーまだ?
0822デフォルトの名無しさん
2014/02/21(金) 19:39:31.73は
死ね
というより
ぬっ殺す
だよ
だ、か、ら
話者の願望、話者の意志
0824デフォルトの名無しさん
2014/02/21(金) 19:58:53.650825デフォルトの名無しさん
2014/02/21(金) 20:20:50.58このスレの住人はみな精神病だろ
0826デフォルトの名無しさん
2014/02/21(金) 21:04:32.05アプリケーションが自分でトップレベルの隠しウインドウを作るんだよ。
HWNDを取得するときに、その隠しウインドウにGETAPPWINDOW的な
独自メッセージを送ってHWNDを教えてもらう。
>>800
隠しウインドウを作るなんて、Windowsプログラミング入門系の本の
最初の章を読むだけでできると思うが。
WindowsプログラミングにとってのHello World的なコードだし。
0827デフォルトの名無しさん
2014/02/21(金) 21:06:36.450828デフォルトの名無しさん
2014/02/21(金) 21:20:59.750829デフォルトの名無しさん
2014/02/21(金) 22:05:22.130830デフォルトの名無しさん
2014/02/21(金) 22:37:29.370831デフォルトの名無しさん
2014/02/21(金) 23:59:26.04マウスフック使った事無いんかよ
0832デフォルトの名無しさん
2014/02/22(土) 00:03:20.05うざい
お前に言ってないから
0833デフォルトの名無しさん
2014/02/22(土) 00:19:21.08図星か
知ったかはそっちだったんだな
0834デフォルトの名無しさん
2014/02/22(土) 01:54:21.470835デフォルトの名無しさん
2014/02/22(土) 04:49:48.86マウスフックを使った事が有る奴こそ、マウスに限定する意味が無いって意味で知ったかぶり臭を感じるんじゃねーの
0836デフォルトの名無しさん
2014/02/22(土) 05:00:06.61はいはい
お前の勝ちでいいから早く寝ろ
0837デフォルトの名無しさん
2014/02/22(土) 06:58:52.72> そこまでするほどのもんかはおいといて
って書いてあるだろ
そんなに悔しいのか
0838デフォルトの名無しさん
2014/02/22(土) 07:29:46.72ゴクリ…
0839デフォルトの名無しさん
2014/02/22(土) 07:44:06.30それは質問者が回答しこのスレの存在意義を問うことです
0840デフォルトの名無しさん
2014/02/22(土) 08:34:22.870841デフォルトの名無しさん
2014/02/22(土) 08:44:51.86まあいいや、回答どうぞ。できるもんならね
0842デフォルトの名無しさん
2014/02/22(土) 09:18:30.78遅刻ですか?お前クビな
0843デフォルトの名無しさん
2014/02/22(土) 09:38:47.23ウインドウで探すのではなくプロセスで探す
0844デフォルトの名無しさん
2014/02/22(土) 09:47:27.28となります。
実行ファイル名に対応するプロセスIDのうち、自分でないものが兄弟のch桜で原発
作業員が証言していましたが、朝鮮人が汚染水を放出したり作業の邪魔をしたり
やり放題です
マスコミも報じないし、朝鮮人どもを追い出さないといけない
それと中国が持ってる米国債が大問題です
これを中国が売っぱらうはずで、アメリカは日本に引き取れと強要してきます
アメリカと戦うのか破綻するのか、まさに真珠湾攻撃前夜状態です
というわけでアメリカの手先になってる在日朝鮮人を例外エラー処理しなければなりませn
0845デフォルトの名無しさん
2014/02/22(土) 11:06:00.940846デフォルトの名無しさん
2014/02/22(土) 16:57:16.90対象ウィンドウを特定するのに使えない条件じゃなくて、
対象ウィンドウを特定するのに使いたい条件を書けよ。
プロセス名でいいなら 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.840848デフォルトの名無しさん
2014/02/22(土) 17:30:02.210850デフォルトの名無しさん
2014/02/22(土) 21:02:16.06低レベルな人たちが
足を引っ張り合うためのスレ
0851デフォルトの名無しさん
2014/02/23(日) 00:09:37.350852デフォルトの名無しさん
2014/02/23(日) 04:58:37.00気にすんな
0853デフォルトの名無しさん
2014/02/23(日) 05:03:31.140854デフォルトの名無しさん
2014/02/23(日) 05:54:38.52他人のは?
0855デフォルトの名無しさん
2014/02/23(日) 12:48:42.810856デフォルトの名無しさん
2014/02/23(日) 16:08:20.98他人のおちんちんなら命令されればいつでも舐めます
0857デフォルトの名無しさん
2014/02/23(日) 17:01:51.61そういう手もあるのか・・・
でもその場合結果を受け取るにはプロセス間通信が要るよな
SendMessageCallbackの方が楽じゃね?
0858デフォルトの名無しさん
2014/02/23(日) 20:58:16.710859デフォルトの名無しさん
2014/02/23(日) 21:29:22.44送信に対して返信を送らせて取得するか、
送信に対する応答をそのまんま受け取るか
0860デフォルトの名無しさん
2014/02/24(月) 02:32:32.55通知領域に格納するアプリで
エクスプローラが再起動された時に再表示してないんか
0861デフォルトの名無しさん
2014/02/24(月) 09:54:32.66お前ウザいよ
0862デフォルトの名無しさん
2014/02/24(月) 10:58:38.920863デフォルトの名無しさん
2014/02/24(月) 11:03:24.170864デフォルトの名無しさん
2014/02/24(月) 12:55:20.540865デフォルトの名無しさん
2014/02/24(月) 15:59:18.32この板管理してるバカもかなりキチガイだな
自治スレで強制IDどうのって一人ズレたゴミがいるけどあれ削除人だろ
wwwwwwwwwwwwwww
0866デフォルトの名無しさん
2014/02/24(月) 20:43:18.210867デフォルトの名無しさん
2014/02/24(月) 22:36:06.980868デフォルトの名無しさん
2014/02/25(火) 00:20:01.65ごめん、今、Win32APIに興味ない
0869デフォルトの名無しさん
2014/02/25(火) 00:30:38.98図星かよ
0870デフォルトの名無しさん
2014/02/25(火) 01:12:11.36SendMessageTimeoutの代わりにSendMessageCallbackって話で
RegisterWindowMessage使わないって話じゃねーだろ
そもそも通知領域使わない奴にんなこと言っても意味ないし…
858といい860といい869といい思い込みと勘違いが激しすぎるぞ
そもそも861は857じゃねーし
0871デフォルトの名無しさん
2014/02/25(火) 01:43:52.36そんなに悔しかったんか?
>>855に対し「そういう手もあるのか・・・」って事は
RegisterWindowMessageは選択肢に無かったって事だろ
なら通知領域に再表示の事も知らないって事になる
0872デフォルトの名無しさん
2014/02/25(火) 02:01:55.57わかったわかった
お前の勝ちでいいからさっさと寝ろ雑魚
0873デフォルトの名無しさん
2014/02/25(火) 02:23:12.06どこでそんなにストレスためてるんだよ
0874デフォルトの名無しさん
2014/02/25(火) 02:24:32.56勝者じゃないと気が済まないのに、何かを指摘されて悔しかった自身の感情を投影したように見えてしまうんだが
つか俺も人のことは言えんけど>>861とか>>872はわざわざ煽るなよ…
0875デフォルトの名無しさん
2014/02/25(火) 02:34:55.710876デフォルトの名無しさん
2014/02/25(火) 03:04:00.94煽ってる時点で悔しさが滲んでるんじゃないか?
0877デフォルトの名無しさん
2014/02/25(火) 03:07:14.12自己紹介乙
0878デフォルトの名無しさん
2014/02/25(火) 07:24:04.880879デフォルトの名無しさん
2014/02/25(火) 08:01:50.460880デフォルトの名無しさん
2014/02/25(火) 09:29:30.130881デフォルトの名無しさん
2014/02/25(火) 13:36:19.510882デフォルトの名無しさん
2014/02/25(火) 21:35:10.490883デフォルトの名無しさん
2014/02/25(火) 21:42:31.570884デフォルトの名無しさん
2014/02/25(火) 22:07:32.412ちゃんねる 馬鹿ばっか
0885デフォルトの名無しさん
2014/02/25(火) 22:09:37.23送信側がSendMessageTimeoutし受信側のハンドラで送信側をSendMessageで呼ぶようにすればそんな心配はない。
0886デフォルトの名無しさん
2014/02/26(水) 00:43:29.93その方法でHWND_BROADCASTにメッセージ送る場合、PostMessageじゃなくてSendMessageTimeoutを使うメリットって何?
つか受信側のハンドラでメッセージを受け取る前に事態が変わったら結局・・・
0887デフォルトの名無しさん
2014/02/26(水) 00:49:14.22馬鹿に構うな
0888デフォルトの名無しさん
2014/02/26(水) 09:12:21.290889デフォルトの名無しさん
2014/02/26(水) 11:24:57.160890デフォルトの名無しさん
2014/02/26(水) 19:22:00.54トップの (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されるだけ。
要は、同期しているということ。
0892デフォルトの名無しさん
2014/02/26(水) 19:33:43.21よろしい
0893デフォルトの名無しさん
2014/02/26(水) 20:44:12.800894デフォルトの名無しさん
2014/02/27(木) 00:41:22.04お腹も出るから気をつけろ my sweet devil
0895デフォルトの名無しさん
2014/02/27(木) 06:09:26.51こいつらマジでこんな認識でプログラミングしてんの?w
0896デフォルトの名無しさん
2014/02/27(木) 18:06:17.34機械翻訳をうのみにしたらダメです
■ このスレッドは過去ログ倉庫に格納されています