Win32API質問箱 Build85

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

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

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

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

Win32API質問箱 Build84
http://pc12.2ch.net/test/read.cgi/tech/1259478896/
2デフォルトの名無しさん:2010/01/02(土) 20:07:39
3デフォルトの名無しさん:2010/01/02(土) 20:07:54
60 ttp://pc11.2ch.net/test/read.cgi/tech/1196874830/
59 ttp://pc11.2ch.net/test/read.cgi/tech/1194701996/
58 ttp://pc11.2ch.net/test/read.cgi/tech/1191781463/
57 ttp://pc11.2ch.net/test/read.cgi/tech/1189255282/
56 ttp://pc11.2ch.net/test/read.cgi/tech/1186989201/
55 ttp://pc11.2ch.net/test/read.cgi/tech/1184853465/
54 ttp://pc11.2ch.net/test/read.cgi/tech/1181645965/
53 ttp://pc11.2ch.net/test/read.cgi/tech/1178882828/
52 ttp://pc11.2ch.net/test/read.cgi/tech/1176828891/
51 ttp://pc11.2ch.net/test/read.cgi/tech/1174416295/
50 ttp://pc11.2ch.net/test/read.cgi/tech/1171721448/
49 ttp://pc10.2ch.net/test/read.cgi/tech/1168708801/
48 ttp://pc10.2ch.net/test/read.cgi/tech/1166172047/
47 ttp://pc8.2ch.net/test/read.cgi/tech/1163375772/
46 ttp://pc8.2ch.net/test/read.cgi/tech/1159158014/
45 ttp://pc8.2ch.net/test/read.cgi/tech/1156032806/
44 ttp://pc8.2ch.net/test/read.cgi/tech/1151501925/
43 ttp://pc8.2ch.net/test/read.cgi/tech/1148005509/
42 ttp://pc8.2ch.net/test/read.cgi/tech/1144962549/
41 ttp://pc8.2ch.net/test/read.cgi/tech/1141392216/
40 ttp://pc8.2ch.net/test/read.cgi/tech/1138893959/
39 ttp://pc8.2ch.net/test/read.cgi/tech/1136673250/
38 ttp://pc8.2ch.net/test/read.cgi/tech/1133798345/
37 ttp://pc8.2ch.net/test/read.cgi/tech/1131884991/
36 ttp://pc8.2ch.net/test/read.cgi/tech/1128951330/
35 ttp://pc8.2ch.net/test/read.cgi/tech/1125850096/
34 ttp://pc8.2ch.net/test/read.cgi/tech/1122723009/
33 ttp://pc8.2ch.net/test/read.cgi/tech/1120153520/
32 ttp://pc8.2ch.net/test/read.cgi/tech/1117271829/
31 ttp://pc8.2ch.net/test/read.cgi/tech/1114762194/
4デフォルトの名無しさん:2010/01/02(土) 20:08:07
30 ttp://pc8.2ch.net/test/read.cgi/tech/1112345886/
29 ttp://pc8.2ch.net/test/read.cgi/tech/1110281860/
28 ttp://pc5.2ch.net/test/read.cgi/tech/1108199304/
27 ttp://pc5.2ch.net/test/read.cgi/tech/1106103119/
26 ttp://pc5.2ch.net/test/read.cgi/tech/1104109858/
25 ttp://pc5.2ch.net/test/read.cgi/tech/1101393155/
24 ttp://pc5.2ch.net/test/read.cgi/tech/1098967135/
23 ttp://pc5.2ch.net/test/read.cgi/tech/1095534704/
22 ttp://pc5.2ch.net/test/read.cgi/tech/1092524669/
21 ttp://pc5.2ch.net/test/read.cgi/tech/1090422324/
20 ttp://pc5.2ch.net/test/read.cgi/tech/1088140233/
19 ttp://pc5.2ch.net/test/read.cgi/tech/1084697545/
18 ttp://pc5.2ch.net/test/read.cgi/tech/1081702990/
17 ttp://pc5.2ch.net/test/read.cgi/tech/1077470361/
16 ttp://pc2.2ch.net/test/read.cgi/tech/1073830065/
15 ttp://pc2.2ch.net/test/read.cgi/tech/1069339866/
14 ttp://pc5.2ch.net/tech/kako/1065/10653/1065328397.html
13 ttp://pc5.2ch.net/tech/kako/1059/10595/1059549320.html
12 ttp://pc5.2ch.net/tech/kako/1056/10560/1056033645.html
11 ttp://pc5.2ch.net/tech/kako/1052/10526/1052651750.html
10 ttp://pc5.2ch.net/tech/kako/1047/10478/1047819779.html
9 ttp://pc5.2ch.net/tech/kako/1044/10449/1044929160.html
8 ttp://pc5.2ch.net/tech/kako/1040/10409/1040964626.html
7 ttp://pc3.2ch.net/tech/kako/1036/10366/1036654893.html
6 ttp://pc3.2ch.net/tech/kako/1032/10325/1032548635.html
5 ttp://pc3.2ch.net/tech/kako/1028/10285/1028580373.html
4 ttp://pc3.2ch.net/tech/kako/1023/10233/1023361418.html
3 ttp://pc.2ch.net/tech/kako/1017/10170/1017072275.html
2 ttp://pc.2ch.net/tech/kako/1006/10067/1006783012.html
1 ttp://pc.2ch.net/tech/kako/991/991576947.html
5デフォルトの名無しさん:2010/01/02(土) 20:08:19
SDK最新版
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)
http://www.microsoft.com/downloads/details.aspx?familyid=71DEB800-C591-4F97-A900-BEA146E4FAE1&displaylang=en

●以下のサイトは間違いが多いのでこのスレでは超超超不評です●
http://www.geocities.jp/ky_webid/win32c/
6デフォルトの名無しさん:2010/01/02(土) 20:27:13
馬鹿は使うな!

以上!
7デフォルトの名無しさん:2010/01/02(土) 20:36:19
天才は使え!

以上!
8デフォルトの名無しさん:2010/01/02(土) 20:59:52
馬鹿な天才は使え!

以上!
9デフォルトの名無しさん:2010/01/02(土) 21:14:32
なんでここの回答者ってカリカリしてんの?
10デフォルトの名無しさん:2010/01/02(土) 21:31:58
カリカリするのが癖です
11デフォルトの名無しさん:2010/01/02(土) 21:35:52
力リ力リって何?
12デフォルトの名無しさん:2010/01/02(土) 22:44:20
c言語を学んでいるのですがゲームなどを作るにはWindowsプログラミングを学ばなくてはいけませんか?
13デフォルトの名無しさん:2010/01/02(土) 23:19:02
モーダルループって何だ?
モーダルダイアログのループ、じゃないよな?
14デフォルトの名無しさん:2010/01/02(土) 23:21:02
>>12
どういうゲームを作りたいのか知らんけど、場合によっては必要だろうね。
15デフォルトの名無しさん:2010/01/03(日) 00:26:43
16デフォルトの名無しさん:2010/01/03(日) 00:28:47
17デフォルトの名無しさん:2010/01/03(日) 00:31:20
検索しないで質問する馬鹿が多すぎ
18デフォルトの名無しさん:2010/01/03(日) 00:36:54
検索って何だ?
検の索、じゃないよな?
1913:2010/01/03(日) 00:42:34
残念、>>15のように検索したんだが、用語の意味を解説しているサイトが
見つからなかったから質問したのだ。

>>16の英語で探すか
20デフォルトの名無しさん:2010/01/03(日) 00:46:09
>このように、メインのメッセージループから制御を奪うモーダルループや
>>15の一番上のサイトに書いてあるんだが、バカですか?
21デフォルトの名無しさん:2010/01/03(日) 00:49:01
>>14
なるほどありがとうございました
22デフォルトの名無しさん:2010/01/03(日) 00:49:47
MSDNで"modal loop"で検索しても大量にヒットするんだが
何が残念、だか
23デフォルトの名無しさん:2010/01/03(日) 00:52:00
日本語・英語以外で検索したんでしょ
これでMVPが日本人じゃ無いって証明できた
24デフォルトの名無しさん:2010/01/03(日) 00:53:15
>>20
で、それがあっているという証拠は?
25デフォルトの名無しさん:2010/01/03(日) 00:54:44
"modal loop" でググったら
blogs.msdn.com が一番上に来るな
26デフォルトの名無しさん:2010/01/03(日) 00:55:40
>>24
MSDNぐらい見ろよ馬鹿
今年もMVPになりたいのか?
2713,24:2010/01/03(日) 01:05:12
モーダルループそのものの意味の説明を探してたが、>>26でmsdnの
説明文にモーダルループが出てきたわ。
とりあえずフックに関する用語だということが分かったからあとはフックのサイトを幾つか
回れば大体の意味は分かりそうだな。
28デフォルトの名無しさん:2010/01/03(日) 01:08:34
MSDNを検索すればモーダルループという用語の説明が載ってるから言ってるんだが・・・
検索も出来ないのか?
29デフォルトの名無しさん:2010/01/03(日) 01:10:31
ttp://pc12.2ch.net/test/read.cgi/tech/1259478896/793
>これが本当なのかどうかは知らんが、PC用語の
>定義ってのは難しすぎてゆーかその場しのぎ的
>というか、いい加減ってか、結構荒んでるな。
>少なくとも全員がしゃかりきになって覚えるべき用語
>じゃないね。無理に覚えたりすると精神に障害を来すかもな

こーいう奴だから。典型的な教えてクレクレ厨。
3013,24:2010/01/03(日) 01:13:57
>>28
thx、見つかった
31デフォルトの名無しさん:2010/01/03(日) 01:14:56
>>30
二度と来るなカス
3213,24:2010/01/03(日) 01:18:54
>>29
だれ?それ。
33デフォルトの名無しさん:2010/01/03(日) 01:23:05
うぜーーーーーーーーーーーーーーーーーー
3413,24:2010/01/03(日) 01:25:33
論破完了
35デフォルトの名無しさん:2010/01/03(日) 01:39:18
ついさっき勉強を始めた>>12ですが初期化の内容が多すぎやしませんか・・
正直きつい・・挫折しそうだ・・なにか『コツ』みたいなものはないのでしょうか・・
甘い野郎ですいません・・
36デフォルトの名無しさん:2010/01/03(日) 01:49:48
>>35
DXライブラリを使ってみては?
37デフォルトの名無しさん:2010/01/03(日) 01:54:58
>>35
初期化は面倒なのでコピペ改変
覚えたければ時間を忘れてひたすら打ち込む&詠唱(冗談)
予めマルチタスクOSの勉強をしておくと実際そのまんまのネーミングだったりするので理解しやすいかも
38デフォルトの名無しさん:2010/01/03(日) 02:05:51
>>36
ありがとうございます。実際に作成される場で使われるものを覚えたいのですが、どうなんでしょう?
>>37
ありがとうございます。そういえばどっかでみた動画もコピペしてたな
すみませんがどのように検索したら出てくるか教えていただけませんか?
39デフォルトの名無しさん:2010/01/03(日) 02:08:34
どんなゲームを作りたいのか知らないけど
Windows APIだけだと東方Projectが出してるようなゲームや
3Dのゲームは作れない(速度が出ない)

作るには
Windows API + DirectX か
Windows API + OpenGL を勉強しないといけない
40デフォルトの名無しさん:2010/01/03(日) 02:08:36
>>35
あと、Windows1.0の発売は1985年でその頃のPCの技術的な制約が互換性を保つために今も随所に残ってる
だからその時代の技術的制約を知っておくと現在からみればなぜ回りくどいことをしているのか
どうしてそんなAPIが存在するのかが理解できる
41デフォルトの名無しさん:2010/01/03(日) 02:17:11
>>38
なんで今時C言語なんかでゲーム作ろうとしてるの?
42デフォルトの名無しさん:2010/01/03(日) 02:17:24
しかし、それを知るのが難しいんだよなぁ
43デフォルトの名無しさん:2010/01/03(日) 02:28:14
>>39
つまりwindowsAPIは覚えといていいんですよね?
>>40
頭が爆発します
>>41
今時はなにでゲームつくるんですか? 
44デフォルトの名無しさん:2010/01/03(日) 02:32:34
ゲームを作りたいのかC言語を習得したいのかハッキリしろ。
前者ならHSPやXNAか、ツクールのようなオーサリングツールで遥かに簡単に作れる。
45デフォルトの名無しさん:2010/01/03(日) 02:40:05
C言語 ゲーム もしくは
C++ ゲーム でググれ

ゲーム作るなら普通はC++
ゲーム製作の話はスレ違い

とりあえずゲ製作技術板いけ

ゲ製作技術
ttp://pc11.2ch.net/gamedev/
46デフォルトの名無しさん:2010/01/03(日) 02:42:02
>>44
う〜ん、なんというか1から何かをつくりたいというか基礎を学びたいというかそれを形にしたものにはいろいろあると思いますがとりあえずゲームかなと。
つまりゲームを作りたいは作りたいのですが、ツクールとかでつくるというのとはちがいますね。
なんというかとにかく学びたいですね今は。
47デフォルトの名無しさん:2010/01/03(日) 02:46:21
>>45
はっ、いつの間にかスレチな内容に・・、すみませんでした。
c++ですか・・基本情報とるためにc++学んでc++は基本情報の範囲ではないことがわかってcを学んだんですよね。というどうでもいい話。
基本情報をとったらもう一度c++勉強しようと思います。ありがとうございました。そしてすみませんでした。
ちなみにオレは建築系の大学生、全く関係ないこと勉強してます
48デフォルトの名無しさん:2010/01/03(日) 02:51:51
とりあえずゲームってあんた
ゲームはハードル高い部類なんだが・・・

まぁ間違いなく挫折すると思うけど頑張れよ
49デフォルトの名無しさん:2010/01/03(日) 02:52:42
いいから消えてなくなれよ。
50デフォルトの名無しさん:2010/01/03(日) 02:59:02
このスレも消えてなくなればみんな幸せ
51デフォルトの名無しさん:2010/01/03(日) 03:00:07
MVPに選ばれたいとしか思えないほどヴァカが次々に沸いてくるのは何故ですか?
52デフォルトの名無しさん:2010/01/03(日) 03:03:30
前スレのバカとそれをMVPと呼ぶ奴のせいでおかしい流れになったね
53デフォルトの名無しさん:2010/01/03(日) 03:06:02
前スレの馬鹿は数スレ前からいたが、奴のせいでスレのレベルは確実に落ちた。
54デフォルトの名無しさん:2010/01/03(日) 03:08:50
スレを潰す為にわざと馬鹿キャラを演じて
スレのレベルを下げているとしか思えないぐらい
頭が悪すぎる。
55デフォルトの名無しさん:2010/01/03(日) 03:12:59
>>49-54
とりあえずお前らが消えれば落ち着く
56デフォルトの名無しさん:2010/01/03(日) 03:18:46
× お前ら
○ お前
57デフォルトの名無しさん:2010/01/03(日) 09:03:10
自分の書き込み内容を親兄弟友人に見せて恥ずかしくない内容かどうか、
煽りを入れる前に考え直した方がいいだろう。
それが自分の本性だと自覚すると鬱になってこないか?
58デフォルトの名無しさん:2010/01/03(日) 09:16:20
と、自分の本性を自覚して鬱になってる人が申しております
59デフォルトの名無しさん:2010/01/03(日) 09:29:36
自分の書き込み内容を読み返して鬱になってきた前スレのヴァカが自戒の念を込めてアドバイス
ということにしておくか。
60デフォルトの名無しさん:2010/01/03(日) 09:33:16
基本的な行動原理

他人の意見を受け入れる=敗北
煽る=他人より優位
勝利=最後まで書き込みを続ける

そもそも勝った負けたとかいうのが、
結局は論点が違う方へ流れてしまう原因になっているんだよね。
冷静に自分を見つめ直そうといくら言っても、通じるわけはないんだろうけどさ。
おそらくリアルの方のに色々と問題があるのが爆発しているんだろうね。
61デフォルトの名無しさん:2010/01/03(日) 09:34:49
前年度MVPの行動原理ですね。
62デフォルトの名無しさん:2010/01/03(日) 09:37:07
検索しない馬鹿
スレ違い馬鹿
キモイ長文で優越感に浸る馬鹿

この三大馬鹿さえ居なくなれば質問スレとして機能すると思うが・・・
63デフォルトの名無しさん:2010/01/03(日) 09:39:25
>>61
自分は違うというのなら、行動原理を挙げて見てくれるといいんじゃないかな。
書き込むのが嫌なら心の中だけで十分だけどさ。
64デフォルトの名無しさん:2010/01/03(日) 09:41:38
ま た M V P か
65デフォルトの名無しさん:2010/01/03(日) 09:44:35
> 他人の意見を受け入れる=敗北
> 煽る=他人より優位
> 勝利=最後まで書き込みを続ける

何だこりゃ^^;
左辺と右辺を統一しろよ
相変わらず頭の悪い奴だなー
66デフォルトの名無しさん:2010/01/03(日) 09:59:45
構ってチャンはスルーしとけっつーの
67デフォルトの名無しさん:2010/01/03(日) 16:48:31
60ってMVPが書いてるのかよw
別の誰かがMVPを揶揄して書いたんだと思ったw
68デフォルトの名無しさん:2010/01/03(日) 17:09:45
このスレは目覚まし君とかMVPとか、いろんなキャラが出てくるね
69デフォルトの名無しさん:2010/01/03(日) 18:33:57
年が明けても役に立たんスレだな w
70デフォルトの名無しさん:2010/01/03(日) 18:53:13
年が明ければ役に立つという前提がおかしい
71デフォルトの名無しさん:2010/01/03(日) 18:54:06
奇跡的に極稀に役立つスレ
72デフォルトの名無しさん:2010/01/03(日) 19:04:02
役に立たないのはスレではなくてWin32APIの方では?
今時SDKだけで開発する人口なんて限りなくゼロに近いからな

仮にMS-DOSシステムコール質問箱というスレがあったとしても
ここと同様機能してないのは明白
73デフォルトの名無しさん:2010/01/03(日) 20:12:25
必要になったら使うもんであって、役に立つ立たないってのは、何か違くね?
74デフォルトの名無しさん:2010/01/03(日) 20:47:26
必要にならないって事でしょ
75デフォルトの名無しさん:2010/01/03(日) 20:57:40
もうだめだこのスレ
76デフォルトの名無しさん:2010/01/03(日) 21:08:15
このスレだめだもう
77デフォルトの名無しさん:2010/01/03(日) 23:42:42
結局回答者が学生ばっかりなんだよな
78デフォルトの名無しさん:2010/01/04(月) 06:34:01
CreateWindow("EDIT" ・・・ で作成したエディットエリアの背景色を
変更することは可能でしょうか?
7978:2010/01/04(月) 07:07:54
CodeProjectでソース見つけました。
ありがとうございました。
80デフォルトの名無しさん:2010/01/04(月) 23:49:48
どういたしまして
81デフォルトの名無しさん:2010/01/04(月) 23:56:06
他のプロセスにアタッチして指定のメモリアドレス値を書き換えるAPI有りませんか
82デフォルトの名無しさん:2010/01/05(火) 01:11:35
WriteProcessMemory使えば一発じゃねえの
何だ?アタッチって
83デフォルトの名無しさん:2010/01/05(火) 01:18:41
CDやDVDのデータを直にいじれるAPIってある?
84デフォルトの名無しさん:2010/01/05(火) 01:20:41
ねえよ
85デフォルトの名無しさん:2010/01/05(火) 04:21:27
>>83
IMAPI
86デフォルトの名無しさん:2010/01/05(火) 05:41:29
http://msdn.microsoft.com/en-us/library/dd323704.aspx

> VIRTUAL_STORAGE_TYPE_DEVICE_ISO
> Internal use only. Not supported.
これにガッカリした
87デフォルトの名無しさん:2010/01/05(火) 09:36:06
ListViewCtrlのLVN_GETEMPTYMARKUP応答で<A>以外に使えるタグはあったりしますか?
英語版のMSDNを見ましたがタグについての記述は見つけられませんでした。

http://msdn.microsoft.com/ja-jp/magazine/cc163384.aspx
タグが使えるというのは上記で知りました
88デフォルトの名無しさん:2010/01/05(火) 12:37:02
前スレ995-997
モーダルループだろうが、メインウィンドウのFormだろうがディスパッチが停止する
定期的に実行しなければならないサービスが停止する不具合が起こると言っているんだが
89デフォルトの名無しさん:2010/01/05(火) 12:59:50
>>88
お前来ると荒れるから出てくんなよクズ
90デフォルトの名無しさん:2010/01/05(火) 13:10:12
すみません。ISAPIフィルタの質問ってここでよいでしょうか?
91デフォルトの名無しさん:2010/01/05(火) 13:31:41
>>88
モーダルループ中だろうと、ちゃんとメッセージは処理されるが?
自分が勘違いしてるだけなのに顔真っ赤にして怒ってるのは、傍から見てて恥ずかしい。
92デフォルトの名無しさん:2010/01/05(火) 18:37:57
モーダルでも一階層もぐった再帰状態でメッセージは処理される。
おそらく親ウインドウが入力を受け付けないので勘違いしている可能性が高いが、
単純に入力関連メッセージが無効になっているだけで、その他のメッセージは処理される。
たとえば親ウインドウに重なっているオブジェクトを動かせば、
きちんと親ウインドウ側にWM_PAINTが渡り再描画される。
もしこれがないと、モーダルを使った親ウインドウは描画がおかしくなる。

という話をすればいいだけで、いちいち煽り文句を入れないと発言できない意味が分からない。
93デフォルトの名無しさん:2010/01/05(火) 19:27:36
>>90
ISAPIフィルタならATLかMFCスレじゃないか?
94デフォルトの名無しさん:2010/01/05(火) 21:58:12
モーダルループ中ではちゃんとメッセージがディスパッチされるとは限らない
どのメッセージがディスパッチされる・されないかはモーダルループの実装に拠る
95デフォルトの名無しさん:2010/01/05(火) 22:26:19
>>92
モーダルダイアログとモーダルループを混同してる気がする。

> 親ウインドウが入力を受け付けない
これはDialogBoxやMessageBoxがモーダルダイアログを表示する直前に
親ウインドウをEnableWindow(FALSE)しているが故の動作であって
モーダルループ云々とは別の話。
96デフォルトの名無しさん:2010/01/06(水) 07:03:22
親ウインドウをそのままにしたらモーダルループとは呼べないと思うんだけど、
そうなるとモーダルループの定義をはっきりさせないと。
97デフォルトの名無しさん:2010/01/06(水) 07:28:52
モーダルループの定義はMSDNにしっかりと書いてあるんだけどねぇ
98デフォルトの名無しさん:2010/01/06(水) 07:30:48
モーダルループを理解しようとしない馬鹿がいる限り
水掛け論はどこまでも続く
99デフォルトの名無しさん:2010/01/06(水) 07:43:49
自分の見解を述べない限り、誰にも自分の意見は伝わらないよ。
100デフォルトの名無しさん:2010/01/06(水) 07:57:26
msdnすら探さない馬鹿は死ね
101デフォルトの名無しさん:2010/01/06(水) 08:00:09
すみません教えてください。

マウスで選択状態になっているファイル名を取得したいのですが、
取得したつもりのファイル名が "□!!" と文字化けしてしまいます。
---

HWND hWnd = GetForegroundWindow();
EnumChildWindows( hWnd, EnumChildProc, 0 );
int count = ListView_GetSelectedCount(phWnd);
char A[512];
int index = -1;
while( (index = ListView_GetNextItem(phWnd,index,LVIS_SELECTED)) != -1 ) {
ListView_GetItemText(phWnd, index, 0, A, sizeof(A) );
MessageBox(NULL, A, "TEST", MB_OK);
}

---
phWndにはEnumChildProcでSysListView32のハンドルが入っています。
よろしくお願いします。
102デフォルトの名無しさん:2010/01/06(水) 08:01:35
どうせ他プロセスとかそういうオチだろ
103デフォルトの名無しさん:2010/01/06(水) 08:56:20
>>101
ターゲットプロセス用のメモリを確保して、そのポインタを渡し、
受け取ったら自分のプロセスに側に読み出す。
104デフォルトの名無しさん:2010/01/06(水) 09:03:50
phWnd が HWND* 型で SendMessage に失敗してるんじゃね?
105デフォルトの名無しさん:2010/01/06(水) 09:08:20
まずは戻り値を調べて何のエラーなのかを確認するところから。
106デフォルトの名無しさん:2010/01/06(水) 09:17:18
後出し情報で申し訳ないですが、
 ListView_GetSelectedCount(phWnd);
で選択状態のファイル数は正しく取得出来ているようです。
107デフォルトの名無しさん:2010/01/06(水) 09:22:12
>>105
ListView_GetNextItem() の戻りは整数値(index)が入っていました
ListView_GetItemText() の戻りはvoid
108デフォルトの名無しさん:2010/01/06(水) 09:51:16
ターゲットは同一プロセスなのかというところに回答がないんだけど?
109デフォルトの名無しさん:2010/01/06(水) 10:05:14
該当プロセスに侵入してもLVS_OWNERDATAスタイルが付いていれば上手くいく保証がない
110デフォルトの名無しさん:2010/01/06(水) 10:20:53
シェルのリストビューならIShellViewやIFolderViewで取得できる
111デフォルトの名無しさん:2010/01/06(水) 11:07:08
>>109
誰もそんな話はしていないよ。
まずはプロセスが別なのかどうかを確定してから。
話の流れを読もうよ。
112デフォルトの名無しさん:2010/01/06(水) 11:18:10
ただ煽りたいだけの基地外はお引き取りください。
113デフォルトの名無しさん:2010/01/06(水) 11:31:56
スクリーンセーバーを作ってるんですが、HDDのスピンドルを停めるAPIを教えてください。
電源の管理の中にあるやつは選択できる時間が限られているので、自分で停めたいんです。
対応OSはXP Home以降です。
114デフォルトの名無しさん:2010/01/06(水) 11:42:32
電源管理系のAPIをあたってみたら?
115101:2010/01/06(水) 16:34:57
御返事遅くなりまして申し訳ありません。

デスクトップやエクスプローラ等で選択した状態のファイル名を
自作アプリ側で取得したいので、別プロセスとなります。

別プロセスでも、ListView_GetSelectedCount(phWnd) で選択ファイル数が
取得出来ていたので、ファイル名も取得できるかと思っていたのですが、
できないのでしょうか。
116デフォルトの名無しさん:2010/01/06(水) 16:50:24
>>115
すでに>>103に回答が書かれている。
117デフォルトの名無しさん:2010/01/06(水) 16:55:31
数値はもらってもそのまま使えるが
文字列はアドレスをもらうんだから、他のプロセスのアドレスだけもらって
そこを読もうとしたって自分のプロセス空間のアドレスだから、そこに文字列は存在しない。
118デフォルトの名無しさん:2010/01/06(水) 17:09:21
WM_SETTEXTとかだとプロセス跨げるから初心者は勘違いすんのかもね
119デフォルトの名無しさん:2010/01/06(水) 22:10:12
phWnd
sizeof(A)

てか、これを何とかしろw
120デフォルトの名無しさん:2010/01/07(木) 05:02:38
>>119
そんなことは本質じゃない
121デフォルトの名無しさん:2010/01/07(木) 05:08:14
そんなことも本質だ
122デフォルトの名無しさん:2010/01/07(木) 05:17:01
本質というかWin32の基本
123101:2010/01/07(木) 07:46:56
あまり理解出来ませんでしたが、>>103 の内容勉強してきます。
みなさんレスありがとうございました。
124デフォルトの名無しさん:2010/01/07(木) 08:11:46
125デフォルトの名無しさん:2010/01/07(木) 09:03:20
直後の>>102-103で解決してる話題を引っ張るなよ
126101:2010/01/07(木) 11:39:31
>>124
ありがとうございます。私が考えていたことがNG例で
ガッツリ書いてありました。とても勉強になりました。
127デフォルトの名無しさん:2010/01/07(木) 16:15:45
Ctrl+Wでウィンドウを閉じたりすることがありますけど
これってなにかメッセージが割り当てられているのでしょうか?
128デフォルトの名無しさん:2010/01/07(木) 16:18:51
板違い
129デフォルトの名無しさん:2010/01/07(木) 17:03:08
板違いってレベルじゃねえぞ!気違いだ!
130デフォルトの名無しさん:2010/01/07(木) 17:13:21
……。
131デフォルトの名無しさん:2010/01/07(木) 20:35:00
質問です。
WinMainで始まるメインスレッドのスレッド優先度を変えたいのですが、
スレッドIDがわからないためSetThreadPriorityが使えません。
メインスレッドの優先度を変える方法はないでしょうか?

別スレッド(_beginthreadで作った)描画スレッドが重くなった時に、ウインドウメッセージの処理が重くなってしまうようで困っておりまして。
ウインドウメッセージで通信内容を受け取っているのですが、描画スレッドが重くなると通信を受け取ることができず…。(数秒後に一気に受信される。この数秒遅延が困るケースなのです)
132デフォルトの名無しさん:2010/01/07(木) 20:42:34
>>131
スレッドIDとスレッドハンドルは全く別のものだが、スレッドIDが知りたいの?
スレッドIDならGetCurrentThreadId、ハンドルならGetCurrentThreadで取得できる。
133デフォルトの名無しさん:2010/01/07(木) 20:47:36
GetWindowThreadProcessIdもあるな
134デフォルトの名無しさん:2010/01/07(木) 20:50:24
すいません、読み間違えていました。
SetThreadPriorityを使うのには、スレッドハンドルが必要なようです
135デフォルトの名無しさん:2010/01/07(木) 20:53:44
別スレッドを優先度下げて実行すればいいんじゃね?
136デフォルトの名無しさん:2010/01/07(木) 21:00:38
OpenThreadでどうだ
137デフォルトの名無しさん:2010/01/07(木) 21:55:51
通信側を、優先度を上げた別スレッドでやった方が良いような……
138デフォルトの名無しさん:2010/01/07(木) 22:09:22
左上のアイコンででてくるシステムメニューが表示中はウィンドウの更新が
止まるんですが、なんとかなりませんか?
139デフォルトの名無しさん:2010/01/07(木) 22:32:30
全然止まらないが?
140デフォルトの名無しさん:2010/01/07(木) 22:35:06
そうですか。システムメニュー表示中もソケットからのデータ受けて
画面更新してるはずなんですが、何か間違えてるかな。
141デフォルトの名無しさん:2010/01/07(木) 22:45:28
メニュー表示中はモーダルループだから作り方によっては止まる事もある。
142デフォルトの名無しさん:2010/01/07(木) 23:26:03
はじめまして、C#板より誘導されました。
指定したレジストリの値を読み書きされるのを検知するためのAPIはありますか?
もしくは、そのレジストリの書き込みを防ぎたいのですが、何か方法はありませんか?
143デフォルトの名無しさん:2010/01/07(木) 23:30:06
C#スレと同じ回答
APIフック
144デフォルトの名無しさん:2010/01/07(木) 23:33:13
スレ違い
C#スレへ
145デフォルトの名無しさん:2010/01/07(木) 23:34:14
権限奪っちゃえば、誰も書き込めないよ。
146デフォルトの名無しさん:2010/01/07(木) 23:34:23
C#板ってどこ?
147デフォルトの名無しさん:2010/01/09(土) 00:36:34
SHFileOperation() を使ってコピーや移動をしていますが、
途中でキャンセルしたり、エラーが出てストップして終わった場合など
とにかく正常終了した場合以外は、ゼロ以外が返ってくるとありがたい
のですが、その辺を細かく知ることはできるでしょうか。
(今はキャンセルしてもゼロが返ってきているようなのです)
148デフォルトの名無しさん:2010/01/09(土) 00:41:54
>>147
fAnyOperationsAbortedは?
149147:2010/01/09(土) 00:48:32
>>148
あー、そういうフラグを使うのですか!わかりました。やってみます!
ありがとうございました!!助かりました。
150デフォルトの名無しさん:2010/01/09(土) 01:54:25
>>128
>>129
あなたたちは本当に馬鹿ですね。アクセラレータはWin32の機能ですよ。
151デフォルトの名無しさん:2010/01/09(土) 04:21:57
アプリ固有なアクセラレータキーについての質問はスレ違いです
152デフォルトの名無しさん:2010/01/09(土) 09:50:36
ctrl-wでアプリケーションを閉じる機能の実装方法に関して聞いていると思
われるので板違いではない。
そして、アクセラレータ使えと回答が出ている。いつまで引っ張るんだ?
153デフォルトの名無しさん:2010/01/09(土) 11:03:11
いつまで引っ張るって

>>128-129で完結したのを>>150の馬鹿が引っ張っただけだろ
154デフォルトの名無しさん:2010/01/09(土) 11:13:17
>>153
つまり、お前が乏しい想像力で質問妨害をした張本人(>>128)という事だな。
155デフォルトの名無しさん:2010/01/09(土) 11:17:17
一、 APIを使った開発中に出てきた質問ではないのでスレ違い。
二、 「○×(ソフト)の△□(機能)はどうやって実現しているのですか」という質問は
   そのソフトのスレか作者に直接訊けば良い。よって板違い。
156デフォルトの名無しさん:2010/01/09(土) 11:18:14
>>127=>>150=>>153
誰も教えてくれなかったので自分で調べたんですね^^
157156:2010/01/09(土) 11:19:28
訂正
× >>127=>>150=>>153
>>127=>>150=>>154
158デフォルトの名無しさん:2010/01/09(土) 11:25:16
質問です。
モードレスダイアログの場合は、Enterキーを押したときに
DEFPUSHBUTTONが機能しないのだけど、
これを機能させるにはどうすればいいでしょうか?
159デフォルトの名無しさん:2010/01/09(土) 11:27:10
メッセージなんてspy++見りゃ分かる
自分で調べもしないで質問する基地外にまともに答えてくれる人間なんているわけないでしょ
特にここは性格の悪い人が集まってるからな
160デフォルトの名無しさん:2010/01/09(土) 11:35:55
>>158
IsDialogMessageを呼び出し忘れていないか?
ダイアログ固有のメッセージ処理はこれを呼ばないと実行されないぞ。
161デフォルトの名無しさん:2010/01/09(土) 11:38:32
>>155
APIを使った開発中に、他のプログラムの挙動を模倣したくなったのかもしれない。
MSが使っているからCTRL-Wで閉じるプログラムは沢山ある => 何か標準的なAPIがあるかもしれない。

質問妨害やめろ。クズ。
162デフォルトの名無しさん:2010/01/09(土) 11:41:48
Spy++でチェックしてから質問しろ。クズ。
163デフォルトの名無しさん:2010/01/09(土) 11:45:02
ローカルルールにさえ無い事を強要するな。クズ。
164デフォルトの名無しさん:2010/01/09(土) 11:45:35
調べてから質問しなかったキミが悪いんだからもう諦めろ
165デフォルトの名無しさん:2010/01/09(土) 11:47:35
はぁ? オレは質問者じゃないが…
質問や議論を妨害するクズは死ね。
166デフォルトの名無しさん:2010/01/09(土) 11:51:00
質問者本人じゃないならなぜ馬鹿な質問者の肩を持つんだ?
スレ住人に難癖付けるのが目的のキチガイか?
167デフォルトの名無しさん:2010/01/09(土) 11:52:24
質問妨害を目的に住み着いているのは住人とは言わない。ただのクズだ。
168デフォルトの名無しさん:2010/01/09(土) 11:53:06
スレ違いの質問に妨害も何もないでしょ
169デフォルトの名無しさん:2010/01/09(土) 11:54:31
>>160
ありがとうございます
170デフォルトの名無しさん:2010/01/09(土) 11:56:56
質問妨害を目的に住み着いている張本人が一体何を言ってるんだ?
171デフォルトの名無しさん:2010/01/09(土) 11:58:47
難癖厨はスルーで
172デフォルトの名無しさん:2010/01/09(土) 11:59:17
質問妨害を正当化するな。クズ。

> ctrl-wでアプリケーションを閉じる機能の実装方法
ぜんぜんスレ違いじゃない。
173デフォルトの名無しさん:2010/01/09(土) 12:01:09
> ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
調べずに質問するのはスレ違いですよ
174デフォルトの名無しさん:2010/01/09(土) 12:06:51
検索してない事なんてわからないし、例え検索してなくてもローカルルールに
抵触したのであって、スレ違いじゃ無いね。
詭弁を弄しても、スレ違いじゃない質問をお前が妨害した事は覆せないよ。
消えろ、クズ。
175デフォルトの名無しさん:2010/01/09(土) 12:07:30
顔真っ赤ですよ
176デフォルトの名無しさん:2010/01/09(土) 12:10:42
また必死なキチガイか
リアルで嫌な事でもあったの?w
177デフォルトの名無しさん:2010/01/09(土) 12:11:55
そうやってお前らが構うから調子に乗るんだろ
178デフォルトの名無しさん:2010/01/09(土) 12:18:33
>>175
IDでなくても自演はミエミエ。死ね。クズ。
179デフォルトの名無しさん:2010/01/09(土) 12:25:40
ローカルルールに反したらスレ違い・板違いですよ
分かったら二度と来ないで下さいねクズ^^
180デフォルトの名無しさん:2010/01/09(土) 12:27:13
ローカルルールに反して、検索しなかった事を立証しなさい。
死ねよ。クズ。
181デフォルトの名無しさん:2010/01/09(土) 12:28:35
>>127=>>180
君が立証すれば?
182デフォルトの名無しさん:2010/01/09(土) 12:35:22
>>181
「調べて出直せ」とか言うべきでしたね。w でも後の祭り。
お前がスレ違いだといって議論妨害して事実はひっくり返せない。
183デフォルトの名無しさん:2010/01/09(土) 12:42:16
二日経ってからわざわざ質問妨害されたとか書いてるのが
検索していなかった証拠じゃないか。
184デフォルトの名無しさん:2010/01/09(土) 12:45:20
つまり、二日前は検索していなかった事もわからずに妨害したと言う事だね。
死ねよ。クズ。
185デフォルトの名無しさん:2010/01/09(土) 12:47:38
何かメッセージはあるか、なんてちゃんと検索していれば出ない表現だから。
186デフォルトの名無しさん:2010/01/09(土) 12:49:39
2日かかってアクセラレータキーを知って自分を叩いた連中に一矢報いたくなったのがバレバレ
痛々しい奴だなぁ
187デフォルトの名無しさん:2010/01/09(土) 12:50:11
万人が2chに毎日張り付いていると思うなよ。
188デフォルトの名無しさん:2010/01/09(土) 12:51:21
で、結局アクセラレータは板違いじゃなかったわけだよな。
189デフォルトの名無しさん:2010/01/09(土) 12:52:01
「ちゃんと検索しろ」はローカルルールにはないな。
ローカルルール捏造するなよ。クズ。
190デフォルトの名無しさん:2010/01/09(土) 12:52:18
アクセラレータキーが板違いなんて誰も言ってないでしょうが
馬鹿ですか?
191デフォルトの名無しさん:2010/01/09(土) 12:54:14
>>190
つまり>>128はム板的解決方法を知らなかったわけだな。
192デフォルトの名無しさん:2010/01/09(土) 12:54:20
MSDNライブラリで
Win32 and COM Development→User Interface→Windows User Interface→User Input
を辿ればすぐ見つかるだろが
自分で調べない奴が偉そうに口答えするな
193デフォルトの名無しさん:2010/01/09(土) 12:55:33
>>192
板違いじゃないじゃん w
194デフォルトの名無しさん:2010/01/09(土) 12:57:16
質問する前に検索しないゆとり脳の>>127の存在そのものが板違いってことですよ
195デフォルトの名無しさん:2010/01/09(土) 12:59:19
私は一切検索しません。
でも答えは教えろ。
教えないのは質問妨害。死ね。

何こいつw
196デフォルトの名無しさん:2010/01/09(土) 13:00:46
答えを知らないくせにいちいち間違った回答する奴も邪魔なんだがな。
197デフォルトの名無しさん:2010/01/09(土) 13:01:51
お前以外は答えを知ってるんだが・・・
198デフォルトの名無しさん:2010/01/09(土) 13:02:39
>>195
誰も、そんな事言って無いね。

>>128に質問妨害止めろと言っただけ。それを認められない>>128が詭弁を弄して抵抗
してたけど、>>192で負け決定。
199デフォルトの名無しさん:2010/01/09(土) 13:04:42
ハァ?>>128って誰?

俺は検索しない馬鹿は質問するなと言ってるだけだが
200デフォルトの名無しさん:2010/01/09(土) 13:08:23
なんで>>128にキレてるんだろ
板違いと言われたのがそんなに悔しいのか?
201デフォルトの名無しさん:2010/01/09(土) 13:12:17
検索していない事を立証してから言え。
202デフォルトの名無しさん:2010/01/09(土) 13:15:42
>>127の質問文を打ってる時間があればMSDNで見つけられる以上、
検索しているという事実が無い限り検索していないと判断していい
203デフォルトの名無しさん:2010/01/09(土) 13:18:43
>>202
アクセラレータという機能を知らない人間が>>127を書いている時間内で
MSDNでそれにたどり着く方法があるという主張だな。立証してみたまえ。
204デフォルトの名無しさん:2010/01/09(土) 13:19:35
ああ、こいつ3日前のモーダルループを理解してない馬鹿か
MSDNを調べなくて叩かれたという点で自分と>>127を重ね合わせてるのか。
205デフォルトの名無しさん:2010/01/09(土) 13:21:08
いよいよ反論できなくなったら無関係なのを持ち出して逃げるつもりか。
芯から腐ったクズだな。
206デフォルトの名無しさん:2010/01/09(土) 13:22:42
>>192の方法で辿っていけば見つかるんだが

> Keyboard Accelerators
> This section discusses keyboard accelerators. A keyboard accelerator is a keystroke or combination of keystrokes that generates a command message for an application.

これで分からなかったらAPIとか以前の問題
207デフォルトの名無しさん:2010/01/09(土) 13:33:00
>>192の道順を間違えずに辿りつける奴以外はお断りという主張だな。
そうしたいなら、そういうスレッド作って移住しろ。
お前一人だけで罠にかかる得物待ってて「スレ違い、帰れ」とかやればいい。w
208デフォルトの名無しさん:2010/01/09(土) 13:37:14
また難癖か
一本道なのにどう間違うんだ?

つーかMSDNライブラリの閲覧に慣れてないならそいつの修行が足りないだけ
半年ROMってろ
209デフォルトの名無しさん:2010/01/09(土) 13:49:07
>>208
難癖か? >>128を正当化するために、MSDNに載っていることは検索可能だから、
質問禁止と言ってるお前が100倍難癖。

出てけクズ。
210デフォルトの名無しさん:2010/01/09(土) 13:50:43
だから>>128って誰だよ
自分を叩いてるのは全員同一人物とでも思ってるのか?
211デフォルトの名無しさん:2010/01/09(土) 13:53:47
>>209
そこまでいうなら、別人という事にしといてやるよ。
MSDNライブラリの閲覧に慣れていない奴は質問禁止というのがお前の主張だな、
それなら>>128と同類だから、2人でそういう新スレ作って二度と来るな。
212デフォルトの名無しさん:2010/01/09(土) 13:55:39
質問に答える方はここで質問者来るの身構えて待ってるわけ?
だから、検索しないで質問しに来た奴にまたかよとか思い、イラッとしちゃうわけ?
213デフォルトの名無しさん:2010/01/09(土) 13:57:08
アクセラレータという機能を知らない人間がMSDNで調べるのは無理だろ。
だって猫わかSDK第1部すら習得してないんだぜ?
多分プログラミング暦1週間ぐらいの人間でMSDNやAPIという単語自体知らない可能性が高い。
214デフォルトの名無しさん:2010/01/09(土) 13:59:40
>>212
普通は>>128-129みたいに適当にあしらうだけでしょ
質問者が逆ギレして噛み付かない限りこういう荒れ方はしないよ
215デフォルトの名無しさん:2010/01/09(土) 14:03:46
今度は質問者に責任なすりつけて正当化しようというつもりか。
芯から腐ったクズだな。
216デフォルトの名無しさん:2010/01/09(土) 14:08:35
わからない五大理由に当てはまるやつが相手されないのは
この手の掲示板では普通の事だが、何をカリカリしてるんだ?
嫌なら見なきゃいいだろ。
217デフォルトの名無しさん:2010/01/09(土) 14:10:15
わからない七大理由
1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
6.感謝しない・・・教えてもらって当たり前。事がすんだらさようなら。
7.逆切れする・・・自分の思うようにならないと逆切れする。


思いっきり該当していてワロスwww
218デフォルトの名無しさん:2010/01/09(土) 14:24:55
>>216-217
そんなみっともない自己弁護してないで、MSDNに載ってる事項は質問禁止の新スレ作って
移住しろよ。
219デフォルトの名無しさん:2010/01/09(土) 14:26:44
ここがそういうスレだから。
お前が移住しろよ。
220デフォルトの名無しさん:2010/01/09(土) 14:30:01
このスレに限らず、2ちゃんねるでは1の注意事項読んでから書き込め。
221デフォルトの名無しさん:2010/01/09(土) 14:30:42
//-------------------ここまで俺の自演

//-------------------そしてここからは君の自演だ!↓
222デフォルトの名無しさん:2010/01/09(土) 14:32:55
>>219
ローカルルールの捏造すんな。クズ。
223デフォルトの名無しさん:2010/01/09(土) 14:33:40
質問する前に検索しない人お断りのスレですが何か?
検索しない人大歓迎の初心者スレなら別に立ってるでしょうに
224デフォルトの名無しさん:2010/01/09(土) 14:36:38
主張をすり替えるなよ、お前は「MSDNに記載されている事は到達できるからスレ違い」
と言っている。
225デフォルトの名無しさん:2010/01/09(土) 14:37:56
いいぞもっとやれ
226デフォルトの名無しさん:2010/01/09(土) 14:39:46
お前が勝手にすり替えてるんだろ
俺は検索しない馬鹿は質問するなと言ってるだけ
227デフォルトの名無しさん:2010/01/09(土) 14:42:33
228デフォルトの名無しさん:2010/01/09(土) 14:56:44
>>127
ウインドウメッセージを処理して実現している。
WM_KEYあたりで処理し、SendMessageでウインドウを最小化してるんだろう
229デフォルトの名無しさん:2010/01/09(土) 15:00:46
>>226
検索してもたどり着けない場合があるわけだが、お前は検索していない証拠として
「MSDNに記述されている」事を指摘した(>>192)。
つまり、MSDNに記述されていれば検索可能だから質問してはいけないという事になる。
230デフォルトの名無しさん:2010/01/09(土) 15:20:03
検索してたどり着くから言ってるんだが、頭大丈夫か?
231デフォルトの名無しさん:2010/01/09(土) 15:30:16
個々のページや巡回禁止してるサイトならともかく
トップから4クリックでアクセスできるページが検索でたどり着けないとか有り得ねぇよ
232デフォルトの名無しさん:2010/01/09(土) 15:31:51
つまり、たどりつけない奴は質問禁止という事だな。
233デフォルトの名無しさん:2010/01/09(土) 15:33:52
そういうのを曲解っていうんだよ
234デフォルトの名無しさん:2010/01/09(土) 15:37:47
俺は「MSDNライブラリでたどり着く事例」を示した
次はお前が「どのように検索してもたどり着けない事例」を示す番だ
235デフォルトの名無しさん:2010/01/09(土) 15:38:50
スルー力検定試験場はこちらですか?
236デフォルトの名無しさん:2010/01/09(土) 15:39:56
>>235
残念、あなたは落第です。
237デフォルトの名無しさん:2010/01/09(土) 15:42:53
アクセラレータキーを知らないってWin32プログラマとして有り得なくね?
きっと>>127はアクセラレータキーではない別の何かを期待してると思われ
238デフォルトの名無しさん:2010/01/09(土) 15:48:10
MSDNに記述されている項目は検索可能なので質問禁止です。
MSDNに記述されていない項目はWin32APIではありませんから、スレ違いにつき質問禁止です。
239デフォルトの名無しさん:2010/01/09(土) 15:49:59
MSDNに記述されていないWin32APIのみ質問可能です。
240デフォルトの名無しさん:2010/01/09(土) 15:52:06
キチガイってほんとにいるんだな・・・。
241デフォルトの名無しさん:2010/01/09(土) 15:52:37
Microsoftの定義以外はWin32APIではありません。
242デフォルトの名無しさん:2010/01/09(土) 15:53:28
だからさー、>>127=>>150だって

アクセラレータキーと答えていたら
>メッセージを聞いているのです。知らないならレスしないで下さい。
とか言って荒らすつもりだったキチガイでしょ
243デフォルトの名無しさん:2010/01/09(土) 15:53:50
>>240
とっとと、新スレ作って出てけよ。お前が望んだ事だ。
244デフォルトの名無しさん:2010/01/09(土) 15:55:52
>>242
そこまで妄想すすんでるなら、答える必要ないから来るな。
245デフォルトの名無しさん:2010/01/09(土) 15:56:43
ここは俺が占拠した!嫌なら出てけ!!ってことですね
246デフォルトの名無しさん:2010/01/09(土) 15:57:58
>答える必要ない
>答える必要ない
>答える必要ない


答えられないくせにwwwwwwwwwwwwwwwwwwwwwwwwww
247デフォルトの名無しさん:2010/01/09(土) 16:00:03
おい、キチガイ
ウザイから酉つけろ
248デフォルトの名無しさん:2010/01/09(土) 16:20:32
>>245-247
自演してないで、とっととMSDNに記述されてる事項の質問禁止の
新スレ作って出てけ。
249デフォルトの名無しさん:2010/01/09(土) 16:25:28
自分に反論するのは全員自演ってかwwwwwおめでてーなwwwwwwwww
250デフォルトの名無しさん:2010/01/09(土) 16:32:11
姦国人に不法占拠された竹島みたいなスレ
251デフォルトの名無しさん:2010/01/09(土) 16:36:56
新スレ作って出てけニダ
252:2010/01/09(土) 17:21:27
このキチガイは俺じゃないですよ
最近はROMってますから
253デフォルトの名無しさん:2010/01/09(土) 17:39:35
逆に考えるんだ
ここでは何を質問すればいいんだ?
254デフォルトの名無しさん:2010/01/09(土) 17:53:01
検索しても解決できないWin32APIの謎について質問すればいいです
255デフォルトの名無しさん:2010/01/09(土) 18:09:07
検索しても出て来ないWIN32APIの謎について詳しい方がこのスレにいらっしゃいますかー?
256デフォルトの名無しさん:2010/01/09(土) 18:12:40
>>192の定義により、4階層以内に記述されている項目は禁止。
257デフォルトの名無しさん:2010/01/09(土) 18:21:41
勝手に定義とか決め付けるなキチガイ
258デフォルトの名無しさん:2010/01/09(土) 18:23:01
キチガイ自治厨うぜぇ
259デフォルトの名無しさん:2010/01/09(土) 18:24:12
4階層だから、容易に辿りつけるんだろ。
260デフォルトの名無しさん:2010/01/09(土) 18:26:34
Advanced Windowsやインサイド Windowsに載ってるような情報なら持ってる奴が答えられるだろ。
261デフォルトの名無しさん:2010/01/09(土) 18:28:40
4階層どころかMSDN Libraryで辿れる程度の内容なら自分で探せっつーの!
何のためのインターネットなんだよ
262デフォルトの名無しさん:2010/01/09(土) 18:33:40
隠しAPI以外質問禁止
263デフォルトの名無しさん:2010/01/09(土) 18:34:18
MSDNは
「項目」⇒(リファレンス⇒関数)⇒「関数」
の余計な抽象階層()がうざいな
そこには何の有益な情報もないのに
264デフォルトの名無しさん:2010/01/09(土) 18:35:55
キチガイのためのインターネットらしい。
265デフォルトの名無しさん:2010/01/09(土) 18:42:14
MSDNも引けないやつがAPIで開発とか笑わせんな
266デフォルトの名無しさん:2010/01/09(土) 18:44:18
そしてこのスレでは全部の質問が禁止されるのであった
267デフォルトの名無しさん:2010/01/09(土) 18:45:38
質問です
⇒(リファレンス⇒関数)⇒
は何のためにあるんですか
268デフォルトの名無しさん:2010/01/09(土) 18:45:51
はあ?MSDNに載ってない細部の情報を知りたい時に質問すればいいじゃん
269デフォルトの名無しさん:2010/01/09(土) 18:47:41
>>268
そんな高度な情報、ここで質問したって解決するわけなかろう
270デフォルトの名無しさん:2010/01/09(土) 18:50:36
271デフォルトの名無しさん:2010/01/09(土) 18:50:48
いつもどおりだな
272デフォルトの名無しさん:2010/01/09(土) 18:52:07
Win32API は枯れてるので MSDN と Google と過去ログを探せば 99.9 l解決します。
273デフォルトの名無しさん:2010/01/09(土) 18:54:59
Win32APIで、できないことってありますか?
なんでいろんなAPIが次から次に作られるんですか?
274デフォルトの名無しさん:2010/01/09(土) 18:57:46
>>272
ごめん、2chの過去ログが役に立ったことないわ w
275デフォルトの名無しさん:2010/01/09(土) 18:58:00
APIでできないこと = CO2削減
276デフォルトの名無しさん:2010/01/09(土) 18:59:00
>>274
それはあなたが 馬 鹿 だからです。
277デフォルトの名無しさん:2010/01/09(土) 19:00:17
>>270
Advanced Windows持ってるけど、いちいち本を参照してまで回答しようとは思わないな
278デフォルトの名無しさん:2010/01/09(土) 19:03:13
……。
279デフォルトの名無しさん:2010/01/09(土) 19:04:14
>>276
そう?
MSDNとかCodeProjectとかMSDNのインシデントで大体解決するもん。

ム板はこんな雑談スレばっか。
280デフォルトの名無しさん:2010/01/09(土) 19:05:23
WinAPIってWindows8で無くなるんでしょ?
実際今だってWin9x時代の後方互換で残ってるといっていいし。
これからわざわざ習得しなくてもいいよね。
281デフォルトの名無しさん:2010/01/09(土) 19:07:26
>>280
自分で調べてください
282デフォルトの名無しさん:2010/01/09(土) 19:09:37
基本的にVista以降は.NET前提になっていて、APIはサービスやドライバ用と考えていい
283デフォルトの名無しさん:2010/01/09(土) 19:18:18
いずれ未署名のアンマネージドコードはXPM的な仮想環境上でしか動かせなくなるんじゃね?
284デフォルトの名無しさん:2010/01/09(土) 19:31:47
今まで学んだことの全てが無駄になるのか
おっそろしいなあ
285デフォルトの名無しさん:2010/01/09(土) 19:45:14
2020年から来たんだが、Windows Xで遂にWinAPI(ClassicAPI)のネイティブサポートが廃止された。
しょうがないので自作ソフトを.NETに移植してる所だが、想像を絶する作業で心が折れそうだ。
こんな事なら最初から.NETで作っとくべきだったよ。。。
286デフォルトの名無しさん:2010/01/09(土) 19:47:28
……。
287デフォルトの名無しさん:2010/01/09(土) 19:54:01
雑談でごまかしていないで、>>128と同類のキチガイはMSDN4階層以内
質問禁止の新スレつくって出て行くように。
288デフォルトの名無しさん:2010/01/09(土) 19:56:50
キチガイはあなたです
竹島は日本の領土です
早く出て行って下さい
289デフォルトの名無しさん:2010/01/09(土) 20:01:38
【キチガイの遷移】
目覚まし→MVP→姦国人風キチガイ

実は同一人物??
290デフォルトの名無しさん:2010/01/09(土) 20:06:10
msdn4階層以内は質問禁止というキチガイルールを勝手に作ろうとしている
>>128>>192は早く出て行ってください。
291デフォルトの名無しさん:2010/01/09(土) 20:06:40
>>288
板違い
292デフォルトの名無しさん:2010/01/09(土) 20:08:33
たった三文字しか書いてないレスの奴をキチガイってあんたw
どう考えても半日で1スレに30レスぐらい書いてる奴の方がキチガイでしょうがwww
293デフォルトの名無しさん:2010/01/09(土) 20:12:04
お前がもっと気違い
294デフォルトの名無しさん:2010/01/09(土) 20:12:22
MSDN10階層以内、Google200件以内は禁止します。
自分の力で探す努力をしましょう。
295デフォルトの名無しさん:2010/01/09(土) 20:15:17
しばらく来ないと思ったら突然戻ってきたな
風呂入って晩飯食ってたか?
296デフォルトの名無しさん:2010/01/09(土) 20:21:54
探すキーワードが分からない場合はどうすればいいんですかぁ?
297デフォルトの名無しさん:2010/01/09(土) 20:23:13
諦めて寝ましょう。
298デフォルトの名無しさん:2010/01/09(土) 20:24:11
↑こいつ気違い
299デフォルトの名無しさん:2010/01/09(土) 20:25:45
↑こいつも気違い
300デフォルトの名無しさん:2010/01/09(土) 20:28:25
> クズ
> 死ね
> 消えろ
> 出てけ
でレス抽出してみましょう。
30169:2010/01/09(土) 20:30:36
相変わらずだな、おい w
302デフォルトの名無しさん:2010/01/09(土) 20:31:18
今更ながらこのスレのwikiがあるのに初めて気づいた
303デフォルトの名無しさん:2010/01/09(土) 20:34:35
>>174 消えろ、クズ。
>>178 死ね。クズ。
>>180 死ねよ。クズ。
>>248 新スレ作って出てけ。
>>287 新スレつくって出て行くように。

ようやく落ち着きを取り戻してきたようだが、
一体彼に何があったのだろうか・・・
304デフォルトの名無しさん:2010/01/09(土) 20:36:37
エリートさん、模範的なWin32APIの質問してみてくださいよ。
305デフォルトの名無しさん:2010/01/09(土) 20:40:20
クズや死ねを連発するほど精神状態が不安定になるのってどういう状況なのだろう
306デフォルトの名無しさん:2010/01/09(土) 20:47:23
>>305
板違い
307デフォルトの名無しさん:2010/01/09(土) 20:48:52
では適切な板へ誘導お願いします。
308デフォルトの名無しさん:2010/01/09(土) 20:49:59
>>307
メンタルヘルス板
309デフォルトの名無しさん:2010/01/09(土) 20:50:17
>>303
とっとと消えて失せろ。クズ。
310デフォルトの名無しさん:2010/01/09(土) 20:54:34
メンヘル板ですか……。
つまりこの精神不安定な気違いさんは精神疾患ということですね。
わかりました。ありがとうございます。
311デフォルトの名無しさん:2010/01/09(土) 21:09:21
メンタルヘルス板にて、スレを見て頂いて識者のご意見を伺ったのですが、
やはり彼は精神疾患の類いではないかというお返事を頂きました。
板違いですが、一応ご報告までに……。
312デフォルトの名無しさん:2010/01/09(土) 21:11:04
最近は識者ってのが流行ってんの?
313デフォルトの名無しさん:2010/01/09(土) 21:31:35
その場逃れの言い逃れを積み重ねた結果、MSDN4階層以内は質問禁止などと
いうキチガイルールに行きついてしまった>>192の上司の苦労が忍ばれるな。
314デフォルトの名無しさん:2010/01/09(土) 21:33:20
有識者は流行ってる
315デフォルトの名無しさん:2010/01/09(土) 21:42:52
小澤征爾
316デフォルトの名無しさん:2010/01/09(土) 22:12:03
もうだめだこのスレ
317デフォルトの名無しさん:2010/01/09(土) 22:16:55
もう気遣いはやめろ
318デフォルトの名無しさん:2010/01/10(日) 00:21:13
> クズ
> 死ね
> キチガイ
よく見たらただのオウム返しじゃん
やっぱ病気だわこいつ
319デフォルトの名無しさん:2010/01/10(日) 00:54:36
MSDN4階層以内は質問禁止というキチガイルールに行き付いてしまった己の
マヌケを恥じるべきだな。しかもオウム返しの用法すら知らないようだし。w
とっとと新スレ立てて移住したらどうだ?
320デフォルトの名無しさん:2010/01/10(日) 01:00:06
オウム返しってことは自分も「クズ、死ね、キチガイ」と
言ってたってことだな。 w
321デフォルトの名無しさん:2010/01/10(日) 01:04:14
チンパンジーじゃなくて、メンヘラーだったか。
322デフォルトの名無しさん:2010/01/10(日) 01:07:38
MSDN4階層以内は質問禁止というキチガイルール
を言い出したのはキミ(>>256)でしょうが
記憶喪失ですかぁ??
323デフォルトの名無しさん:2010/01/10(日) 01:21:34
>>322
それは>>192を踏まえてのことだろ
324デフォルトの名無しさん:2010/01/10(日) 01:27:36
僕オリジナルのWin32APIの関数を作るにはどうしたらいいですか?
325デフォルトの名無しさん:2010/01/10(日) 01:31:02
>>192のどこをどう読んだら
MSDN4階層以内は質問禁止というキチガイルール
になるんだか
326デフォルトの名無しさん:2010/01/10(日) 01:33:38
>>324
まず、MSに入社しよう。
327デフォルトの名無しさん:2010/01/10(日) 02:16:55
>>325
じゃあMSDNに記述してることは全面禁止ってことか?
328デフォルトの名無しさん:2010/01/10(日) 02:27:12
MSDNでこうすれば見つかるという文章の
どこから「禁止」と読み取るんだ?
329デフォルトの名無しさん:2010/01/10(日) 02:35:52
いい加減、キチガイいじるのやめろよ。
330デフォルトの名無しさん:2010/01/10(日) 02:49:22
MSDNがしっかりしてないからこんなことになるんだ
だいたい検索機能の一つもないドキュメントなんて考えられない
全部google経由じゃないか(笑)
bingと連携とかすればいいのに
331デフォルトの名無しさん:2010/01/10(日) 02:58:35
検索コネクタ追加してエクスプローラからMSDN検索してますが何か?
332デフォルトの名無しさん:2010/01/10(日) 03:41:31
だからキチガイいじるのやめろって。
333デフォルトの名無しさん:2010/01/10(日) 04:18:26
Search MSDN with Bingと書かれた入力欄が見えないようですな
もう少しいじり続けてみよう
334デフォルトの名無しさん:2010/01/10(日) 10:19:26
模範的なWin32APIの質問をやってみてくださいよ
335デフォルトの名無しさん:2010/01/10(日) 11:42:56
ここまで恥を晒しても寝て起きたら脳内リセットか。
336デフォルトの名無しさん:2010/01/10(日) 11:55:02
確かにアクセラレータが板違いとか言ったら恥ずかしいわな
337デフォルトの名無しさん:2010/01/10(日) 12:12:02
アクセラレータが板違いなんて誰も言ってませんが
相変わらず妄想の激しいキチガイですね
338デフォルトの名無しさん:2010/01/10(日) 12:14:29
MSDNに検索機能が無いという証拠を挙げたまへ
339デフォルトの名無しさん:2010/01/10(日) 13:16:34
>>337
何が板違いなの?
340デフォルトの名無しさん:2010/01/10(日) 13:33:09
これだけ荒れてるのに当の質問者である>>127が来ないということは
昨日からファビョってる気違いが>>127本人と考えて良さそうだ
341デフォルトの名無しさん:2010/01/10(日) 13:36:28
……。
342デフォルトの名無しさん:2010/01/10(日) 13:39:03
アクセラレータは板違いではないし、アクセラレータが板違いと言った人物もいない訳だが、
いったい何を言ってるんだ?
343デフォルトの名無しさん:2010/01/10(日) 16:46:01
で、結局ctrl+wのwmはどうなのよ?
教えてえろい人!
344デフォルトの名無しさん:2010/01/10(日) 16:49:38
てめーにはおしえてやんねーくそしてねろ
345デフォルトの名無しさん:2010/01/10(日) 17:17:23
>>343
TranslateAccelerator()をコールすると適切な
WM_COMMANDかWM_SYSCOMMANDが発生する。
346デフォルトの名無しさん:2010/01/10(日) 17:20:00
ctrl+w自体にメッセージは割り当てられてねーよ
347デフォルトの名無しさん:2010/01/10(日) 17:35:19
WM_KEYDOWN捕まえてGetKeyStateでおk
348デフォルトの名無しさん:2010/01/10(日) 17:50:26
MSDNに検索機能の一つもない

の説明マダー??
349デフォルトの名無しさん:2010/01/10(日) 17:53:50
きえろぶっとばされんうちにな
350デフォルトの名無しさん:2010/01/10(日) 17:54:21
無いものに説明も何もねーよ。
351デフォルトの名無しさん:2010/01/10(日) 18:00:36
俺が作ってやる
352デフォルトの名無しさん:2010/01/10(日) 18:00:47
つまり>>330のキチガイが馬鹿って事ですね
353デフォルトの名無しさん:2010/01/10(日) 18:03:25
MSDNに検索機能があるにもかかわらず
> 検索機能の一つもない
と言ってるから聞いてるんだけど?
354デフォルトの名無しさん:2010/01/10(日) 18:03:45
でも、実際MSDNで検索するより、「site:msdn.microsoft.com」を付けてGoogleで検索した
方が速いよね。
355デフォルトの名無しさん:2010/01/10(日) 18:05:18
速かねーよ
356デフォルトの名無しさん:2010/01/10(日) 18:07:21
検索コネクタいいぞ
MSから拾ってきたやつを少し改造して検索範囲をWin32 & COM内に限定すれば
CEや.NETなんかの雑音を拾わなくて済む
357デフォルトの名無しさん:2010/01/10(日) 18:16:01
結局、
> だいたい検索機能の一つもないドキュメントなんて考えられない
の根拠は示せないの?
358デフォルトの名無しさん:2010/01/10(日) 18:40:08
ScriptFreeで見てるんじゃね
俺もだけど
359デフォルトの名無しさん:2010/01/10(日) 18:44:00
つまり基地外はScriptFreeで見ていたが故に
MSDNに検索機能がないと本気で思い込んでいて、
「検索機能ないだろが!『質問する前に検索しろ』と言うやつ死ね!」
と勝手に憤慨して大暴れしていたってことか
360デフォルトの名無しさん:2010/01/10(日) 18:53:03
>>328
忘れたふりしてとぼけるつもりか? 脳軟化ジジイ
説明してやるよ。

脳軟化ジジイ 調べずに質問するのはスレ違いと発言
>>173 調べずに質問するのはスレ違いですよ
>>179 ローカルルールに反したらスレ違い・板違いですよ

検索していない事はわからない、立証しろと要求される
>>180 ローカルルールに反して、検索しなかった事を立証しなさい。

脳軟化ジジイ、後の事は全然考えず、MSDNライブラリですぐ見つかる(から検索していない)と発言。
>>192
> MSDNライブラリで
> Win32 and COM Development→User Interface→Windows User Interface→User Input
> を辿ればすぐ見つかるだろが
> 自分で調べない奴が偉そうに口答えするな
361デフォルトの名無しさん:2010/01/10(日) 18:55:18
……。
362デフォルトの名無しさん:2010/01/10(日) 18:59:14
だから、事実と妄想を切り離せ。

> アクセラレータが板違いとか言った
> MSDN4階層以内は質問禁止というキチガイルールに行き付いてしまった
> 検索機能の一つもない

こんな事実はどこにも無い。
363デフォルトの名無しさん:2010/01/10(日) 19:01:55
>>173 調べずに質問するのはスレ違いですよ
>>192 MSDNライブラリで(中略)すぐ見つかるだろが

で、どこを読めば
> MSDN4階層以内は質問禁止というキチガイルール
になるんだ?
364デフォルトの名無しさん:2010/01/10(日) 19:02:57
     カタカタ
  || ̄ Λ_Λ
  ||_(Д`; ) 「なに?この基地外粘着スレ・・・」
  \⊂´   )
    (  ┳'
365デフォルトの名無しさん:2010/01/10(日) 19:07:46
ム板一の基地外スレと聞いて飛んできました
366デフォルトの名無しさん:2010/01/10(日) 19:09:05
どこで聞いたの?幻聴ですか?
367デフォルトの名無しさん:2010/01/10(日) 19:11:33
Win32APIをするとしたらプロの方はどのような言語を使用するのですか?
368デフォルトの名無しさん:2010/01/10(日) 19:13:47
マダァ-? (・∀・ )っ/凵⌒☆チンチン
はやく次の燃料投下しれ
369デフォルトの名無しさん:2010/01/10(日) 19:14:02
>Win32APIをする
君は日本語の勉強をしなさい。
370デフォルトの名無しさん:2010/01/10(日) 19:14:22
>>367
C/C++が多いと思うけど、色んな言語で使うでしょ。
371デフォルトの名無しさん:2010/01/10(日) 19:45:50
今日はキチガイ元気ないね
昨日はクズ死ね連呼して活発だったのに
372デフォルトの名無しさん:2010/01/10(日) 19:56:59
>>367
VC++
373デフォルトの名無しさん:2010/01/10(日) 20:00:28
>>367
VB6、VBA
374デフォルトの名無しさん:2010/01/10(日) 22:33:35
>>363
都合の悪いところを省略しないように、>>192
>>180 ローカルルールに反して、検索しなかった事を立証しなさい。
を受けての発言、>>192なりに検索しなかった事の証明らしい。w
375デフォルトの名無しさん:2010/01/10(日) 22:42:57
もう飽きた。
376デフォルトの名無しさん:2010/01/10(日) 22:47:35
Googleで
『Site:msdn.microsoft.com 検索キーワード』
ってやるとMSDN内の検索がデキルヨ!!
377デフォルトの名無しさん:2010/01/10(日) 22:57:37
もう飽きた?
「もう許してください」だろ。二度と質問妨害しないなら許してやるよ。
378デフォルトの名無しさん:2010/01/10(日) 23:05:55
もう許してください。
379デフォルトの名無しさん:2010/01/10(日) 23:07:25
もう許してください。
380デフォルトの名無しさん:2010/01/10(日) 23:07:44
。が余計なんだよ
381デフォルトの名無しさん:2010/01/10(日) 23:08:42
もう許してください
382デフォルトの名無しさん:2010/01/10(日) 23:09:27
もう許してください
383デフォルトの名無しさん:2010/01/10(日) 23:10:03
「もう許してください」
384デフォルトの名無しさん:2010/01/10(日) 23:10:10
もう許してください
385デフォルトの名無しさん:2010/01/10(日) 23:10:48
「もう許してください」
386デフォルトの名無しさん:2010/01/10(日) 23:13:59


    もう許してください

387デフォルトの名無しさん:2010/01/10(日) 23:15:53
          ____
         / ̄ ̄ ̄ \
      /   :::::\:::/\  
     /    。<一>:::::<ー>。 
     |    .:::。゚~(__人__)~゚j   もう許してください
     \、   ゜ ` ⌒´,;/゜
    /  ⌒ヽ゚  '"'"´(;゚ 。  
   / ,_ \ \/\ \
    と___)_ヽ_つ_;_ヾ_つ.;._
388デフォルトの名無しさん:2010/01/10(日) 23:16:09
もうして下さい
389デフォルトの名無しさん:2010/01/10(日) 23:17:50
もうくさい
390デフォルトの名無しさん:2010/01/10(日) 23:19:24
もさい
391デフォルトの名無しさん:2010/01/10(日) 23:20:08
ださい
392デフォルトの名無しさん:2010/01/10(日) 23:20:15
して下さい
  して下さい
    して下さい
393デフォルトの名無しさん:2010/01/10(日) 23:22:22
ゆるい
394デフォルトの名無しさん:2010/01/10(日) 23:22:27
も ゆ し く さ
 う る て だ い
395デフォルトの名無しさん:2010/01/10(日) 23:24:42
もゆる

うるし

うるさい
396デフォルトの名無しさん:2010/01/10(日) 23:25:07
 う ゆ     さい
も   るしてくだ
397デフォルトの名無しさん:2010/01/10(日) 23:27:43
もう  し     ね
  ゆる てください
398デフォルトの名無しさん:2010/01/10(日) 23:32:55
             _,,..r'''""~~`''ー-.、
            ,,.r,:-‐'''"""~~`ヽ、:;:;:\
           r"r          ゝ、:;:ヽ
   r‐-、   ,...,, |;;;;|       ,,.-‐-:、 ヾ;:;ゝ
   :i!  i!  |: : i! ヾ| r'"~~` :;: ::;",,-‐‐-  `r'^! 
    !  i!.  |  ;| l|  ''"~~   、      i' |     イェ〜イ
     i! ヽ |  | |    ,.:'"   、ヽ、   !,ノ
    ゝ  `-!  :| i!  .:;: '~~ー~~'" ゙ヾ : : ::|
   r'"~`ヾ、   i! i!   ,,-ェェI二エフフ : : :::ノ~|`T    >>377見てるー?もう許してください
  ,.ゝ、  r'""`ヽ、i! `:、   ー - '" :: : :/ ,/         
  !、  `ヽ、ー、   ヽ‐''"`ヾ、.....,,,,_,,,,.-‐'",..-'"
   | \ i:" )     |   ~`'''ー---―''"~
399デフォルトの名無しさん:2010/01/10(日) 23:33:59
もうゆてださいゆるてくさもうるくだもうゆるしくだいうゆしだるしいゆ
しだもゆてくだもうゆるてくさいもだてくさいもるてくだてくださうてく
だいくさゆるてもいもうゆしくさもうくもうゆしてくださゆてくだいうる
しいうるくださいうるくるしてさいうゆしてもうゆしさもくだいしくださ
いもゆしてもゆるしくださいもるしてもしてさうてくいもうゆしもうるて
くうるてくさもうゆるしくいるてさもうるしださしださもてくだしてくだ
うゆるくださゆしくさもうゆるてくいゆだもしくだいもうるしくさいして
くだいもうるだもうゆるしうゆるさいもゆるしくもうるしくいもうゆして
だもうしださるしてくだいもうゆしださゆてくださもうゆてさいゆるしさ
いゆるてくもるてくもゆしくゆださいもうゆしくださいもうるしていもう
くうゆくいゆるしださるしてくさゆしうるしてうるしてもうしくださいも
るてだいうゆしてくださうゆるくうるしてだいてくさいもうるしくもゆる
てくだうださてさもしくだいていもうゆるしくいるくださゆるくうゆるて
ださもゆてくさいしてさうしてくだいもうしだいもうゆるてくるだもうる
してさいもうゆしてくさいもうゆるてくもうるしてだもうゆるしてだうゆ
しいもうしだいうゆるてくだいてだもるてさいもゆくいうるてさるくださ
うゆるてだいるしだいもゆしてくだもうゆさもうるしだいうしいもしくゆ
るくだいゆるしてだうゆしてくだいもゆしださもうてださうるくさゆるく
だいうてださいしくだもうしださもしくさもゆしくだいもうるてくだいも
ゆしてさもるしてくだもうるしくさもうしもうしくいうゆくさいしだるて
ださいうるだいゆしくだもうゆるくさいうゆるださうゆるくさいもゆるし
てさもうゆるてださいうてさゆしてくさてだもうゆしくもうゆしてださも
ゆしていうるてるしてださもゆしてくだいうゆるしてさうるしくゆしてい
うしてくいゆてもうゆてくさもゆてださいもうるくださうてださしだうゆ
るていしていもうさいもるしてださいもうしてくだいもゆしてさいもゆる
くだもゆるてだいうゆくさうくさうるしだしてさいゆてだもうしてくだい
もだもしてくいゆしだるしてくださいゆるしてさゆるださいるしくうゆる
しださいもうゆしだうるくださうしてくだもうゆるてくださいもゆしいゆ
400デフォルトの名無しさん:2010/01/10(日) 23:35:23
         ____
       /   u \
      /  \    /\    飽きやすい2ちゃねらのことだから
    /  し (>)  (<) \  そろそろ沈静化してるはず・・・
    | ∪    (__人__)  J |  ________
     \  u   `⌒´   / | |          |
    ノ           \ | |          | 
  /´                | |          |
 |    l             | |          |

         ____
       /   u \
      /  \    ─\    チラッ
    /  し (>)  (●) \
    | ∪    (__人__)  J |  ________
     \  u   `⌒´   / | |          |
    ノ           \ | |          | 
  /´                | |          | 
 |    l             | |          |

           ____
       /::::::::::::::::\
      /::::::─三三─\
    /:::::::: ( ○)三(○)\   もう許してください
    |::::::::::::::::::::(__人__)::::  |  ________
     \:::::::::   |r┬-|   ,/ .| |          |
    ノ::::::::::::  `ー’´   \ | |          |  
  /:::::::::::::::::::::             | |          |  
 |::::::::::::::::: l               | |          |
401デフォルトの名無しさん:2010/01/10(日) 23:43:09
もうゆるいしださくて
402デフォルトの名無しさん:2010/01/10(日) 23:50:23
これはひどい
403デフォルトの名無しさん:2010/01/11(月) 00:02:36
ム板の中では最も荒れてるスレ・・・なのかな?
元々わりと荒んだスレではあったけど、一、二年くらい前に「知らないならレスしないでください」
って書き込みが流行りだした辺りからどんどん酷くなっていったような気がする
404デフォルトの名無しさん:2010/01/11(月) 00:04:05
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>377
     「 ⌒ ̄ |   |    ||   (´Д` )   \  gdgdの責任取れ、この...低脳がァ――!!
     |   /  ̄   |    |/    「    \     \___________
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------    
405デフォルトの名無しさん:2010/01/11(月) 00:11:25
とりあえず禁句設定
★MSDN調べろ
★ググれ
★過去ログ引け
これで改善されるんでは。
このスレの過去ログが過去ログとして機能するのはBuild 50辺りまで。
406デフォルトの名無しさん:2010/01/11(月) 00:13:02
というかストレス溜め込みすぎだよ
407デフォルトの名無しさん:2010/01/11(月) 01:56:12
結局>>127の答えは>>346でやっと出たの?
408407:2010/01/11(月) 01:57:19
間違えた、>>346>>347
409デフォルトの名無しさん:2010/01/11(月) 02:07:44
>>345だろ
410デフォルトの名無しさん:2010/01/11(月) 02:11:07
素朴な疑問










defファイル書いてる?
411407:2010/01/11(月) 02:28:51
>>409
>>346で否定されてるけどその点はどうなの?
412デフォルトの名無しさん:2010/01/11(月) 03:02:06
>>127の答え

Spy++で見ろ
413デフォルトの名無しさん:2010/01/11(月) 03:13:29
>>405
> ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
>>1に書いてあることが禁句って・・・
414デフォルトの名無しさん:2010/01/11(月) 03:31:17
原則準拠の掛け声だけでスレが埋め尽くされないように
>>1に原則をまとめておいて、>>1以外では
原則論を敢えて述べることは控える。

これって異常な発想か?
415407:2010/01/11(月) 03:32:21
>>412
spy++使ってキーボードのメッセージ(WM_KEYUPは除く)みたんだけどこんな感じだったよ
他にもパラメータあったけど、どの場合も変わらないから消しちゃった

//wキー
WM_KEYDOWN nVirtKey:'W' ScanCode:11
WM_CHAR chCharCode:'119' ScanCode:11

//ctrlキー
WM_KEYDOWN nVirtKey:VK_CONTROL ScanCode:1D

//ctrl+w
WM_KEYDOWN nVirtKey:VK_CONTROL ScanCode:1D
WM_KEYDOWN nVirtKey:'W' ScanCode:11
WM_CHAR chCharCode:'23' ScanCode:11

これを見るとWM_CHARが来た時chCharCode(wParam)の値が23ならctrl+wが押されたことになる??
けど文字コード見ると23はETBとか言う文字コードになってるからこれは関係ないのかな?
となると結局GetKeyState()なんて知らなかったらこれだけ見てもどうすれば良いのか分からないんじゃないの?
416デフォルトの名無しさん:2010/01/11(月) 03:47:37
> これって異常な発想か?
よくわかってるじゃん
>>1
過去ログ/MSDN/その他サイト ググレ
つまらん質問するな
418デフォルトの名無しさん:2010/01/11(月) 03:51:49
ググれが禁句なんて聞いたことない。w
419デフォルトの名無しさん:2010/01/11(月) 03:53:28
>>416のどこが指示だ?相変わらず妄想がひどいな
420デフォルトの名無しさん:2010/01/11(月) 03:53:46
今時ググっても、2ch関連の良くわからん質疑応答スレが
先頭に出るんですがね(蛇足だが質問も回答も間違ってることが
よくある)
421デフォルトの名無しさん:2010/01/11(月) 03:57:00
>>415
ctrl+wを押したときだけ特定のメッセージが来るかどうか
をspy++で見れば答えが得られるってこと
WM_KEYDOWNやWM_CHARしか飛んでないってことは
何もメッセージが割り当てられていないのが理解できる
422デフォルトの名無しさん:2010/01/11(月) 03:59:20
-2ch -chiebukuro
ぐらい付けるだろjk
423407:2010/01/11(月) 04:04:54
>>421
なるほど、そういうことだったのね
424デフォルトの名無しさん:2010/01/11(月) 04:05:14
前にもググれ調べろと言われてキレた基地外がいたが同じ奴かね
425デフォルトの名無しさん:2010/01/11(月) 05:50:24
1スレ無駄にしそうだなぁ
426デフォルトの名無しさん:2010/01/11(月) 06:31:18
「調べろ」「ググれ」を禁句とか言ってる気違いが住み着いたからなぁ
427デフォルトの名無しさん:2010/01/11(月) 06:58:00
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものではありません。

アイと研究員とのやり取りに利用するスレッドではないので、
関係者以外も書きこんで下さい。

                  京都大学霊長類研究所
428デフォルトの名無しさん:2010/01/11(月) 07:00:55
チンパンジーならまだしもメンヘラーだからタチが悪い。
429デフォルトの名無しさん:2010/01/11(月) 07:05:20
>>427
むかしのアイちゃんは、聞いても無いのに色々と話をして
くれたもんだが、最近は3語しか言わなくなったなw
年をとったのか、知能が高くなったのか、オブジェクト
指向にかぶれたのか知る由もないが
とにかくSmallTalkになっちゃったね。
430デフォルトの名無しさん:2010/01/11(月) 07:13:34
言っても無いのに色々と妄想してくれるようになった。
431デフォルトの名無しさん:2010/01/11(月) 07:20:11
Win32APIのこのスレ的な定義をそろそろよろ
432デフォルトの名無しさん:2010/01/11(月) 07:24:44
433デフォルトの名無しさん:2010/01/11(月) 07:47:43
ここもWikiレベル以下か...鬱
434デフォルトの名無しさん:2010/01/11(月) 07:49:52
wikipediaをwikiっていうな
435デフォルトの名無しさん:2010/01/11(月) 08:00:14
天才とか言っていろいろなことさせられて、初期レベルの霊長類の
わずかな記憶領域を使い尽くされて、やがて本能を侵食されて
衰弱する
動物実験はいやだな・・・
436デフォルトの名無しさん:2010/01/11(月) 09:18:18
風紀委員会からのお知らせです。

一般的な商用ソフトはリバースエンジニアリングを禁止しています。
spy++で調べる事は使用許諾に反するので行わないでください。
437デフォルトの名無しさん:2010/01/11(月) 09:44:15
spy++で調べる事はリバースエンジニアリングではないのだが、
いったい何を言ってるんだ?
438デフォルトの名無しさん:2010/01/11(月) 09:45:49
妄想です
439デフォルトの名無しさん:2010/01/11(月) 09:47:07
リバースエンジニアリングとは、ソフトウェアやハードウェアなどを分解、あるいは
解析し、その仕組みや仕様、目的、構成部品、要素技術などを明らかにすること。
プログラムの分野では、モジュール間の関係の解明やシステムの基本仕様の分析と
いった行為を含む。
440デフォルトの名無しさん:2010/01/11(月) 09:50:53
Spy++程度でリバースエンジニアリングだったら
タスクマネージャだってリバースエンジニアリングだろ。
どれだけ頭が悪ければ気が済むんだ?
441デフォルトの名無しさん:2010/01/11(月) 09:53:33
ソフトウェアのインストールフォルダをエクスプローラで開くのもリバースエンジニアリングだなw
442デフォルトの名無しさん:2010/01/11(月) 09:56:26
そのソフトに色々な入力を与えて出力を見るのもリバースエンジニアリングだな
システムの基本仕様の分析になるもんな
443436:2010/01/11(月) 09:57:13
リバースエンジニアリングって言ってみたかっただけです。ごめんなさい。
444デフォルトの名無しさん:2010/01/11(月) 13:09:58
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
445デフォルトの名無しさん:2010/01/11(月) 13:57:56
下手糞な文字だなあ
446デフォルトの名無しさん:2010/01/11(月) 14:27:27
今までの長い歴史の中で最低最悪のスレだな
447デフォルトの名無しさん:2010/01/11(月) 14:31:10
この流れだと次スレで最低最悪の歴史を更新するでしょう。
448デフォルトの名無しさん:2010/01/11(月) 14:32:31
質問が無いのがいけないんだ!!
449デフォルトの名無しさん:2010/01/11(月) 14:41:46
今時Win32で開発してる人は、自力で解決できる上級者か、周りが見えてない馬鹿のどちらかだから、質問が無いのが自然。
450デフォルトの名無しさん:2010/01/11(月) 14:46:02
質問するぐらいなら自分で探した方が早いからな
451デフォルトの名無しさん:2010/01/11(月) 16:14:15
MSDN4階層までは全部記憶していて当然だからな。
452デフォルトの名無しさん:2010/01/11(月) 16:18:16
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
453デフォルトの名無しさん:2010/01/11(月) 16:27:03
msdn4階層ばっか言ってるキチガイまだいるのかw
454デフォルトの名無しさん:2010/01/11(月) 16:32:37
まあ実際のところMSDN4階層以内だとOverviewにも届いてない程だし
Win32プログラマにとっては知ってて当然な情報しか無いけどな
455デフォルトの名無しさん:2010/01/11(月) 16:34:03
          ____
         / ̄ ̄ ̄ \
      /   :::::\:::/\  
     /    。<一>:::::<ー>。 
     |    .:::。゚~(__人__)~゚j   もう許してください
     \、   ゜ ` ⌒´,;/゜
    /  ⌒ヽ゚  '"'"´(;゚ 。  
   / ,_ \ \/\ \
    と___)_ヽ_つ_;_ヾ_つ.;._
456デフォルトの名無しさん:2010/01/11(月) 16:44:15
コピペしなくても書けるレベルになるとMSDN4階層以内の情報は見る価値ないし、
分からないときは最初からReferenceあたりで探すようになるからね
そしてReferenceまでの階層が深すぎてイライラするw
457デフォルトの名無しさん:2010/01/11(月) 16:47:11
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
458デフォルトの名無しさん:2010/01/11(月) 16:57:14
MSDN4階層ってアクセラレータとかダイアログボックスとか用語の説明ばっかりじゃんw
459デフォルトの名無しさん:2010/01/11(月) 16:58:28
用語すらわからんやつは質問するなってことだ
460デフォルトの名無しさん:2010/01/11(月) 17:01:09
「ダイアログボックスって何?」

確かに、こんな質問は禁止でいいよw
461デフォルトの名無しさん:2010/01/11(月) 17:02:42
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
462デフォルトの名無しさん:2010/01/11(月) 18:01:59
> MSDN4階層以内は質問禁止というキチガイルール
全然キチガイルールじゃなかったね
463デフォルトの名無しさん:2010/01/11(月) 18:07:36
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
464デフォルトの名無しさん:2010/01/11(月) 18:20:16
ワロタwww
禁止に一票入れとくよw
465デフォルトの名無しさん:2010/01/12(火) 07:39:48
test
466デフォルトの名無しさん:2010/01/12(火) 09:24:26
aho
467デフォルトの名無しさん:2010/01/12(火) 13:32:57
FinderSystem Dev.がどうやってテキストを取得しているかご存知の方はいらっしゃいますか?

某アプリが表示している文字列を取得したいのですが、
実際には8文字表示されているのに
WM_GETTEXTLENGTHは4が返ってくるし、
WM_GETTEXTも100文字分指定しても先頭4文字しか取得できません。
VS2010β2付属のSpy++も4文字しか認識しません。

FinderSystem Dev.のメインウインドウのキャプションには何も表示されないのですが、
ウインドウビューアで階層をたどっていくと、ウインドウ名?の欄には正確に8文字表示されます。
どなたかヒントをください

ちなみに今のC#コードです
public static string GetWindowTextEx2(IntPtr hWnd) {
int len = SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0) + 1;
StringBuilder sb = new StringBuilder(len);
SendMessage(hWnd, WM_GETTEXT, len, sb);
return sb.ToString();
}
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, [MarshalAs(UnmanagedType.LPTStr)] StringBuilder lParam);
public const int WM_GETTEXT = 0x000D;
public const int WM_GETTEXTLENGTH = 0x000E;
468デフォルトの名無しさん:2010/01/12(火) 13:43:07
MSDNのWM_GETTEXTの部分読んで下さい
WM_GETTEXTは万能じゃありません

コントロールによっては別のメッセージ使わないと駄目ですし
相手プロセス内で行動することも必要になってきます
469デフォルトの名無しさん:2010/01/12(火) 13:44:21
某アプリとか書かずにちゃんと名前書いたら?
470467:2010/01/12(火) 14:10:07
>>468
ありがとうございます
漁ってみます
>>469
どうせ誰も知らないだろうと思って具体的な名前は出しませんでした
カノープスのアナログキャプチャカードMTVX2005のソフト
Feather2005 Ver8.17.002の操作パネル(リモコンウインドウ)の再生位置の時刻表示です
ちなみに再生ファイル名は取れていました
471デフォルトの名無しさん:2010/01/12(火) 15:21:18
メッセージボックス(OKボタンのみのやつ)のOKボタンのコントロール識別子の値を教えてください
0x0400だと思ってGetDlgItemしたらNULLが返ってきました
472デフォルトの名無しさん:2010/01/12(火) 15:30:42
それぐらいSpy++で調べろよ・・・
473デフォルトの名無しさん:2010/01/12(火) 17:20:30
>>470
UIAかMSAAで取得してるんじゃね?
474467:2010/01/12(火) 18:22:35
ふと思い立ち、
SendMessageAとSendMessageWとで、それぞれ余計な文字コード変換をしないようにbyte配列を渡して受け取ってみたところ
SendMessageAでそれらしき値が返ってくるのを確認しました。
SendMessageWだと4文字で切られている雰囲気です。

[DllImport("user32.dll", CharSet = CharSet.Ansi)]
public static extern int SendMessageA(IntPtr hWnd, int Msg, int wParam, StringBuilder lParam);

StringBuilder sb = new StringBuilder(256);
int r = SendMessageA(hnd, WM_GETTEXT, 100, sb);

のようにしてみたところ、sbにきちんと8文字取れるようになりました。
ただrに入る値は4です。
これは対象アプリかOS(XP SP3です)のバグと思って良いのでしょうか?
お騒がせしました。ありがとうございました。
475デフォルトの名無しさん:2010/01/12(火) 18:27:13
ふと思い立ちって、、、>>467読んだ瞬間にそう思ったよ。
まあ問題なのは、不具合は全部自分以外のバグと思っちゃうところじゃないのかな。
476デフォルトの名無しさん:2010/01/12(火) 18:33:50
WM_GETTEXTはA/W関係ないと思うが・・・?
477デフォルトの名無しさん:2010/01/12(火) 18:43:01
8文字が全て全角文字で、ANSIで8バイト、Unicodeで4文字って事だろ。
マルチバイト文字とワイド文字の違いを分かってないだけなのに
OSのせいにするその脳細胞がバグってる。
478デフォルトの名無しさん:2010/01/12(火) 18:49:51
XP以降のEM_SETSEL等はSendMessageAでもUnicode扱いするバグがあるんだが・・・
479467:2010/01/12(火) 19:04:42
対象アプリの表示「 0:37:15」

確認コード
byte[] buff = new byte[256];
int r = SendMessageA(hnd, WM_GETTEXT, 100, buff);
int r = SendMessageW(hnd, WM_GETTEXT, 100, buff);
[DllImport("user32.dll")]
public static extern int SendMessageA(IntPtr hWnd, int Msg, int wParam, byte[] lParam);
[DllImport("user32.dll")]
public static extern int SendMessageW(IntPtr hWnd, int Msg, int wParam, byte[] lParam);

SendMessageAの結果
r=4 buff= 0x20,0x30,0x3a,0x33,0x37,0x3a,0x31,0x35,0x00以降全て0
SendMessageWの結果
r=4 buff= 0x20,0x00,0x30,0x00,0x3a,0x00,0x33,0x00,0x00以降全て0

どちらの結果もwParamの値と、戻り値の整合性がとれていないと思うのですが。
試しにWM_GETTEXTLENGTHを送ってもAもWもどちらも4が返ってきました。
480デフォルトの名無しさん:2010/01/12(火) 19:20:45
そもそもSendMessageの宣言は合ってるのか?
481デフォルトの名無しさん:2010/01/12(火) 19:28:29
OSのバグじゃなくて.NETかお前の書いたソースの問題。
とりあえずC#スレで聞いて来い。
482デフォルトの名無しさん:2010/01/12(火) 20:16:09
>VS2010β2付属のSpy++も4文字しか認識しません。
483デフォルトの名無しさん:2010/01/12(火) 21:55:22
>>479
正しく機能しないと思うなら、正しく機能するようにむりやり書いておけばいいと思うよ
APIにバグなんて意外とあるし、バグでなければどうせそのうち矛盾して直す羽目になるから
484デフォルトの名無しさん:2010/01/12(火) 21:59:14
宣言が間違ってる。ref が足らない。
485デフォルトの名無しさん:2010/01/12(火) 21:59:48
IntPtr で受けて、Masharl.PtrToStringAnsi() とかで文字列に変換しろ。
486デフォルトの名無しさん:2010/01/12(火) 22:09:45
バッファ確保しとかないとダメだろ。
487デフォルトの名無しさん:2010/01/12(火) 22:32:19
相手側の実装の問題かも
488467:2010/01/12(火) 22:50:04
自己解決しました
489デフォルトの名無しさん:2010/01/12(火) 22:57:01
マーシャリングの問題なのでAPIスレの範疇ではない
490デフォルトの名無しさん:2010/01/12(火) 23:11:51
XP VC6 SDK
_MBCSビルドで正常に表示されている仮想リストビューが _UNICODEビルドに変更すると
LVN_GETDISPINFO(W)が来ず、なぜか LVN_GETDISPINFO(A)が来るのでそれに対し
WCHAR文字列のポインタを与えると それを charと解釈し正常に文字が表示されません。

試しに LVS_OWNERDATAを外して InsertItemで WCHARの文字列を挿入すると 3カラム中
1カラム目は正常に表示され、2,3カラム目はデータが無いので LVN_GETDISPINFO(A) が
発生し、前述と同じ表示になります。
LVN_GETDISPINFO(A)に対し、WCHAR文字列ではなくchar文字列のポインタを与えると
2,3カラム目も正常に表示され、1カラム目は WCHAR、2,3カラム目は charという
おかしな状態になります。

何か LVN_GETDISPINFO(W)が来ない原因が思い当たりますでしょうか。
491デフォルトの名無しさん:2010/01/12(火) 23:52:31
>>490
ウィンドウクラスは WC_LISTVIEWW になっているかい?
492デフォルトの名無しさん:2010/01/12(火) 23:57:50
はい。念のため、CreateWindowExW、WC_LISTVIEWW としても実行してみましたが
同じでした
493490:2010/01/13(水) 00:56:40
原因が分かりました。

他の言語の GUIに リストビューを貼り付ける形で 何の言語からも手軽に 仮想リストビュー
や表示するデータを利用できるように作った DLLなのですが、その親となる相手方のコントロ
ールやウィンドウをサブクラスしていて、親(相手方)が ANSIだった為 リストビューが親に
ANSI のメッセージ(WM_NOTIFY)を送っていたようです。
間に1枚 UNICODEのコントロールを作成することで解決しました。

>>491 ありがとうございました
494デフォルトの名無しさん:2010/01/13(水) 01:31:03
BitBltでソースの画像より大きいサイズを指定すると
余った部分が真っ黒になるようだけど、
その部分の色を指定することは出来ないの?
495デフォルトの名無しさん:2010/01/13(水) 02:51:59
>>494
背景とソースを合成したビットマップを動的に作成してBitBltするか
ソースの画像サイズでBitBltしてから描画した画像の範囲をExcludeClipRectして最後にソースよりも大きいサイズの矩形を塗りつぶす。
496デフォルトの名無しさん:2010/01/13(水) 02:57:51
入力先はソースより大きくする理由はない
出力先が大きいなら塗り潰す
497デフォルトの名無しさん:2010/01/13(水) 03:05:55
>>496
StretchBltと間違えていませんか?
BitBltは入力元のサイズは指定できませんよ。
498デフォルトの名無しさん:2010/01/13(水) 03:14:59
指定できなくても元サイズはあるだろう
destをそれと同じサイズにすればいいだけ
499デフォルトの名無しさん:2010/01/13(水) 03:23:43
真っ黒になる(=ゼロクリアする)かどうかって不定じゃなかったか?
ちゃんと正しいサイズを指定しろ。
500デフォルトの名無しさん:2010/01/13(水) 03:32:19
>>498
じゃあこれはどういう意味ですか?
> 入力先はソースより大きくする理由はない
501デフォルトの名無しさん:2010/01/13(水) 03:40:52
絵を絵より大きなサイズ指定して出力しても仕方がないだろう
502デフォルトの名無しさん:2010/01/13(水) 03:56:24
>>500
そんなん俺に聞かれたって知るかよ
503デフォルトの名無しさん:2010/01/13(水) 05:42:34
知らないならレスしないで下さい。ウザイだけです。
504デフォルトの名無しさん:2010/01/13(水) 10:28:10
そもそもBitBltにソースのサイズを超える指定をした場合の言及がないので、
動作は未定義と考えるべき。
ドライバの実装など環境に依存する可能性があるので、そもそも使うべきではない。
505デフォルトの名無しさん:2010/01/13(水) 10:59:23
Vista以降はドライバに依存しないでしょ
506デフォルトの名無しさん:2010/01/13(水) 13:02:16
だれがVista以降専用だと書いているんだ?
なんで脳内妄想で書いてもいない前提条件を付けるの?
507デフォルトの名無しさん:2010/01/13(水) 13:56:45
質問する際に対象OSを書かない場合は質問時点での最新OSとみなします。
508デフォルトの名無しさん:2010/01/13(水) 14:12:45
SDK的解釈かよw
509デフォルトの名無しさん:2010/01/13(水) 18:03:45
>>496
ダブルバッファとやらだと
画面全体のサイズに描画するものじゃないの?
510デフォルトの名無しさん:2010/01/13(水) 18:22:08
画面全体のサイズのバッファを用意してるからな
511デフォルトの名無しさん:2010/01/14(木) 12:37:57
[Mainウィンドウ]→→→※[TreeViewウィンドウ(Mainのowned)]
     ↓
     [Mainダイアログ(Mainの子)]

※印のTreeViewウィンドウは、CreateWindow()でなければ実現できない
機能を持たせているので、独自にメッセージループをもっています。

ここで、その※印のTreeViewウィンドウを開いたまま Mainウィンドウを
閉じてアプリを終了すると、”ゾンビ状態?”になり、タスクマネージャーに
プロセスが残ります…

どうも PostQuitMessage() が実行されてないようなんですが、
なにが悪いのか、ヒントだけでもお願いいたします。 m(。。)m
512デフォルトの名無しさん:2010/01/14(木) 12:51:47
PostQuitMessageで独自のメッセージループは抜けるけど、
元のメッセージループはそのまま走っているからじゃないかな
もう一回PostQuitMessageしてみたらどうだろう
513デフォルトの名無しさん:2010/01/14(木) 14:27:28
> CreateWindow()でなければ実現できない機能
意味不明
たぶんTreeViewをサブクラスすれば済む話のような気がする
514デフォルトの名無しさん:2010/01/14(木) 17:25:29
設計思想が悪い
515デフォルトの名無しさん:2010/01/14(木) 17:42:35
頭が悪い
516デフォルトの名無しさん:2010/01/14(木) 17:50:04
>CreateWindow()でなければ実現できない
>機能を持たせているので、独自にメッセージループをもっています。

CreateWindowの利用と、独自にメッセージループを持つという内容が繋がらない。
この独自というのがTreeViewを完全に再実装しているのか、
メッセージループの中でさらにメッセージループを使っているということなのか、
別スレッドで回しているということなのか全く伝わらない。
517デフォルトの名無しさん:2010/01/14(木) 18:09:18
全く伝わらない奴がなぜレスするの?
518デフォルトの名無しさん:2010/01/14(木) 18:14:47
独自のモーダルループを用意してるんだろ。
そんな事も分からない連中は黙っとけ。
519デフォルトの名無しさん:2010/01/14(木) 18:26:01
俺も全く意味が分からなくてレスしなかったけど、意味が分からないということも
伝えないとダメだなw
同じスレッドで作成したウインドウなら、普通は全て1つのメッセージループで
処理するものだしね。

別のものを「メッセージループ」と間違って呼んでいるのか、それとも別スレッドなのか、
あるいはPeekMessageでhWndを限定しながら回してるのか。

CreateWindowでなければ実現できない機能というのもよく分からない。
Dialogだとできないって意味なのかな?

>>518
TreeViewウインドウを開いたままMainウインドウを操作できるようだから、
モーダルではないと思う。
520デフォルトの名無しさん:2010/01/14(木) 18:35:30
IEのプロキシ設定を行った場合、
そのアドレス、ポートの情報を
win32api で取得することは可能でしょうか?
521デフォルトの名無しさん:2010/01/14(木) 18:48:57
>>519
モーダルダイアログとモーダルループの違いも分からないの?馬鹿なの?
522デフォルトの名無しさん:2010/01/14(木) 18:54:07
モーダルダイアログとモーダルループが分からない人ってまだ居たのか。
まあ、回答者のレベルが低すぎるのがこのスレ最大の欠点だが。
523デフォルトの名無しさん:2010/01/14(木) 18:59:59
どこのスレにも一人ぐらいいるでしょw
ろくに知識無いくせにやたらと回答したがる奴
524デフォルトの名無しさん:2010/01/14(木) 20:39:42
オレオレ
525デフォルトの名無しさん:2010/01/14(木) 20:40:25
エンドレスループですね
526デフォルトの名無しさん:2010/01/14(木) 20:44:29
知識ある人はレスしないで下さい。ウザイだけです。
527デフォルトの名無しさん:2010/01/14(木) 21:17:37
もし、※ループのGetMessageでWM_QUITを拾うと、WM_QUITがMSGキューから消えてる
Mainループでは、WM_QUITが拾えないので無限ループ
528デフォルトの名無しさん:2010/01/14(木) 21:19:26
正しくは、WM_QUITは、内部フラグをONにしているだけとか書くなよ>知識あるやつ
529デフォルトの名無しさん:2010/01/14(木) 22:02:55
>>512で答え出てるのにここまで引っ張るあたりさすがだな
しかも知識無い馬鹿まで混じってるしw
530デフォルトの名無しさん:2010/01/14(木) 22:07:57
Win32 の基礎知識を理解してない馬鹿の回答は禁止します。
531デフォルトの名無しさん:2010/01/14(木) 22:26:29
>>520
InternetQueryOption
532デフォルトの名無しさん:2010/01/14(木) 22:31:15
>>529
>>512の現象分析は正しいが、解決法は間違っとる。
533デフォルトの名無しさん:2010/01/14(木) 22:58:45
間違ってないよ
そんな事さえ分からんのか
534デフォルトの名無しさん:2010/01/14(木) 23:00:41
知識無い馬鹿はスルーしろ。
535デフォルトの名無しさん:2010/01/14(木) 23:03:11
>>532
間違っているというのなら、何が間違っていて正解は何なのかを提示しろ。
煽るだけのどこかの馬鹿と一緒になるぞ。
536デフォルトの名無しさん:2010/01/14(木) 23:17:45
どこかの馬鹿(笑)

お前だよwww
537デフォルトの名無しさん:2010/01/14(木) 23:21:34
msdnに検索機能が無いとかほざいた馬鹿?
538デフォルトの名無しさん:2010/01/14(木) 23:23:44
正解
539デフォルトの名無しさん:2010/01/14(木) 23:31:48
どうでもいい
540デフォルトの名無しさん:2010/01/14(木) 23:35:19
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
541デフォルトの名無しさん:2010/01/14(木) 23:48:14
許しを請うなら二度と来るな。
542デフォルトの名無しさん:2010/01/14(木) 23:53:34
許しを請いに来い
543デフォルトの名無しさん:2010/01/14(木) 23:57:32
ねえ、Win32の知識に乏しいのになぜスレに居るの?
正直に答えてよ。
544デフォルトの名無しさん:2010/01/14(木) 23:59:58
質問スレだからだよ
545デフォルトの名無しさん:2010/01/15(金) 00:04:53
理由になってない。
少なくとも回答する立場では無いだろう。
546デフォルトの名無しさん:2010/01/15(金) 00:05:44
元の質問者ほったらかしで雑談するのもうやめようぜ。
547デフォルトの名無しさん:2010/01/15(金) 00:07:44
質問は>>512で解決してるだろ
548デフォルトの名無しさん:2010/01/15(金) 00:09:31
現時点で未解決の質問は>>543だけです
当事者は早く答えなさい
549デフォルトの名無しさん:2010/01/15(金) 00:15:07
>>535
> 質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
550デフォルトの名無しさん:2010/01/15(金) 00:24:42
>>549
MSDNに検索機能なんてないだろ
いったいどれだけホラ吹けば気が済むんだ?
551デフォルトの名無しさん:2010/01/15(金) 02:42:05
ホント、学生レベルの回答者が多いな。
552デフォルトの名無しさん:2010/01/15(金) 07:15:44
どこかの馬鹿という言葉にすぐさま反応しているのは、
自分にその認識があるのを認めてしまったことを示すわけだけどね。
553デフォルトの名無しさん:2010/01/15(金) 08:14:08
ちょっとAPIの質問と違うのですが、CreateWindowでコマンドボタンを作成した場合
戻り値のHWNDはどこに置くのがスタンダードなんでしょうか?

メッセージで呼び出されるウィンドウプロシージャ内にstatic宣言かグローバル宣言かに
ナルト思うのですが。
554デフォルトの名無しさん:2010/01/15(金) 10:02:43
GWL_USERDATAにオク。
555デフォルトの名無しさん:2010/01/15(金) 10:12:14
ウインドウ自体をclassで管理して、親ウインドウのメンバ内に置く。
556デフォルトの名無しさん:2010/01/15(金) 10:52:58
ボタンくらいならID振って、戻り値は関数の成否判定のみ
557デフォルトの名無しさん:2010/01/15(金) 13:55:41
レジストリファイル(.reg)を
プログラム上から読込み、レジストリ登録を行いたいのですが、
間単に行えるAPIはないでしょうか?

また、逆に指定したレジストリのキー配下を.reg形式で出力するAPIも
あれば教えていただきたいです。
558デフォルトの名無しさん:2010/01/15(金) 14:01:08
regedit使え
559デフォルトの名無しさん:2010/01/15(金) 14:02:35
むしろreg.exe使え
560557:2010/01/15(金) 14:08:25
>>558,559

外部のモジュールが使えないので、悩んでいます。
APIがなければ、自作で.regファイルを読み込み、 1個ずつ登録して行きます。
561デフォルトの名無しさん:2010/01/15(金) 14:09:58
外部て、OSに標準で備わってるファイルだろ
562デフォルトの名無しさん:2010/01/15(金) 14:16:47
APIだってある意味外部のモジュールでしょうが
563デフォルトの名無しさん:2010/01/15(金) 14:50:11
557は頭が悪いからその辺理解できないのね
564デフォルトの名無しさん:2010/01/15(金) 15:18:47
>>557
そういう用途は恐らくVB-Scriptを使うのが最善ではないかと
565デフォルトの名無しさん:2010/01/15(金) 15:38:38
"VB-Script"?
566デフォルトの名無しさん:2010/01/15(金) 16:02:46
VBScriptなりJavaScriptなり場合によってはPerlScriptを
使ってWSHでも使えば?Windows Scripting Host.
メモ帳でコード作ってファイルのアイコン、マウスク
リック一発で一発起動。
Windowx9xの頃からあるんでそこそこ安定しているし
最近のマシンだったら十分早い。
Windows power shellのほうが良いという人はそっち
使えばいいし...
C++でレジストリ環境のAPIを使うやり方は恐らく
とりあえずは知らなくてもよいことまで
いちいち勉強しなければならなくなる可能性大
567デフォルトの名無しさん:2010/01/15(金) 16:24:51
そんな事しなくてもバッチファイルでregコマンドを呼べばいいじゃん
568デフォルトの名無しさん:2010/01/15(金) 16:29:58
>>566はreg.exeで.regファイルが読み書き出来るのを知らないんでしょ
569デフォルトの名無しさん:2010/01/15(金) 16:40:22
プロシージャ呼び出しじゃなきゃいや。という理由であったとしても、
もRPCの仕組み知っていれば意味無い事がわかるし。
570デフォルトの名無しさん:2010/01/15(金) 16:47:40
もRPCって何?
571デフォルトの名無しさん:2010/01/15(金) 17:32:15
>>566
MSDNとか調べると一番嫌なのは、結果的にも取り敢えず知らなくて
も良かったことまで調べなければならなくなること。
これは辛いよね。確かに。フラストレーションが滅茶苦茶溜まる。
>>568
Wsh知ってるんだったらReg.exeも当然知ってるだろうし
当然バッチも使った上でのWsh推奨だろ
VBScriptは型が無いようであるVariantが標準型だからC++プログラマ
にとってはJavaScriptよりか使いやすいんじゃないかと
572デフォルトの名無しさん:2010/01/15(金) 17:57:54
レジストリキーとファイル名を引数にコマンドを実行するだけのスクリプトに型なんて関係無いでしょうが
知らないのに無理にレスしなくていいよ
573デフォルトの名無しさん:2010/01/15(金) 17:59:55
とりあえず>>566=>>571が頭悪いのは分かった
574デフォルトの名無しさん:2010/01/15(金) 18:12:22
>>571
君はプログラマに向いてない
転職をおすすめする
575デフォルトの名無しさん:2010/01/15(金) 18:31:40
そもそもJavaScriptとJScriptを混同している時点で終わってる。
576デフォルトの名無しさん:2010/01/15(金) 18:39:56
MSDNとか調べると一番嫌なのは、
Dr.GUIとかいうアホなキャラが
うだうだ御託並べた駄文読まされた挙句
それが探してるものと全然関係ない話題だと気付いたとき
577デフォルトの名無しさん:2010/01/15(金) 18:51:49
いや、それはもっと早い段階で気付くべき
578デフォルトの名無しさん:2010/01/15(金) 19:00:54
検索が下手な気がする
Win32内に絞り込んでおけばその手のゴミは拾わないはず
579デフォルトの名無しさん:2010/01/15(金) 19:29:48
切削されたgoogle経由の検索が好まれる所以
580デフォルトの名無しさん:2010/01/15(金) 19:43:49
MSDN検索でWin32&COMを指定した方がいい
google経由はノイズが多すぎてうざい
581デフォルトの名無しさん:2010/01/15(金) 19:45:36
っつーか Dr.GUY ってなんであんなにおしゃべりなんだ?
そもそもあんなもの MSDN に要らんだろ?
582デフォルトの名無しさん:2010/01/15(金) 19:52:05
Dr.GUYってのはわざとじゃなくて素で間違えたな
583デフォルトの名無しさん:2010/01/15(金) 19:56:34
検索できない馬鹿の言い訳は見苦しいので終了
584デフォルトの名無しさん:2010/01/15(金) 20:02:16
大して知識も無いド素人がうだうだ御託並べた駄レスの方が迷惑です
585デフォルトの名無しさん:2010/01/15(金) 20:23:50
馬鹿は使うな!

以上!
586デフォルトの名無しさん:2010/01/15(金) 20:35:33
馬鹿は使うな!

以上!
587デフォルトの名無しさん:2010/01/15(金) 20:44:09
馬鹿は使うな!

以上!
588デフォルトの名無しさん:2010/01/15(金) 21:06:34
馬鹿は使うな!

以上!
589デフォルトの名無しさん:2010/01/15(金) 21:10:56
いくら大事なことだからって4回も言わなくていい
590デフォルトの名無しさん:2010/01/15(金) 21:16:21
いくら言ったところで当の本人が自覚してないから無駄
591デフォルトの名無しさん:2010/01/15(金) 21:42:19
>馬鹿は使うな!
>以上!

うわっ誰も使えねえ!!!
592デフォルトの名無しさん:2010/01/15(金) 21:50:06
馬鹿以外は使えますが、何か?
593デフォルトの名無しさん:2010/01/15(金) 23:57:17
そうだね。
使えないのはお前らだけだね。
594デフォルトの名無しさん:2010/01/16(土) 00:04:59
ホント、役に立たんスレだな w

学生さんは回答やめたら?
595デフォルトの名無しさん:2010/01/16(土) 00:29:21
と、このスレ一番の馬鹿が申しております
596デフォルトの名無しさん:2010/01/16(土) 00:36:25
今時JScriptってもしかしてJavaをJ++だと未だに言う人?
597デフォルトの名無しさん:2010/01/16(土) 00:37:16
さあ、必ず反論しないと気が済まない馬鹿が来ましたよ〜
598デフォルトの名無しさん:2010/01/16(土) 00:38:53
>>566=>>571=>>596
こいつが消えればスレは平和になる
599デフォルトの名無しさん:2010/01/16(土) 00:42:23
ん?鋭い指摘でもしたつもり?
600デフォルトの名無しさん:2010/01/16(土) 00:42:53
今時っていうかWindows7でも.jsの説明にJScriptと書いてあるんですが(笑)
Windowsが存在しない時代から来た未来人ですか?
601デフォルトの名無しさん:2010/01/16(土) 00:45:44
・モーダルループを知らない
・reg.exeを知らない
・JScriptを知らない
・MSDNの検索機能を知らない
602デフォルトの名無しさん:2010/01/16(土) 00:48:44
ここまで恥を晒しながらも平然と書き込みできるのが信じられない
603デフォルトの名無しさん:2010/01/16(土) 00:49:48
人工知能だろ
604デフォルトの名無しさん:2010/01/16(土) 00:51:19
人工”知能”を名乗るな
605596:2010/01/16(土) 00:52:45
自己解決しました
606デフォルトの名無しさん:2010/01/16(土) 01:53:59
>>605
どうやって解決したか教えて。
607596:2010/01/16(土) 02:04:16
歴史の教科書を読み返しました
ちなみに私は2077年から来ました
608デフォルトの名無しさん:2010/01/16(土) 02:23:59
>>607
歴史の教科書にJScriptが載ってるのですか?
609デフォルトの名無しさん:2010/01/16(土) 02:46:18
Webの歴史書に決まってるだろ
610デフォルトの名無しさん:2010/01/16(土) 02:50:43
古墳から出土しました
611デフォルトの名無しさん:2010/01/16(土) 06:10:38
APIでレジストリ扱うんだったら、仮想PCにWin2000とか
インストールしてそこで慣れてから。開発マシンとは言え
リアルPCではやらんほうがいい。
reg.exe+バッチだと文字列のきめ細かい操作が絡むとたちまち
面倒になってくる。第一.regファイルもMS内部仕様のファイル
なんで扱わないで済ませられるんだったらそうしたほうがいい。
WSHを使う場合、J(ava)Script/VBScriptの選択があるがどち
らでもお好きなほうで
612デフォルトの名無しさん:2010/01/16(土) 07:52:02
構って貰いたくてわざとやってるとしか思えない。
以後の発言はコテを強制します。
613デフォルトの名無しさん:2010/01/16(土) 07:58:26
リア小じゃねぇの?w
614デフォルトの名無しさん:2010/01/16(土) 08:10:18
変なのが住み着いちゃったね
615デフォルトの名無しさん:2010/01/16(土) 08:15:04
>J(ava)Script/VBScript
間違いを間違いとして認められない気性がよく表れている。
さらに全然関係ない話を挟んでごまかそうとするところとか。
616デフォルトの名無しさん:2010/01/16(土) 08:32:19
WScript.ShellオブジェクトとかをC++で操作すればいいんじゃね?
あ、APIの話じゃないから関係ねぇかw
617デフォルトの名無しさん:2010/01/16(土) 08:46:57
そもそも必要性が皆無
618デフォルトの名無しさん:2010/01/16(土) 09:06:29
プログラムから.regファイルに関わろうとする必要性がね
619デフォルトの名無しさん:2010/01/16(土) 09:09:36
regedit.exe/reg.exe/regedit2.exe等専用の形式が.regなんで
その仕様に依存したプログラムを作ろうとしているのにそもそも
問題がある。APIに依存したプログラムすら問題視されているこの
ご時勢に。
620デフォルトの名無しさん:2010/01/16(土) 09:33:11
解決方法は以下の三つ

.regを使用せず独自の形式を使う
外部プログラムから.regを利用する
.regの構文を独自のプログラムで読み出す

で、質問の条件を満たすのは3つめのみ
以上が結論

で、wshとかテストを仮想環境でやるとか、脱線も甚だしい。
621デフォルトの名無しさん:2010/01/16(土) 09:36:41
619はMVPだろ
質問者の狭い世界ではそんな要求されてねぇのに
622デフォルトの名無しさん:2010/01/16(土) 10:05:58
3つめの結論を取る限りWsh.Shell オブジェクトを
使わぬ手はないね。これをする際にScriptでシミュレート
することが出来るのが嬉しいね。
レジストリをReg系APIで弄るPGのテストをリアルマシン
でするのはレジストリ飛ばして再インストールしました。
一部業務データが消えました、ごめんなさいで許される趣味で
やってる奴らだろ。Windowsプログラマなら常識以前じゃん
623デフォルトの名無しさん:2010/01/16(土) 11:09:39
外部プログラムですら駄目だと言っている質問者にwshを利用させようとする馬鹿さ加減は、
さすがにJScriptとJavaScriptを混同するだけのことはある。
624デフォルトの名無しさん:2010/01/16(土) 11:15:38
RegSaveKey()、RegLoadAppKey() って違うの?
625デフォルトの名無しさん:2010/01/16(土) 11:21:18
.htaに書かれているのはJScript JavaScriptどっち?
626デフォルトの名無しさん:2010/01/16(土) 11:27:08
Wsh.Shellと[wc]script.exeを混同しているおバカさんですか?
627デフォルトの名無しさん:2010/01/16(土) 11:35:14
WScript.ShellとWsh.exeを混同している人よりかマシだろ
628デフォルトの名無しさん:2010/01/16(土) 12:21:38
いい加減コテつけろよキチガイ
629デフォルトの名無しさん:2010/01/16(土) 12:54:04
APIの枠組みだけで閉じてしまったら
(Win32) APIプログラミングはできないだろ
COMとかRDBとかを同時並行に勉強しないとな
630デフォルトの名無しさん:2010/01/16(土) 13:13:34
Win32 APIは枠組みじゃないだろ、そもそもからしてよキチガイ
631デフォルトの名無しさん:2010/01/16(土) 13:26:53
だからコテつけろ
632デフォルトの名無しさん:2010/01/16(土) 13:33:49
コテつけるのはキチガイ
633デフォルトの名無しさん:2010/01/16(土) 13:49:27
既に基地外だからコテつけろ
634デフォルトの名無しさん:2010/01/16(土) 13:51:48
さっさとコテつけろよキチガイ
635デフォルトの名無しさん:2010/01/16(土) 14:02:42
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
636デフォルトの名無しさん:2010/01/16(土) 17:55:10
メッセージループと他の処理をスレッド
それぞれ別のスレッドで動かしているんだけど
他の処理スレッドからアプリを終了させるには
単純にWM_DESTROYを送るだけでいいの?
637デフォルトの名無しさん:2010/01/16(土) 18:25:46
WM_DESTROYを送るというのが大間違い
638デフォルトの名無しさん:2010/01/16(土) 18:31:08
>>636
スレッドを全て終了させる必要があるよ

ちなみにメッセージループを抜けるには
メッセージループを実行しているスレッド内でPostQuitMessage関数を呼べばいい
大抵はウィンドウ破棄のタイミングでアプリケーションを終了させるので
ウィンドウ破棄時に送られるWM_DESTROY内でPostQuitMessage関数を呼ぶ
だからWM_DESTROYを送ると終了できるように見える
639デフォルトの名無しさん:2010/01/16(土) 19:46:39
練習でエディタ作ってるんですが
IMEの変換中の文字列って小さく補正?されるんでしょうか?
同じサイズの同じフォントにしたいんですが
こんな感じで2パターン試したところ変換中の文字のほうが小さくなります

LOGFONT logfont;
#if 0
HFONT default_guifont = (HFONT)::GetStockObject(DEFAULT_GUI_FONT);
::GetObjectA(default_guifont,sizeof(logfont),&logfont);
#else
::SystemParametersInfo( SPI_GETICONTITLELOGFONT,sizeof(LOGFONT),&logfont,0);
#endif
::ImmSetCompositionFont(ime,&logfont);
640デフォルトの名無しさん:2010/01/16(土) 22:44:30
>>638
他のスレッドを終わらせるのってどうやるの?
TerminateThreadだとメモリリーク起きるんでしょ?
641デフォルトの名無しさん:2010/01/16(土) 22:49:03
フラグでも何でも使ってリターンさせりゃいいだろ
642デフォルトの名無しさん:2010/01/16(土) 22:51:07
ここはAPIスレなのでAPI使って回答しなさい
643デフォルトの名無しさん:2010/01/16(土) 22:51:36
あ”?
644デフォルトの名無しさん:2010/01/16(土) 22:54:56
あぴ♥
645デフォルトの名無しさん:2010/01/16(土) 23:05:34
>>637
じゃあWM_CLOSEは?
646デフォルトの名無しさん:2010/01/16(土) 23:55:08
WM_CREATEやWM_DESTROYはOSが送ってくるメッセージであって
プログラマが送るメッセージではない
647デフォルトの名無しさん:2010/01/17(日) 01:02:34
頭が固いと640みたいな発想になるのかな
648デフォルトの名無しさん:2010/01/17(日) 04:27:25
JScriptとJavaScript
昔はWSH専用コードがJScript
HTMLに埋め込まれているのがJavaScriptで
ほぼ通った。
しかし.NETが出て10年以上経つた現在
JScriptとはほぼJScript.NETのことを指す
でいいんじゃね?(つまりWSH専用コード
もJavaScriptと統一。同じ文法なんで)
649デフォルトの名無しさん:2010/01/17(日) 04:58:58
コテつけろや キチガイ
650デフォルトの名無しさん:2010/01/17(日) 05:42:55
>>647
頭が固いのではなくプリエンプティブマルチタスクOSに関する基礎知識がないものと思われる
651デフォルトの名無しさん:2010/01/17(日) 06:49:12
>TerminateThreadを不用意に使うとメモリリークが起こったりする
原因になる

「夕焼けが出ると明日は快晴」
と同じ信頼レベルで概ね正しいが、100%正しいわけではない。

脳軟化症気味だから、ちょっとコ難しい横文字が出ると
100%正しいことなんだと、右辺と左辺を等式で
結んでしまうんじゃ?
652デフォルトの名無しさん:2010/01/17(日) 08:04:50
このツンデレめ。下3行が「べ、べつにあなたの〜」に対応するわけだな。
653デフォルトの名無しさん:2010/01/17(日) 11:30:41
HTMLに埋め込まれてるのもIEの場合JScript
654デフォルトの名無しさん:2010/01/17(日) 11:34:37
http://msdn.microsoft.com/en-us/library/d1et7k7c(VS.85).aspx

を見れば、MSのECMAScript実装が「JScript」である、ってことぐらいわかると思うんだけどな・・・。
当然、ブラウザだからどう、なんてのは関係ない。
655デフォルトの名無しさん:2010/01/17(日) 11:51:14
関係はあるだろ
MSの実装がJScriptならMSのブラウザならJScriptということになる
656デフォルトの名無しさん:2010/01/17(日) 12:00:07
なんでIEでは<script lang='JavaScript'>なんてHTML
読むと一見正常動作するように見えて実は...
というデマが流れたりしかねないんでさ
そういう些細な話はもうやめたら?
657デフォルトの名無しさん:2010/01/17(日) 12:02:53
文脈の読めない馬鹿乙。
658デフォルトの名無しさん:2010/01/17(日) 12:10:34
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
659デフォルトの名無しさん:2010/01/17(日) 12:24:09
JScriptとJScript.NETは違うんだから、後者を指したいなら
JScript.NETと明示的に言うか、そうでなければ、誤解の起こらない
それなりの文脈のもとでJScriptといわなければだめだろう
660デフォルトの名無しさん:2010/01/17(日) 12:25:33
一緒だと考えてるのはMVPくらいだろ?
661デフォルトの名無しさん:2010/01/17(日) 12:28:05
>>640
終了用のEventを用意したり
PostThreadMessageで終了用メッセージを投げたり
662デフォルトの名無しさん:2010/01/17(日) 12:40:56
何?JavaScriptとJScript.NETが違うって?
常識じゃん。それって
663デフォルトの名無しさん:2010/01/17(日) 12:43:10
JavaScriptとJScriptも違うのは常識だけどな
664デフォルトの名無しさん:2010/01/17(日) 13:10:53
SpiderMonkeyもV8もJavaScriptとは違うと言えるな。
665デフォルトの名無しさん:2010/01/17(日) 13:12:58
SpiderMonkeyはJavaScriptだけどな。
666デフォルトの名無しさん:2010/01/17(日) 13:24:06
JavaScriptは言語仕様であり、かつその実装のこと
ECMAScriptとはJavaScriptやJScript等の言語を共通化するために作られた言語仕様
SpiderMonkeyはJavaScriptの実装のコード名
JScriptはECMAScript互換の言語仕様及び実装のこと

まとめると

SpiderMonkeyはJavaScript
JScriptはJavaScriptではない
ECMAScriptはJScriptではないが、JScriptはECMAScriptの一種
ECMAScriptはJavaScriptではないが、JavaScriptはECMAScriptの一種
667デフォルトの名無しさん:2010/01/17(日) 13:29:41
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀
668デフォルトの名無しさん:2010/01/17(日) 17:30:19
APIと何の関係があるまとめなんだ?>>MVP
669デフォルトの名無しさん:2010/01/17(日) 17:54:24
バージョンが違うだけ
670デフォルトの名無しさん:2010/01/18(月) 02:03:36
OpenProcessで開いたプロセスの処理速度を2倍、3倍などの任意の速度へ変えたいのですが
何かそれっぽいAPIがありましたら教えてください。
671デフォルトの名無しさん:2010/01/18(月) 02:14:26
処理速度?優先度の間違いだよな…?
優先度ならSetPriorityClassとか
CreateToolhelp32Snapshotでスレッド列挙してからSetThreadPriorityとか…

CreateToolhelp32Snapshotは今は別な方法あったような気がする
あったはず
覚えてないけど
672デフォルトの名無しさん:2010/01/18(月) 02:27:03
いや優先度じゃなくて、よく処理速度です。
フリーのソフトを例に出すと「Ragud Mezegis」でやっているような処理です
673デフォルトの名無しさん:2010/01/18(月) 02:41:55
dependency walkerでRagud MezegisとDLLを見た感じでは
タイマーAPIのフックしてるだけみたいだ

SetWindowsHookEx辺りで対象プロセスに侵入して
ImageDirectoryEntryToData辺りでインポートアドレステーブルを探して
VirtualProtectで書き換え可能にして
参照アドレス書き換えればいい
674デフォルトの名無しさん:2010/01/18(月) 02:43:41
なんか難しそうですがありがとうございました
ファイル→プロパティ→セキュリティで表示される、 user のアクセス許可を許可、あるいは拒否
をプログラムから変更するにはどうすればよいのでしょうか?

環境は Visual C++ 2005, Windows XP です
676デフォルトの名無しさん:2010/01/18(月) 04:03:15
aclSetEntriesInAcl 既存のACL(アクセス制御リスト)に新しいアクセス制御情報、
または新しい監査制御情報を結合することで新しいACLを作成
677デフォルトの名無しさん:2010/01/18(月) 04:05:59
678デフォルトの名無しさん:2010/01/18(月) 04:18:31
昼間は糞みたいなレスしかしないくせに
夜間は頑張るじゃないか君達
679デフォルトの名無しさん:2010/01/18(月) 04:34:37
朝ですが
>>676-677
ありがとう!
挑戦してみます
681デフォルトの名無しさん:2010/01/19(火) 01:11:45
>>641
>>661
そのスレッドでメッセージループみたいな
ブロッキング関数をwhileで回してた場合はどうするの?
682デフォルトの名無しさん:2010/01/19(火) 01:29:03
ブロックしない方法にしたらいいじゃないか
683デフォルトの名無しさん:2010/01/19(火) 01:31:41
何がブロックしてるかによって解決方法は違うんじゃね。

GetMessageだったらPostすればいいし、
イベントオブジェクトなら持ってる奴が所有権放せばいい。
ブロッキング関数なら非ブロッキング関数使うなり。

万能解を求めるから強引になるんじゃないの?
頭やわらかく行こうぜ。
684デフォルトの名無しさん:2010/01/19(火) 02:07:31
standby listに無理やり読み込ませるAPIみたいなものってないの?
685デフォルトの名無しさん:2010/01/19(火) 02:44:41
無いね。
686デフォルトの名無しさん:2010/01/19(火) 20:21:42
エディットやリストボックスを画面上から消すにはどうすればいいんだ?
DestroyWindowてのを試したが何も起きなかった
687デフォルトの名無しさん:2010/01/19(火) 20:55:04
>>686
エディットやリストボックスのウィンドウハンドルが合っているか確認する。
エディットやリストボックスがDestroyWindowを呼び出すスレッドに属しているか確認する。
688デフォルトの名無しさん:2010/01/19(火) 21:30:27
>エディットやリストボックスがDestroyWindowを呼び出すスレッドに属しているか確認する。

どういうこと?コントロールを生成したスレッドじゃないと消せないってことなの?
689デフォルトの名無しさん:2010/01/19(火) 21:54:05
別のスレッドで作成したウィンドウを DestroyWindow 関数で破棄することはできません。
690デフォルトの名無しさん:2010/01/20(水) 09:09:42
ウィンドウのサイズ変更で、
縮小できるサイズを制限する方法教えてください
691デフォルトの名無しさん:2010/01/20(水) 09:45:30
GETMINMAXINFO
692デフォルトの名無しさん:2010/01/20(水) 20:01:14
CreateWindow関数をでテキストボックスを作成し
SetWindowTextでボックスに文字を入れたいのですが
ボックス内をクリックしないとSetWindowTextで入れた文字が画面に描画されません
InvalidateRect関数で再描画をしてみたのですがやはり反映されないようです・・・
どのようにすれば、テキストボックス内に文字をすぐ描画することができますか?
693デフォルトの名無しさん:2010/01/20(水) 21:14:49
>>692
SetWindowTextだけで反映するよ

static HWND hEdit;//or グローバルでHWND hEdit;
・・・
hEdit = CreateWindow... 
・・・
SetWindowText(hEdit,".....");
確認してみて。
694デフォルトの名無しさん:2010/01/20(水) 21:38:30
>>693
ちょっとやってみます。
ありがとうございます。
695デフォルトの名無しさん:2010/01/21(木) 22:49:21
キーボードで左右上下に何かを移動させるようなゲームを作りたいんだけど
キー入力がある度に背景のマップも再描画しないとならないの?
696デフォルトの名無しさん:2010/01/21(木) 22:50:01
無効じゃない領域は再描画しなくていいよ
697デフォルトの名無しさん:2010/01/21(木) 23:05:35
スクロールするなら移動して背景について新たに表示が必要になった部分だけ描画する
698デフォルトの名無しさん:2010/01/21(木) 23:27:13
IMEパッドみたいにマウスで文字を書くプログラムを作りたいんだけど
MouseMoveと何を使えばいいですか?
マウスで直線を描くプログラムならできるのですが・・・
699デフォルトの名無しさん:2010/01/21(木) 23:31:45
>>698
直線で曲線を近似すればいいと思うよ。
700デフォルトの名無しさん:2010/01/21(木) 23:54:23
>>699
マウスポインタの始点と終点をLineTo関数で繋ぐことしかできないんで・・・
どうすれば曲線の近似をかけますか?
701デフォルトの名無しさん:2010/01/22(金) 00:04:42
>>700
俺とて素人だから大きなことは言えないが
たとえば0.1秒ごとに点を取ってつなぐとか。
702デフォルトの名無しさん:2010/01/22(金) 00:06:54
試しにさぁ
MouseMoveが来るたびにx,yにSetPixelしてごらんよ

点が集まれば線になることは分かるだろ
点をでかくするのもいいだろう
703デフォルトの名無しさん:2010/01/22(金) 00:11:29
本に書いてあった方法だが、>>702のようにすると飛び飛びの点々になるだけだから、
MouseMoveでLineToを呼べばちゃんと繋がるとのこと
704デフォルトの名無しさん:2010/01/22(金) 00:12:00
GDI+のGraphics::DrawCurveならスプラインが描画できるな。
705698:2010/01/22(金) 00:45:09
timer使ったりしてるんですけどなかなかうまくいきません・・・
けど、いろいろ試そうと思います。
みなさん、ありがとうございます。
706デフォルトの名無しさん:2010/01/22(金) 01:43:50
case WM_TIMER
pt.x=LOWORD(lParam);
pt.y=HIWORD(lParam);

ってできないんだっけ?
707698:2010/01/22(金) 02:42:09
あ、linetoを2回使ったらできました!
皆さんのおかげです。
ありがとうございました。
708デフォルトの名無しさん:2010/01/22(金) 03:19:24
マウスで曲線描く場合
一般的には始点制御点終点の3点からベジエ曲線を描くと比較的簡単
http://ja.wikipedia.org/wiki/%E3%83%99%E3%82%B8%E3%82%A7%E6%9B%B2%E7%B7%9A
709デフォルトの名無しさん:2010/01/22(金) 03:45:56
>>706
LPARAMは常にマウス座標が入ってんのか
面白いw

710デフォルトの名無しさん:2010/01/22(金) 19:04:37
GetMessagePosとかなんとか
711デフォルトの名無しさん:2010/01/22(金) 21:52:11
TRUEって打とうと思ったのにTERUってなっててワロタんですがどうしたらいいですか?
712デフォルトの名無しさん:2010/01/22(金) 21:58:34
#define TERU TRUE
713デフォルトの名無しさん:2010/01/23(土) 01:02:57
座標xが0〜10yが0〜10
の範囲に線が引かれているかどうか確認するプログラムを作りたいのですが
どうすればいいか思いつきません、誰か知恵を貸してください
714デフォルトの名無しさん:2010/01/23(土) 01:17:54
お前センス無いからもう諦めた方がいい
715デフォルトの名無しさん:2010/01/23(土) 01:37:44
そこをなんとか、頼みます
716デフォルトの名無しさん:2010/01/23(土) 02:06:32
>>715
一度その線を描き
GetPixelの類で(0,0)〜(10,10)までの座標の点色を1個1個確かめるという
バカでもわかる方法があるけど
まともなレスを求めるなら
線にも色々あるのでどんな線なのか
0〜10までの刻み幅はどの程度なのか
端数の処理方法はどうなってるのか
このあたりは最低限欲しいところ。
717デフォルトの名無しさん:2010/01/23(土) 02:25:02
すみません
線はLineTo関数で書く普通の線です。
例えば、100*100ピクセルの正方形内にどんな形でもいいので線が引かれていたら1を出力
線が引かれていなかったら0を出力するみたにしたいです。
説明が下手ですみません。
718デフォルトの名無しさん:2010/01/23(土) 02:37:12
>>717
線数を数える変数でも作って、LineToで線を描くときにカウントするのは駄目なの?
正方形の範囲外にも線が引かれる可能性があるなら、線を描く時にマウスの座標で範囲チェックも実施するとか。
719デフォルトの名無しさん:2010/01/23(土) 02:51:04
>>717
線分&矩形のあたり判定なので
レーザーアリシューティングゲームのソースでも見なさい
速さや精度が必要ないなら
いったん描画してGetPixelで調べるのがいちばん簡単
720717:2010/01/23(土) 04:49:14
レスありがとうございます
GetPixcelでやって見ようと思うんですが
RGBの値をうまく取得できません。すべて255,255,255になってしまいます。
下のようにやったのですが、何がいけないのでしょうか?

COLORREF color;

hdc=BeginPaint(hWnd,&ps);
color=RGB(0,0,255);
SetPixel(hdc,10,10,color);
int r=GetRValue(GetPixel(hdc,10,0));
int g=GetGValue(GetPixel(hdc,10,0));
int b=GetBValue(GetPixel(hdc,10,0));
wsprintf(buff,TEXT("%d %d %d"),r,g,b);
MessageBox(NULL,LPWSTR(buff),NULL,MB_OK);
721デフォルトの名無しさん:2010/01/23(土) 05:14:33
>>720
10,10 に 0,0,255をセットしつつも
10,0の座標を見てる
722デフォルトの名無しさん:2010/01/23(土) 07:02:03
GetPixelが遅いのは.NET通したときだけで、API叩く分には速いの?
723デフォルトの名無しさん:2010/01/23(土) 07:13:37
遅い。
一端DIBに転送してからシステムメモリ上で確認した方がいい。
724デフォルトの名無しさん:2010/01/23(土) 10:01:16
出る質問全てが中学生クラスの質問レベルだったり単純な数字のミスだったりで萎える
小学生か?
725デフォルトの名無しさん:2010/01/23(土) 10:14:37
>>7211
すみません、ありがとうございます

>>724
すみません。。
726デフォルトの名無しさん:2010/01/23(土) 10:15:29
最近の小学生は中学生クラスの質問をするのか。
ゆとり教育を止めて正解だったようだな。
727デフォルトの名無しさん:2010/01/23(土) 10:18:01
すまないと思うなら1日は自分で悩めよ低脳
728デフォルトの名無しさん:2010/01/23(土) 10:38:26
SHAutoCompleteを使わずにコンボボックスで入力補完を行う方法を教えてください。
729デフォルトの名無しさん:2010/01/23(土) 10:52:11
>>728
CLSID_AutoCompleteで作ったAutoCompleteオブジェクトをどうこうする。
詳細は以下を参照。
User Interface - Windows Shell - Shell Developer's Guide
- Application Support - Using Autocomplete
730デフォルトの名無しさん:2010/01/23(土) 11:08:47
>>729
蟻がd
731デフォルトの名無しさん:2010/01/23(土) 12:31:17
テーマとかビジュアルスタイルを設定した、ボタン等のコントロールのイメージは、どのようにすれば取得できますか。
732デフォルトの名無しさん:2010/01/23(土) 12:32:35
レジストリの中で、Explorerのコンテキストメニューを作り出すための
ファイルの「新規作成」メニュー用のキーとその扱い方について教えて
ください、これの言語対応について。

WindowsXpまでは、この「新規作成」されるファイルのファイル名は日本語
バージョンのOSでは確かに日本語の名称になっていました。
たとえば、'.rtf' の場合、rtffile の「新規リッチテキストドキュメント」
でした。

ところが、Vistaですとこれが「Rich Text Document」といった英語名になっていて、
それでもExplorerではメニューは日本語の名称で現れ、かつ新規作成もされていました。
これはWin32APIで日本語に変換できるものか、それともどこかに言語別の対応データが
レジストリにあるのでしょうか?
733デフォルトの名無しさん:2010/01/23(土) 13:50:48
>>732
実データは実行ファイルやDLLの文字列リソースに入っていることが多いな。
レジストリにはそのリソースへの参照文字列が入っている。
FriendlyTypeNameとか、ShellNewのItemNameとか。
拡張子に関連付けられた名前なら、AssocQueryStringで取れた気がする。

これ以上は、世界のどこかにいる関連付けマイスターにでも訊いてくれ。
歴史的経緯もあってか複雑怪奇過ぎて、俺も詳しくは知らん。
734デフォルトの名無しさん:2010/01/23(土) 14:19:36
>>732
成功した暁には、是非その操作を一つの関数にまとめ、貴方の謹作Win32APIとしてフリーに公開して下さると一同感激します。
735デフォルトの名無しさん:2010/01/23(土) 14:23:35
名前は
GetNewDocumentDefaultNameWhenNewDocumentOfRightClickContextMenuOfExplorer辺りでしょうか?
736732:2010/01/23(土) 14:47:39
>>733
>FriendlyTypeName, ShellNewのItemName, AssocQueryString など

なるほど!そういえばVistaにはこれらのキーがありますね、これらを
取得して調べてみます。ありがとうございました!!
737デフォルトの名無しさん:2010/01/23(土) 14:50:39
どこを見てるのかわからないけど、「@filename,resource」の形式なら、
SHLoadIndirectString() とかで取れるよね。
738デフォルトの名無しさん:2010/01/23(土) 14:57:41
>>734-735
過去ログ見れとか検索しろとかいうよりか
2ch仕様のWin32APIとしてまとめてDLLをどっかの
サイトにソースごと置いておいてくれると有り難いよ
な。確かに。
739デフォルトの名無しさん:2010/01/23(土) 16:00:56
GetPixelより早いの無いの?
740デフォルトの名無しさん:2010/01/23(土) 16:10:10
LONG WINAPI GetPixel2ch( HBITMAP hmembitmap,int x,int y)
C++用にはインポートされておらずマクロで定義されているので
早い。
741デフォルトの名無しさん:2010/01/23(土) 16:43:37
>>739
GetDIBits
742デフォルトの名無しさん:2010/01/23(土) 22:15:26
lineToの幅は何ピクセルか分かりますか?
743デフォルトの名無しさん:2010/01/23(土) 22:17:00
殺すぞ
744デフォルトの名無しさん:2010/01/23(土) 22:19:38
>>742
デバイスコンテキストのペンを取得してGetObjectしてペンのスタイルと幅を見る。
ヒントは出したから後は自分で考えろ。
745デフォルトの名無しさん:2010/01/23(土) 22:25:02
ヒントっていうかまんまだな
746デフォルトの名無しさん:2010/01/24(日) 02:42:52
おかげさまでキラーアプリが出来上がりました。
明日、特許申請に行こうと思います
747デフォルトの名無しさん:2010/01/24(日) 05:52:45
ノートPCに、USBキーボード指して使ってるんですが
USBキーボードのキーを押しっぱなしにしていても
ノートPCのキーボードが押されてないと判断するのか
WM_KEYDOWNの直後に同じキーのWM_KEYUPが発生してしまうのですが。

アプリで標準の入力とみなすキーボードの選択って
どうやるのか教えて頂ける方いましたら宜しくお願いします。
748デフォルトの名無しさん:2010/01/24(日) 05:55:12
WM_KEYDOWN
WM_KEYUP
WM_KEYUP
WM_KEYUP
WM_KEYUP

っていう意味ならオートリピートしてるだけじゃないの?
749デフォルトの名無しさん:2010/01/24(日) 06:15:02
ノートPCに直接ついてるキーボードでAキー押しっぱなしにしても
KEYUPは来ないんですが、USBキーボードでAキー押しっぱなしにすると
押しっぱなしにしてるのにKEYUPが来てしまうんです。

↓のような感じです。
if(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)){

 if(!GetMessage(&msg,NULL,0,0)){
  break;
 }

 if(msg.message == WM_KEYUP)
 {
  break; ←USBキーボードだとキー押下だけで、引っかかる。
 }
750デフォルトの名無しさん:2010/01/24(日) 06:20:35
>>748
すいません見落としました。
調べてみます。有難うございました。
751747:2010/01/24(日) 13:32:40
たびたびすみません。
PCのキーボード長押しの後、離すと
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は1
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は1
...
WM_KEYUP

となり、自分が想像してるオートリピートの処理となるのですが
USBキーボードだと長押しだけで
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYUP
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYUP
WM_KEYDOWN  このとき"lParam30ビット直前のキー状態" は0
WM_KEYUP
...繰り返す

となるようなのですが、
直前のキー状態が0になるので
OSのキーリピートでなく、自動連打?のようなものが働いているのですが
これはキーボードについてるオートリピート機能と
OSのキーリピートは異なるのでしょうか。
これだけをアプリから無効化する手段は何か無いでしょうか。
752デフォルトの名無しさん:2010/01/24(日) 13:47:05
自動連打って何よ。
ゲームの連射機能みたいなもん?
753747:2010/01/24(日) 14:00:51
キーボードの説明書とやらを見てもリピートみは触れてないし
キーボードのプロパティで、速度を、一番長く遅くしても短く速くしても
似たタイミングで↑のようなことになるんだもの。
きっと下らない原因なんでしょうが。
押下中にKEYUPが起こってもらうわけには絶対いかないので
脳内でこれを自動連打と名付けて対処方法考え中なだけです。
754デフォルトの名無しさん:2010/01/24(日) 14:16:50
Bingってみると、チャタリングによる不良とかPS/2->USB変換機絡みで
そういう事が起きることもあるみたいだな。
USBキーボード側が腐ってるって事で良いんじゃね?
755747:2010/01/24(日) 15:05:15
>>754
有難うございます。

手動ではありえないくらい短い時間で連続してKEYUP来たら
それは無視する、とかでもう少し粘ってみます。
756デフォルトの名無しさん:2010/01/24(日) 15:44:06
Viewを管理するクラスを作っているのですが
フォントってウィンドウごとに設定されるのでしょうか?

757デフォルトの名無しさん:2010/01/24(日) 16:03:26
USBキーボードを違うのに変えても結果はおなじ?
758デフォルトの名無しさん:2010/01/24(日) 16:20:30
キーボードのドライバがなんかやってるんじゃないの?
759デフォルトの名無しさん:2010/01/24(日) 16:27:54
ドライバじゃいと予想してみた。初心者がつくった怪しげな常駐ソフトとか。
760デフォルトの名無しさん:2010/01/24(日) 17:26:29
USBキーボードだとそんなことあるのか。
うちでも実験してみるかな?
761デフォルトの名無しさん:2010/01/24(日) 19:20:01
>>756
CS_OWNDCでウィンドウ毎にDCを持たせればそういう事も出来るが、
そうでない場合は設定とかは無い。
WM_GET/SETFONTも実装側で対応しないと何の効果も無かったはずだし。
762747:2010/01/24(日) 20:12:57
>>757
見直したところ、 ノートPCに付けてたのは、PS2 キーボードを
USB PS2変換ケーブル「Arvel AUO1PS」につないで、 USBに指して使ってました。

別にUSBキーボードと、別のPS2キーボード、
WindowsXPマシン、WindowsVistaマシン
が丁度あったのでテストしてみました。

開発環境(Windows Vista)
+USBキーボード = 未発生。
+PS2キーボードA + 変換ケーブル = 発生。
+PS2キーボードB + 変換ケーブル = 発生。

WindowsXP マシン
+USBキーボード = 未発生。
+PS2キーボードA + 変換ケーブル = 発生。
+PS2キーボードB + 変換ケーブル = 発生。

Windows Vista マシン
+USBキーボード = 未発生。
+PS2キーボードA + 変換ケーブル = 発生。
+PS2キーボードB + 変換ケーブル = 発生。
763747:2010/01/24(日) 20:15:10
>>754

>>PS/2->USB変換機絡みで そういう事が起きることもあるみたい

自分はソースを見つけられなかったので
確証無く、単に自分の変換ケーブルが壊れているだけかもですが、
自分で勝手に作ってるソフトなので、これを信じ、
対処の処理を追加したいと思います。
的確な、ご指摘有難うございました。
764デフォルトの名無しさん:2010/01/25(月) 04:01:24
二次元配列の中身をメッセージボックスで並べて表示したいのですがどうすればいいですか?
765デフォルトの名無しさん:2010/01/25(月) 04:06:02
どうすればって…空白と\n(改行)で繋いで表示するとかしたらいいんじゃないでしょうか
766デフォルトの名無しさん:2010/01/25(月) 10:39:16
可変幅フォントでカラムがずれるという事じゃないかな。
MessageBoxで揃える方法があるなら俺も知りたい。
767デフォルトの名無しさん:2010/01/25(月) 12:07:13
>>766
::MessageBox()のAPIフックして固定幅フォントをセットし直せばよいのではなかろうか
768デフォルトの名無しさん:2010/01/25(月) 12:38:07
MessageBoxをCreateWindowしたいってことじゃないの?
769デフォルトの名無しさん:2010/01/25(月) 13:52:47
そこまでやるならダイアログ作るんじゃないかw
770デフォルトの名無しさん:2010/01/25(月) 14:17:11
メッセージボックスを一度に複数表示したいということかもしれない
771デフォルトの名無しさん:2010/01/25(月) 15:03:15
結局よく分からないな…
772デフォルトの名無しさん:2010/01/25(月) 16:32:29
CreateStatusWindowで作るステータスバーに右から左に流れるメッセージを
表示するにはどうすればいい?
773デフォルトの名無しさん:2010/01/25(月) 16:41:35
オーナードロー。
774デフォルトの名無しさん:2010/01/25(月) 16:41:53
タイマーか何かで一文字ずつずらして表示すればいいんでは
1回目ABCDE
2回目BCDE
3回目CDE
.
.
6回目
7回目    A
775デフォルトの名無しさん:2010/01/25(月) 16:48:50
>>774
そういう方向で実装するしかないんですか・・・めんどくさいな
776デフォルトの名無しさん:2010/01/25(月) 17:00:20
ダイアログのクライアント領域にエディット・ボックスを縦に並べ、
最上部のウィンドウを開け閉めしてダイアログの高さを変更しようと
してますが、うまくいきません。

┌[ダイアログ]──────────┐
│┌─────────────┐│
││       Edit Box1       ││
││                   ││
│└─────────────┘│
│┌─────────────┐│
││       Edit Box2       ││
││                   ││
│└─────────────┘│
│┌─────────────┐│
││       Edit Box3       ││
││                   ││
│└─────────────┘│
└───────────────┘

  ShowWindow(1,SW_HIDE);
  MoveWindow(2);
  MoveWindow(3);
  MoveWindow(ダイアログ);

では、ダイアログ・ウィンドウ内が真っ白になり、マウスでサイズ変更すると
1が消えているだけです。

こういう動作は、どんな手順ならよいのでしょ〜か?
777デフォルトの名無しさん:2010/01/25(月) 17:19:03
ちゃんとRepaintフラグ送ってんですか?
778デフォルトの名無しさん:2010/01/25(月) 17:21:35
BeginDeferWindowPos
779デフォルトの名無しさん:2010/01/25(月) 17:38:25
>>775
せいぜい1時間くらいだよ
一回書けば使いまわし出来るだろ
780デフォルトの名無しさん:2010/01/25(月) 17:40:19
では一時間後に >>779 がうpしてくれるのを楽しみに待つとしよう
781デフォルトの名無しさん:2010/01/25(月) 18:13:06
……。
782デフォルトの名無しさん:2010/01/25(月) 18:36:00
wktk
783デフォルトの名無しさん:2010/01/25(月) 19:47:02
779ではないが。なんか書けたぞ。通るかも解らんが(笑)

static int nNowPos = 0; static DWORD dwLastTime = 0;
DWORD dwWork; char bufWork[256]; char bufHyouziString[256];

strcpy(bufWork,"ABCDEが流れると嬉しいな。 ");

//前回より1秒経過してたら。更新
dwWork = timeGetTime();
if((dwLastTime + 1000) < dwWork){
//最後に更新した時間を更新
dwLastTime = dwWork;
//今の文字が全角なら、次に進めるカウントは+2
if(bufWork[nNowPos] & 0x80 == 1){
nNowPos +=2;
}
else{
nNowPos ++;
}

//最後まできてたらまた最初
nNowPos = nNowPos % strlen(bufWork);
}
//進んだアドレスを先頭にして、文字列コピー
strcpy(bufHyouziString,bufWork[nNowPos]);

//ここまでで、bufHyouziString に来るんではないかね多分・・・
784デフォルトの名無しさん:2010/01/25(月) 19:49:17
いろいろ間違えてるな。0x80 との比較結果は != 0だった。
まぁどうでもよいか。
785デフォルトの名無しさん:2010/01/26(火) 01:25:17
とりあえず出来た
もうすぐうp
786デフォルトの名無しさん:2010/01/26(火) 02:02:44
おれなら
char orig[]="ABCDEが流れると嬉しいな。 ";
なら
char tmpbase[]="\t\tABCDEが流れると嬉しいな。 ______________________";//_は半角スペースでステータスバーが埋まるだけの数
を用意して
定期的にtmpworkからtmpbaseをコピーして適切な位置に\0挿入する
787デフォルトの名無しさん:2010/01/26(火) 11:42:26
ステータスバーが埋まる文字数。が常に固定であるかの
考慮忘れて発現してた。
GUIで食ってる人はこういう時の定石とかあるのかな。
788デフォルトの名無しさん:2010/01/26(火) 12:28:58
そういうUIは嫌われるから作らないのが定石。
789デフォルトの名無しさん:2010/01/26(火) 12:58:19
ステータスバーに文字が流れるのって昔見たなー、と思ったが
あれはブラウザにjavascriptで書いてたんだったか
790デフォルトの名無しさん:2010/01/26(火) 13:07:01
ずーーーっと見てないと何が書いてあるのかわからないのは時間の無駄
791デフォルトの名無しさん:2010/01/26(火) 14:44:10
SB_SETPARTS にも対応してくだされ
792デフォルトの名無しさん:2010/01/26(火) 18:00:16
>>787
こんなクソUI作らないのが定石です
793デフォルトの名無しさん:2010/01/26(火) 18:15:08
文字流す用のウィンドウ作ってそれをステータスバーの上に乗せればよくね
794デフォルトの名無しさん:2010/01/26(火) 19:59:26
作りたいもの作ればいいのよ
やる気だけが自分を向上させてくれる
795デフォルトの名無しさん:2010/01/26(火) 21:33:34
同意
796デフォルトの名無しさん:2010/01/26(火) 21:34:44
797デフォルトの名無しさん:2010/01/26(火) 21:45:42
文字列が与えられたときにフォント(等幅・プロポーショナルとも)考慮して
その文字列の画面上での表示幅を教えてくれるような関数ってWin32APIになかったっけ?
798デフォルトの名無しさん:2010/01/26(火) 21:53:14
GetTextExtentPoint32
799デフォルトの名無しさん:2010/01/26(火) 22:11:25
おおきに
800デフォルトの名無しさん:2010/01/26(火) 22:16:25
>>791
SB_GETPARTS でパート数と座標が判るので書きたい場所に DrawText 汁
この方法だと GetTextExtentPoint32 使わなくても良くなると思う
801デフォルトの名無しさん:2010/01/27(水) 07:03:47
ブラウザと同じように
ツールバーの右に何かの進行状況を
表すゲージを表示させるにはどうしたらいいの?
802デフォルトの名無しさん:2010/01/27(水) 07:05:38
ブラウザと同じようにやれば良い
803デフォルトの名無しさん:2010/01/27(水) 08:06:24
ブラウザはどうやってるの?
804デフォルトの名無しさん:2010/01/27(水) 08:23:41
そのブラウザ使ってググレカス
805デフォルトの名無しさん:2010/01/27(水) 15:19:58
ブラウザのツールバーの右に進行状況を表すゲージってでたっけ?
ステータスバーの右のこと?
806デフォルトの名無しさん:2010/01/27(水) 16:56:00
脳内変換しとけよ
807デフォルトの名無しさん:2010/01/27(水) 16:57:57
はいや
808デフォルトの名無しさん:2010/01/27(水) 17:07:40
どのブラウザだろう
809デフォルトの名無しさん:2010/01/27(水) 18:08:19
うちのブラウザです
810デフォルトの名無しさん:2010/01/27(水) 19:33:04
うちのブラウジャーですごめんなさい
811デフォルトの名無しさん:2010/01/27(水) 20:52:20
うちの妹のです
812デフォルトの名無しさん:2010/01/28(木) 00:35:58
そのブラウザい
813デフォルトの名無しさん:2010/01/28(木) 08:13:12
ぶらぶら
814デフォルトの名無しさん:2010/01/28(木) 12:23:14
Rich じゃない Edit control で、文字列の特定個所をハイライト表示させる
ことはできるのでしょうか??
815デフォルトの名無しさん:2010/01/28(木) 13:42:53
816814:2010/01/28(木) 14:12:16
EM_POSFROMCHAR で取得(すればよいのか?)した領域の

・バックカラーを変更するのは、どうすればよいでしょうか? (・д・)
817デフォルトの名無しさん:2010/01/28(木) 14:23:28
当該領域を選択すればよいと思われますが
818デフォルトの名無しさん:2010/01/28(木) 14:36:29
ということは、領域を選択する前に

(1)SetBkColor(黄色)
(2)領域を選択
(3)SetBkColor(オリジナル色)

とすれば良いのですかね?
819デフォルトの名無しさん:2010/01/28(木) 14:43:26
黄色って何? どこから出てきた?
820デフォルトの名無しさん:2010/01/28(木) 14:46:26
つまり、選択した領域のバックグランドカラーを任意に変えたいのです。
821デフォルトの名無しさん:2010/01/28(木) 14:46:32
ハイライト表示 が いつのまにか指定色背景のブロック塗り にカワットル
822デフォルトの名無しさん:2010/01/28(木) 14:59:19
素直に Rich Edit おすすめ
823デフォルトの名無しさん:2010/01/29(金) 03:51:35
WM_PAINTでBitBltしてビットマップ表示してるとき
そのビットマップの上でボタンとか置いてると
再描画したときにボタン消えるのはどうすればいいの?

多分上書きされて見えなくなってるんだと思うんだけど
824デフォルトの名無しさん:2010/01/29(金) 03:57:01
クリッピング
825デフォルトの名無しさん:2010/01/29(金) 08:28:47
ボタンを再描画させる。
826デフォルトの名無しさん:2010/01/29(金) 10:52:30
WS_CLIPCHILDREN
827デフォルトの名無しさん:2010/01/29(金) 18:08:34
32 bit プロセス内で DuplicateHandle(..., process_handle_of_64bit_process, &target_handle, ...) して
64 bit プロセスに target_handle をプロセス間通信で渡したんだけど、そのまま使って問題無い?

16bit → 32bit: WOWHandle32 で変換しなさい。
32bit → 64bit: WOWHandle64 …らしきものは見つけられなかった。

実は HANDLE は下位 32 bit に収まっていて、上位 bit を 0 で埋めればおkとか?
828デフォルトの名無しさん:2010/01/29(金) 20:06:04
32bitのハンドルを64bitのプロセスでDuplicateHandleすれば、
64bitプロセスで使えるハンドルが得られる、ような気がする。
あまり具体的に書かれていないので、実際に試さないと分からないが。
829827:2010/01/29(金) 21:22:49
> 32bitのハンドルを64bitのプロセスでDuplicateHandleすれば、
> 64bitプロセスで使えるハンドルが得られる、ような気がする。
つまりこうですか?

--code_for_x64.cpp--
DWORD handle_32; // sizeof(DWORD) == 4
HANDLE handle_64; // sizeof(HANDLE) == 8
ReadFile(pipe等, &handle_32, sizeof(DWORD), ...);
DuplicateHandle(static_cast<HANDLE>(handle_32), process_handle_of_32bit_process, &handle_64, GetCurrentProcess(), ...);

> あまり具体的に書かれていないので、実際に試さないと分からないが。
実際のところ、HANDLE は 32bit で表現できない値にはならなそうだけど…。

やはり具体的な記述が欲しいですね。
MSDN に x86 x64 共存 FAQ とかないかな。
830デフォルトの名無しさん:2010/01/29(金) 21:52:09
ファイルの更新時間を変更したくてSetFileTime関数を使おうと考えています。
ただ、この関数を使うためにはCreateFileでGENERIC_WRITEを使ってHANDLEを
取得する必要があります。

問題は、ReadOnlyのファイルの更新時間を変える場合に、GENERIC_WRITEを使ってハンドルが取得できない点です。
ReadOnlyなファイルの更新時間はcygwinのtouchで変更できるのでなにか方法はあると思うのですがWin32APIを使う方法が分かりません。

どーしたらいいの?
831デフォルトの名無しさん:2010/01/29(金) 22:00:21
attribe -r
832デフォルトの名無しさん:2010/01/29(金) 22:07:18
readonlyを一旦外せばいいのでは?
833デフォルトの名無しさん:2010/01/29(金) 22:19:54
>>829
http://msdn.microsoft.com/en-us/library/ms724251(VS.85).aspx
> DuplicateHandle can be used to duplicate a handle between
> a 32-bit process and a 64-bit process. The resulting handle
> is appropriately sized to work in the target process.
834827:2010/01/29(金) 23:31:42
>>833
おお、ありがとう!
普通に書いてありましたね。
835デフォルトの名無しさん:2010/01/30(土) 03:44:16
>>823
BitBltの前にボタンの位置とサイズでExcludeClipRectすると少しだけよくなることなら知ってる
836デフォルトの名無しさん:2010/01/30(土) 06:56:21
>>823
ビットマップの上にボタンを置かなければよい。
仕様が間違っている。
837デフォルトの名無しさん:2010/01/30(土) 07:02:22
>>836
お前のアホさがとても残念だ
838デフォルトの名無しさん:2010/01/30(土) 09:32:30
WS_CLIPCHILDRENがあるじゃない
839デフォルトの名無しさん:2010/01/30(土) 10:58:56
GetPrivateProfileString
でバッファサイズが足りないと戻り値がnSize-1になるみたいなんですが
切り捨てられたか、文字数がピッタリ一致してただけなのかを区別することはできますか?
840デフォルトの名無しさん:2010/01/30(土) 11:25:45
バッファサイズを1文字余分に取る
841デフォルトの名無しさん:2010/01/30(土) 12:04:29
HWND h;
SHELLEXECUTEINFO sei = { 0 };
sei.cbSize = 60;
sei.nShow = SW_SHOW;
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.lpFile = "notepad.exe";
ShellExecuteEx(&sei);
Sleep(3000);
h = FindWindowEx(sei.hProcess, NULL, TEXT("Edit"), NULL);
SendMessage(h, WM_SETTEXT, 0, (LPARAM)("test"));

ShellExecuteExでメモ帳を起動させて3秒後に"test"を
エディットに表示させたいんだけど
FindWindowExがNULLを返す模様。どうしたらいいの?
842デフォルトの名無しさん:2010/01/30(土) 12:29:07
>>840
あなたは天才ですね!
ありがとうございました!
843デフォルトの名無しさん:2010/01/30(土) 14:18:08
>>841
FindWindowExにメモ帳の「ウィンドウ」ハンドルを渡す。
プロセスハンドル渡しても無意味でんがな。
844デフォルトの名無しさん:2010/01/30(土) 19:14:29
FindWindowExってウィンドウ見つけるんじゃないの?
初めからあるものをどうやって見つけるんだ
845デフォルトの名無しさん:2010/01/30(土) 19:16:37
>>844
お前バカじゃないの?MSDN読んでるか?



HWND FindWindowEx(
HWND hwndParent, // 親ウィンドウのハンドル
HWND hwndChildAfter, // 子ウィンドウのハンドル
LPCTSTR lpszClass, // クラス名
LPCTSTR lpszWindow // ウィンドウ名
);

パラメータ

hwndParent
検索する子ウィンドウの親ウィンドウのハンドルを指定します。
NULL を指定すると、デスクトップウィンドウが親ウインドウとして使われ、デスクトップの子ウィンドウが探されます。
846デフォルトの名無しさん:2010/01/30(土) 19:20:09
プロセスハンドルが分かるのだから

プロセスを作成する

ウィンドウを列挙する

ウィンドウを作成したプロセスIDを取得する

プロセスハンドルとプロセスIDの紐付け

( ^ν^ )
847デフォルトの名無しさん:2010/01/30(土) 19:25:52
顔文字キモイ。
848デフォルトの名無しさん:2010/01/30(土) 20:02:46
νは口なのか鼻なのかはっきりしろ
849デフォルトの名無しさん:2010/01/30(土) 20:14:52
EnumChildWindows の戻り値の説明って間違ってないですか?
850デフォルトの名無しさん:2010/01/30(土) 21:47:30
Win7だと、EnumWindowsと同じような返し方をして来るな。
OSのバージョンによっては妙な値が返してくるやつもあるのか?
851デフォルトの名無しさん:2010/01/30(土) 23:20:52
Vistaでした
852デフォルトの名無しさん:2010/01/30(土) 23:42:02
メインウィンドウのダイアログから CreateDialogParam() で、検索 popup ダイアログを
開いたのですが、キー・バインドなどが働きません。MSDNを見ると、

”To support keyboard navigation and other dialog box functionality,
the message loop for THE DIALOG BOX MUST CALL THE IsDialogMessage() FUNCTION.”

と、あります。キー・バインドが利かないのも、これが原因と思われますが、
メインウィンドウのメッセージ・ループ以外で IsDialogMessage() を実装しろ
という意味なのでしょうか??? ここがよく分かりません。

IsDialogMessage() をどこで、どうやって実装すればよいのか教えてください。
853デフォルトの名無しさん:2010/01/30(土) 23:56:02
FindWindowEx()で、検索対象のウィンドウに、複数のEDITが有り、
検索クラス名がEDITだった場合、一番最初のEDITのハンドルしか取れないけど、
2つめ3つめのEDITのハンドルを取得するにはどうしたらいいのでしょう?
854デフォルトの名無しさん:2010/01/30(土) 23:57:46
hwndChildAfter
子ウィンドウのハンドルを指定します。Z オーダーでこのウィンドウの次にくる子ウィンドウから検索が開始されます。
855デフォルトの名無しさん:2010/01/31(日) 00:05:09
LineTo君に続いて
FindWindowEx君も死ねよ
二度と来るな
856デフォルトの名無しさん:2010/01/31(日) 00:11:18
落ちつけよ。
857デフォルトの名無しさん:2010/01/31(日) 00:13:41
おっかないインターネッツですね
858デフォルトの名無しさん:2010/01/31(日) 05:13:07
>>852
そこは、書いてあるとおりダイアログを処理するメッセージループで。
普通メッセージループなんて1つしかないだろうから、そこでいい。
859デフォルトの名無しさん:2010/01/31(日) 17:43:52
メッセージボックスにdoubleの値を入れたいのですが
wsprintf(&buff[0],TEXT("%f"),Outl[0]);
MessageBox(NULL,buff,TEXT("出力の内容"),MB_OK);
ではできませんでした、どうすればうまく表示できますか?
860デフォルトの名無しさん:2010/01/31(日) 17:56:29
861デフォルトの名無しさん:2010/01/31(日) 17:59:15
double非対応なんだよね確か使えねえ
862デフォルトの名無しさん:2010/01/31(日) 18:02:00
>>860-861
ありがとう
まじか、非対応なんか。。
863デフォルトの名無しさん:2010/01/31(日) 18:05:21
_stprintf() を使おう
864デフォルトの名無しさん:2010/01/31(日) 18:12:21
StringCchPrintf/StringCbPrintfなら%fも使えるよ。

wsprintfや_stprintf等はバッファオーバーランの危険性もあるから、
こっちを使った方が安全。
865デフォルトの名無しさん:2010/01/31(日) 18:19:52
_stprintf_s も安全だよ
866デフォルトの名無しさん:2010/01/31(日) 18:49:51
_sntprintf_sなら安全だよ
867デフォルトの名無しさん:2010/01/31(日) 19:02:35
GCCでも動くの?
868デフォルトの名無しさん:2010/01/31(日) 23:24:57
どの環境のGCC?
869デフォルトの名無しさん:2010/02/01(月) 00:20:30
wsprintf(&buff[0],TEXT("%lf"),Outl[0]);
MessageBox(NULL,buff,TEXT("出力の内容"),MB_OK);
870デフォルトの名無しさん:2010/02/01(月) 00:48:29
ヒント:MessageBox
871デフォルトの名無しさん:2010/02/01(月) 08:07:55
CreateThreadで作ったスレッド内でCreateDialogするとスリーズする?


例)

TheradProc(){
CreateDialog() ・・・・・×アプリフリーズ
}

main(){
CreateDialog() ・・・・・○正常に動作
CreateTherad( ThreadProc )
}
872デフォルトの名無しさん:2010/02/01(月) 10:41:32
作ったスレッド内でメッセージループ回してないとか
873デフォルトの名無しさん:2010/02/02(火) 04:16:09
プログレスバーを表示する方法を教えてください。
CreateWindowで作成したノーマルウィンドウに貼り付けたいのです。
874デフォルトの名無しさん:2010/02/02(火) 04:23:43
CreateWindowExに"msctls_progress32"あげればプログレスバーになりますよ
875デフォルトの名無しさん:2010/02/02(火) 04:31:59
サンクス、今から試してみる
876871:2010/02/02(火) 04:51:48
>>872
ありがとう。
各スレッドごとにメッセージキューを持ってるんですね。
877デフォルトの名無しさん:2010/02/02(火) 10:53:08
拡張シェルオブジェクト(IContextMenu)でコンテキストメニューを作成しています。
右クリック時の処理です。

regsvr32 でCOMコンポーネント登録後に、テストを行い。
regsvr32 /u でコンポーネントをシステムから解除した後に

Visual Studioで対象のdllを再ビルドした時に、以下のエラーが発生します
"LNK1168: ファイル Debug\XXXX.dll を開いて書き込むことができません。"

regsvr32 /u でコンポーネントの解除を行っているのに、どうしてdllが使用されているのでしょうか?
また、ビルドが正常に行えるために必要な、オペレーションがありましたら教えていただけないでしょうか?

よろしくお願いいたします。
878デフォルトの名無しさん:2010/02/02(火) 10:55:52
多分、explorerが掴んでるんでしょ。シェルオブジェクト開発は仮想マシンで行う。
879デフォルトの名無しさん:2010/02/02(火) 10:58:44
>>877
Dependency Walkerに読ませて終了させれば改善するかもしれず
毎回必要だけどね
880デフォルトの名無しさん:2010/02/02(火) 12:57:32
CStringArrayのシリアライズ化で、ファイル保存はできたのですが、
これを読み込んでCStringArrayに再格納できませんでした。どのようにすればいいのでしょうか?


//シリアライズ
CStringArray aBuf;

aBuf.Add( _T("aaa") );
aBuf.Add( _T("bbb") );
aBuf.Add( _T("ccc") );

CFile f;
BOOL bRet = f.Open( _T("hoge.txt"), CFile::modeCreate | CFile::modeWrite );
if( bRet == FALSE) {
return true;
}
// アーカイブを作成
CArchive ar( &f, CArchive::store );
TRY {
aBuf.Serialize( ar );
}
CATCH_ALL(e) {
ar.Close();
f.Close();
return 0;
}
881877 :2010/02/02(火) 13:03:17
>> 878 879
返信ありがとうございます。 仮想環境でテストしてみますm( _ _ )m
882デフォルトの名無しさん:2010/02/02(火) 13:05:05
883デフォルトの名無しさん:2010/02/02(火) 19:09:29
>>877
Windowsのシャットダウンダイアログで
Ctrl+Shift+Altを押しながらキャンセルを押す

どなたかこれの7でのやり方を教えてください><
884デフォルトの名無しさん:2010/02/02(火) 19:26:46
タスクバーのうち何もないとこをクリックまたはミ田+Dを押すなどし、Alt+F4を押す。
すると、シャットダウンダイアログをお目にかかれる。
885デフォルトの名無しさん:2010/02/02(火) 22:21:01
>>884
おぉ!できましたありがとうございますっ
886デフォルトの名無しさん:2010/02/03(水) 01:02:23
ウィンドウ内に描画した図形などをクリップボードにコピーして
wordなどに貼り付けできますか?
887デフォルトの名無しさん:2010/02/03(水) 01:25:27
yes you can
888デフォルトの名無しさん:2010/02/03(水) 09:38:12
独学で w32api ウィンドウ・プログラミングを始めましたが、多数のフラグや
定数・多用関数へのポインタなどを、1つの大きい(?)グローバル構造体に
保存するプログラミング・スタイルになってきました…。

一般的に、このようなスタイルで良いのでしょうか? おたずねします。

一般的に、このような
889デフォルトの名無しさん:2010/02/03(水) 09:43:58
なんの言語で書いてるかによると思うが。
でその言語を選択した理由にも。
890デフォルトの名無しさん:2010/02/03(水) 10:32:09
シングルトンモデルならそれでいい
891デフォルトの名無しさん:2010/02/03(水) 11:06:29
>>877
>>881
別に仮想環境使う必要ないよ。

http://msdn.microsoft.com/en-us/library/cc144064(VS.85).aspx
892デフォルトの名無しさん:2010/02/03(水) 11:11:33
>>891
仮想環境を使わないでも開発は出来る。
でも、使った方が効率的に開発できる。
893デフォルトの名無しさん:2010/02/03(水) 11:34:44
シングルトンってなんに使うんだろう
アプリケーションの設定ファイル操作とかに使うのかな
894デフォルトの名無しさん:2010/02/03(水) 11:48:21
独りぼっちの豚が!
895デフォルトの名無しさん:2010/02/03(水) 11:50:46
>>892
あら。ローカルでデバッグした方が効率的だと思うんだけど。
896デフォルトの名無しさん:2010/02/03(水) 11:54:09
シングルトンと言ったらスコッチだろう
897デフォルトの名無しさん:2010/02/03(水) 11:57:21
いや、コーンスープだろ。
898デフォルトの名無しさん:2010/02/03(水) 12:01:38
シングルトンの反義語はマルチトン?
899デフォルトの名無しさん:2010/02/03(水) 12:03:41
ワロタ
900デフォルトの名無しさん:2010/02/03(水) 12:15:19
花子さんか何かのトンカラトンだろ
901デフォルトの名無しさん:2010/02/03(水) 12:25:34
>>895
explorer巻き込んで落ちる事が絶対にない開発手法を持っているのか? キミは。
902デフォルトの名無しさん:2010/02/03(水) 12:45:46
仮想マシン環境は、一見3〜4世代前のOSインストール直後の
クリーンな理想開発環境を再現しているようでいて実は
決してそうではない件
だから必要あれば現行機のHDのBIOSを一時的に書き換えてまで古い
OSをインストールし、常時マシンに適当な負荷をかけた状態で
数世代前の低いスペックを再現して行うことが多いだろ
903デフォルトの名無しさん:2010/02/03(水) 13:07:32
〜〜〜件とかまだ言ってるやついたのか
904デフォルトの名無しさん:2010/02/03(水) 14:53:14
VMWareとかの仮想マシンは開発用には適してない
というか、その為に作られたものじゃなく古い
アプリで新しいOSに対応してないものを動作させる
もので、一部の開発用ツールを動かすと不具合が
起こることもあるんでやらんほうがいい
パーティションマネージャーとかGhost系のツール
でインストール直後の基準状態をイメージとして保存し
ブートディスクは定期的に復元てのが定石
905デフォルトの名無しさん:2010/02/03(水) 15:01:55
>一部の開発用ツールを動かすと不具合が
>起こることもあるんでやらんほうがいい

こういう話をするときは具体例を挙げないと意味がない。
906デフォルトの名無しさん:2010/02/03(水) 15:03:55
仮想環境も実機も、開発にどちらを使うかなんて、ケースバイケースでしかない。
どちらにするべきなんて断言する時点で、それこそお客が存在する開発には向いていない。
自分の趣味のプログラムをちまちま作るのが関の山。
907デフォルトの名無しさん:2010/02/03(水) 15:46:37
お客様のPC上の仮想環境の上にソフトウェアを
インストールすることは、その仮想環境をセットアップ
する作業の一部と見なすべきで開発とは言わないほうが
いい。良い意味でも悪い意味でも。
開発とは、少なからずその環境を破壊するリスクを
秘めたものを言う。
908デフォルトの名無しさん:2010/02/03(水) 16:03:16
>>905
デバドラレベルで動作するSoftIceとか
ハードウェア直接アクセス系とか枚挙に
暇が無いだろ。とぼけるなw
909デフォルトの名無しさん:2010/02/03(水) 16:04:34
何でいきなりこうずれるのかねw
910デフォルトの名無しさん:2010/02/03(水) 16:24:42
枚挙に暇が無いって割には範囲狭くね?
それ以外では使っても問題ないんだろ?

MVPの薫り
911デフォルトの名無しさん:2010/02/03(水) 17:02:06
あ”
912デフォルトの名無しさん:2010/02/03(水) 17:09:34
ハードウェアを破壊する心配が無いもの
は開発とは言わねだろ
913デフォルトの名無しさん:2010/02/03(水) 17:19:17
そういう用途にこそVM
914デフォルトの名無しさん:2010/02/03(水) 17:23:29
>>912
まあた芳しい意見だ
915デフォルトの名無しさん:2010/02/03(水) 17:33:11
つーかGUIだけで出来る筈だったFlash開発にも
結局Action Scriptみたいな高度なプログラミン
グ言語が必要だってことがわかってきたこのご時世に
開発=プログラミング言語利用
って発想は時代遅れかも

発達/構築/発展/研究/管理とか別の表現にし
たほうが誤解が少なくて済むかもな
916デフォルトの名無しさん:2010/02/03(水) 18:03:37
>>912
>ハードウェアを破壊する

初心者向けの言葉で「何やっても壊れないから」というのがあるけどなw
ハードウェア破壊できるプログラムは電源関連のドライバくらいだと思うぞ
あとは開発段階でデバッガの抜き差しによる機械的破壊かw
917デフォルトの名無しさん:2010/02/03(水) 18:19:20
>>916
マシニングセンタの安全装置の制御プログラム。
ドリルの稼働範囲の限界値を誤入力して、稼働できない範囲まで
稼働させて破壊したことあるぞ。
918デフォルトの名無しさん:2010/02/03(水) 18:25:17
ハードディスクは壊せるよ
919デフォルトの名無しさん:2010/02/03(水) 18:58:19
最初からこの操作をすれば壊れるってことがわかってる
場合はハードウェアをコントロールしてるから
といって開発と呼ぶのはちょっとな。
構築作業中のバグ(事故)だろ
まぁ開発でも何が起こるかまったくわからないという
ことはあんまし無いし、構築作業でも起こる事故の
原因が完全に予測できるというわけでもわけでもない
から、ハードウェアが絡むものは開発の要素があるって
ことでいいんでね?
ハードウェアが絡むことが少ないソフトウェア構築でも
クラッシュが起こる原因は殆どの場合予測不能で多くの場合
迷宮入り、コード書き直し対応だから開発のほうが精神衛生悪
くて苦しくて厳しいとは一概に言えないことも明記
920デフォルトの名無しさん:2010/02/03(水) 19:00:01
走査線掃引の周波数適当に設定してしまうとCRTも壊せるな
921デフォルトの名無しさん:2010/02/03(水) 19:11:17
Win32APIスレでデバイスドライバの開発云々を語り出す馬鹿っていったい何なんだろう?
DDKスレが目に入らないんだろうか?
922デフォルトの名無しさん:2010/02/03(水) 19:18:45
デバドラ開発でもかなりの段階までAPIの世話に
なるからな
923デフォルトの名無しさん:2010/02/03(水) 20:06:14
>>916
スマートカードは回復不可能な場合がある。
公的個人認証カードに違うPIN突っ込んで、何度も市役所にリセット
してもらいに行ったのは内緒だ。
924デフォルトの名無しさん:2010/02/03(水) 20:14:12
それは想定された動作だろよJK
925デフォルトの名無しさん:2010/02/03(水) 21:44:44
リセット可能なら全然破壊になっていないだろ。
926デフォルトの名無しさん:2010/02/03(水) 22:20:48
>>901
>>891はexplorerを極力巻き込まないための設定なんですけど w
927デフォルトの名無しさん:2010/02/03(水) 22:24:24
ことAPIを使った開発の場合
行き詰まったと思ったら、深く追求せずに
ささとお宮入りにして、コードを一から書き直した
ほうがうまくいく(レジストリとかバシバシ触る開発の
場合は、OSと開発環境も再インストール)
って先輩から聞いたことがあるけど、これって
信じていいですか?
928デフォルトの名無しさん:2010/02/03(水) 22:27:03
経験的に非同意
929デフォルトの名無しさん:2010/02/03(水) 22:30:05
何そのオカルト
930デフォルトの名無しさん:2010/02/03(水) 22:30:10
>>927
必要あればデバッガでKernel32.DLLの部分のコードも
追って原因を徹底的に追求する根気は必須だし
一度書いたコードは絶対に捨てないことは鉄則
931デフォルトの名無しさん:2010/02/03(水) 22:42:07
そんなレベルでデバッグが必要なのは
デバイスドライバ開発ぐらいだろw
932デフォルトの名無しさん:2010/02/03(水) 22:50:34
お宮入り。。。奉納するわけか
933デフォルトの名無しさん:2010/02/04(木) 00:15:59
>>927
そんなことしないで適当にその場しのぎのパッチを当てておい
て、クレームがついたら修正。
あとはOSやハードウェアで実装してくれるのを待って
臭い部分はそこを呼び出すように変更するだけ。
934デフォルトの名無しさん:2010/02/04(木) 00:18:18
両極端だなぁ。
935デフォルトの名無しさん:2010/02/04(木) 08:02:05
意味不なタイミングで改行してるバカは何なの?
936デフォルトの名無しさん:2010/02/04(木) 10:42:13
携帯から書いてるとか
937デフォルトの名無しさん:2010/02/04(木) 11:55:33
改行に意味があると信じる人も何なの?
938デフォルトの名無しさん:2010/02/04(木) 12:02:24

行に意
味はな
939デフォルトの名無しさん:2010/02/04(木) 12:04:05
改行は見やすい読みやすいようにするもんだろ
940デフォルトの名無しさん:2010/02/04(木) 12:05:58
改行に意味がなかったら縦読みできないじゃないか
941デフォルトの名無しさん:2010/02/04(木) 12:09:36

読み
出来な
ければ意
味がないと
いう人が居る
からだろうな。
942デフォルトの名無しさん:2010/02/04(木) 12:30:02
>>937
新聞社や出版社のひ
とは改行に意味があ
ると頑なに信じてる

943デフォルトの名無しさん:2010/02/04(木) 12:36:00
改行してたまたま成功したら
それはモットーとなりエッセ
イとなるわけだ
944デフォルトの名無しさん:2010/02/04(木) 12:48:02
改行意味無いとかどんだけプログラミング脳なんだよって話
945デフォルトの名無しさん:2010/02/04(木) 12:54:42
python舐めんな
946デフォルトの名無しさん:2010/02/04(木) 13:10:16
最近Win32APIの勉強を始めた初心者です.
質問ですがよろしいでしょうか?

プログラム側で監視して,
現在使用しているファイルの絶対パスを取得することは可能でしょうか?
ファイルとは例えば,パワーポイントで開いている"〜.pptx"のことを指します.

ウインドウハンドルからプロセスIDを取得して,ウインドウのタイトルやアプリケーションの絶対パスを取得できるところまでわかったのですが・・・
ファイルハンドルを取得しないとファイルの絶対パスが取得できないようで,行き詰ってしまいました.
現在使用しているファイルのファイルハンドルを取得する方法と他に解決策があれば併せて知りたいです.

よろしくお願いします.
947デフォルトの名無しさん:2010/02/04(木) 13:18:12
>>946
つ (旧)filemon
948デフォルトの名無しさん:2010/02/04(木) 14:16:07
NtQuerySystemInformation SystemHandleInformation NtQueryInformationFile
949デフォルトの名無しさん:2010/02/04(木) 14:20:28
やれ何かと言えば監視監視だね
初心者が考える所といえば
スパイでも始めるの?
950デフォルトの名無しさん:2010/02/04(木) 15:36:15
>>947
既存のものは使うことは考えておらず,自分で実装するつもりです.

>>948
ありがとうございます.調べてみます.

>>949
監視は行いますが,スパイは考えておりません.
951デフォルトの名無しさん:2010/02/04(木) 15:42:46
APIだって既存じゃないのかしら
952デフォルトの名無しさん:2010/02/04(木) 15:44:32
揚げ足取りばっかりやな
953デフォルトの名無しさん:2010/02/04(木) 15:46:35
取られるような揚げ足を上げるのが悪い。
954デフォルトの名無しさん:2010/02/04(木) 15:47:12
wmi
955デフォルトの名無しさん:2010/02/04(木) 15:48:19
FileMonを紹介されてソースを探そうともせず「既存のものは・・・」
ってのはどうなんだろね、まあがんばってねw
956デフォルトの名無しさん:2010/02/04(木) 15:50:40
どちらにせよ初心者に到達できるところじゃ無いから深く考えなくていいのよ君らは。
957デフォルトの名無しさん:2010/02/04(木) 15:59:08
ScrollWindowExって関数がいまいちよくわからないんですが
スクロールバーって、ScrollWindowExを使わなくても
nposを管理してnposの位置から表示する幅だけ表示ってやってれば
問題ないですよね?
958デフォルトの名無しさん:2010/02/04(木) 16:05:03
net files
959デフォルトの名無しさん:2010/02/04(木) 16:05:42
>>957
昔はPCも遅かったから、まず画面上の内容をそのまま移動してから
新しい部分だけ書いた方が動作が軽くて済んだ。
960デフォルトの名無しさん:2010/02/04(木) 16:31:47
>>955
そりゃあ"filemon"とだけ書かれてもソースが公開されているとは思わんだろ。
961デフォルトの名無しさん:2010/02/04(木) 16:58:37
filemonのライセンスは許可なくソースを再利用する事を禁止しているので
見ないほうが無難
962デフォルトの名無しさん:2010/02/04(木) 18:39:40
.net frameworkがインスコされているか調査するプログラム
誰かかいてくれませんか
なんか
http://visible.hp.infoseek.co.jp/prog/vctips/vc_01.html
をコピってやってみたんだけどうまくいかなくて
963デフォルトの名無しさん:2010/02/05(金) 00:28:18
ここはそういうスレじゃねえでがす

◆こんなソフトウェアつくってください〜Part14〜◆
http://pc12.2ch.net/test/read.cgi/software/1251624598/
964デフォルトの名無しさん:2010/02/05(金) 06:21:24
>>962
俺は前に検索でこんなの見つけて、
不要っぽい宣言とかは削って、実装した覚えがある。
一応、仕様通りの動作にはなったから満足してる。

ttp://support.microsoft.com/kb/914135/ja
965デフォルトの名無しさん:2010/02/05(金) 13:28:59
>>962
念のため言っとくが、.Netがインスコされてるかどうか調べて、されてなければメッセージを出して終了、
されていればそのまま続行、という.Netアプリは単体では作れないからな。
966デフォルトの名無しさん:2010/02/05(金) 13:33:09
ダイアログベースのアプリを書いているんですが
RegisterClassExに渡すウィンドウプロシージャとCreateDialogに渡すダイアログプロシージャは
両方とも指定しなければならないものなのでしょうか?
ググる先生に聞いてみるとダイアログプロシージャには
ウィンドウプロシージャを (DLGPROC) でキャストして渡してるケースが多いようなんですが
そうしておいた方が良いんでしょうか?
どなたかお教えください。
967デフォルトの名無しさん:2010/02/05(金) 13:37:33
流用できるならしていいし、そうでないなら別に書かないといけないってだけのことよ
968デフォルトの名無しさん:2010/02/05(金) 14:24:14
>>965
そりゃそうでしょう。
だからまずネイティブアプリでチェックしてから.netアプリを
起動しようとしてるんですよ。
あなたばかぁ?
969デフォルトの名無しさん:2010/02/05(金) 14:30:16
ID出たらいいのにな
970デフォルトの名無しさん:2010/02/05(金) 14:32:57
インストールされていたにせよ、手動で重要ファイル
大量に消すなりレジストリ壊すなりしたり出来る以上
ファイルやらレジストリやらで調べても確実とは言え
ない。つまり確実にインストールされているかどうか
を検出する手段をMicrosftですら確実に持っていない
筈。(推測しているだけ)
Microsoftしか知らない秘密のファイルやレジストリ
があってその存否で推測しているのかも知れないがそ
んなのが公開されたら意味がないだろ?
971デフォルトの名無しさん:2010/02/05(金) 14:36:13
一番簡単なのは、.NETframework必要なexeを実行してみればいい
972デフォルトの名無しさん:2010/02/05(金) 14:39:55
>>971
それいいな。
__tryでキャッチすればいいのかな
973デフォルトの名無しさん:2010/02/05(金) 14:41:13
>>972
なんでSEH例外やねん
APIの戻り値だろJK
974デフォルトの名無しさん:2010/02/05(金) 14:52:25
.NETベースアプリで引数に指定されたファイルに
引数で指定された項目を書き込むものを作りその
バイナリイメージをchar[]配列に取り込んで
テスト直前に適当な名前で作成(テストアプリ.EXE)
適当なファイル名を用意し、それを削除しておいて
テストアプリ.EXEにそのファイル名と例えば日付と
かアプリEXE名などの常に変化するものを渡して起動
し終了を待つ。そのファイルが作成されていればTRUE
そうでなければFALSEを返し、ちゃんとテストアプリ.EXE
と一時ファイルを削除して戻る特製 API
BOOL WINAPI GetDotNetFrameWorkInstalled()
作ればいいんでね?したければ勝手にどーぞ
975デフォルトの名無しさん:2010/02/05(金) 14:54:18
>>974
かっけー
それフリーソフトにしようかな。
976デフォルトの名無しさん:2010/02/05(金) 14:56:08
あるexeファイルA(ソースなし)を
別のexeファイルB(自分がソースを書く)の
リソースとして埋め込んでおいて
Bを実行したときにAをメモリ上に展開(ディスクにファイルは作らない)して
Aに実行を移すことは可能でしょうか?
またそのためのAPIはどれを使えばよいのでしょうか?
ウィルスやワームを作りたい訳ではなく
Aを実行する前の準備処理をBでやりたいのです
977デフォルトの名無しさん:2010/02/05(金) 14:59:29
>>975
フリーウィルスだろw
978デフォルトの名無しさん:2010/02/05(金) 15:01:45
つーか、.netアプリ自体がちゃんと.netフレームワークが
入ってないよ的なエラーをちゃんと出してくれればいいんだが
979デフォルトの名無しさん:2010/02/05(金) 15:05:18
WindowsアプリがWindowsが入ってないよ的エラーを出してくれればいいよね〜

馬鹿か
980デフォルトの名無しさん:2010/02/05(金) 15:06:32
>>976
ムリ
981デフォルトの名無しさん:2010/02/05(金) 15:07:14
>>979
LoadLibraryでmscoreeをチェックは可能だろうが
SxSもちゃんと考慮されるぞ

無能だなお前
982デフォルトの名無しさん:2010/02/05(金) 15:09:27
LoadLibraryって.NETなのかしらという疑問が湧くな。
983デフォルトの名無しさん:2010/02/05(金) 15:09:56
>>976
ライセンス違反のソフトでも埋め込みたいのかw?
984デフォルトの名無しさん:2010/02/05(金) 15:10:09
頭が沸いてる
985デフォルトの名無しさん:2010/02/05(金) 15:11:16
>>976
Aがいじれないからそうしたいんだと思うけど
ならAとBは別々にして
Bで必要処理した後Bの中でAを呼び出せばいい
986デフォルトの名無しさん:2010/02/05(金) 15:12:33
コマンドライン引数受け付けるAなら特に難しいことはないわね。
987デフォルトの名無しさん:2010/02/05(金) 15:15:00
無能の前に日本語の勉強せえよ。
988デフォルトの名無しさん:2010/02/05(金) 15:15:46
>>976
Packer

>>982
そういうネイティブコードをエントリポイントにチェックしてから.NETに飛ぶようにすりゃよかったのにって話だろ
989デフォルトの名無しさん:2010/02/05(金) 15:16:28
GUIのアプリケーションだけどコンソール画面も出るような
アプリケーションが作れるって聞いたんですが
どうやればいいんでしょうか

デバッグ用途に便利だと思ったもので
990デフォルトの名無しさん:2010/02/05(金) 15:17:04
CLI上で動くことを目的にしてるのに依存コードから始まるわけねーだろバカチンカス
991デフォルトの名無しさん:2010/02/05(金) 15:17:38
>>989
AllocConsole?
992デフォルトの名無しさん:2010/02/05(金) 15:18:06
>そういうネイティブコードをエントリポイントにチェックしてから.NETに飛ぶようにすりゃよかった

この人頭悪そう…w
MVPかな?
993デフォルトの名無しさん:2010/02/05(金) 15:19:52
能無しばかりだな
考える頭持ってないの?
994デフォルトの名無しさん:2010/02/05(金) 15:19:58
いちいち煽るような文書くなよ
ROMってる側からしたら気持ち悪いぞ
995デフォルトの名無しさん:2010/02/05(金) 15:20:14
Packerって回答からしてそうでしょ。
>>976読んでパッカーはねえだろパッカーはw
996デフォルトの名無しさん:2010/02/05(金) 15:20:52
_CorExeMainを呼ぶのに失敗したらエラー表示するようにエントリを書き換えるだけじゃないか
997デフォルトの名無しさん:2010/02/05(金) 15:20:58
何人MVPいるんだよ
998デフォルトの名無しさん:2010/02/05(金) 15:21:24
>>995
パッカー作ってみろよ
999デフォルトの名無しさん:2010/02/05(金) 15:21:30
まそのうち、ファイルシステムに実行可能属性が設定されて、
インストーラーやリンカなどの特殊なアプリ以外その属性を
設定出来ない措置がされるだろうから、ライセンス違反逃れ
にEXEを取り込んだ偽装EXEを作って起動直前に本命を作成
し子プロセスとして実行なんて幼稚な手段は取れなくなると
思うね。ただその時にはlnuxやOS-Xに相当のユーザーが
移行するだろけどw(拡張子だけで実行してくれる鷹揚さが
Windowsの実は最大の魅力)
1000デフォルトの名無しさん:2010/02/05(金) 15:21:42
>>979
Windows アプリを DOS で動かすと Windows が入ってないよとちゃんと教えてくれる
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。