Win32API質問箱 Build91

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

■過去スレ
Win32API質問箱 Build90
http://hibari.2ch.net/test/read.cgi/tech/1287205063/

■注意
・質問する前に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

過去スレはwikiから探してください。
2デフォルトの名無しさん:2010/11/08(月) 02:02:04
以下くだらない話
3デフォルトの名無しさん:2010/11/08(月) 02:06:55
−−−終了しました−−−
4デフォルトの名無しさん:2010/11/08(月) 02:07:31
−−−修復しました−−−
5デフォルトの名無しさん:2010/11/08(月) 02:08:22
−−−絶望しました−−−
6デフォルトの名無しさん:2010/11/08(月) 02:09:20
糞スレ
7デフォルトの名無しさん:2010/11/08(月) 02:11:41
WMP12(動画再生中)がSnippingShotでとれてGetDC(hWnd)でとれないのはなぜ?
まあ、GetDC(GetDesktopWindow())でスクリーン全体とって切り出しすればとりあえずはOKそうだな。前スレ>>939を参考にする限り。
ありがとうございました。
8デフォルトの名無しさん:2010/11/08(月) 02:11:57
Brain>erase "new" OR "sizeof(DWORD)"
記憶を消去しました.

Brain>_
9デフォルトの名無しさん:2010/11/08(月) 02:13:22
10デフォルトの名無しさん:2010/11/08(月) 02:16:02
11デフォルトの名無しさん:2010/11/08(月) 02:16:45
12デフォルトの名無しさん:2010/11/08(月) 02:18:36
Templete -> Tempura -> Temple
13デフォルトの名無しさん:2010/11/08(月) 02:18:36

                ( ゚д゚ )
              ¶ノ ¶ノ |
          / ̄ ̄ ̄ ̄ ̄\
          ./  (,)   (,)  ヽ
         |     | ̄|     |
         ヽ     ̄ ̄    /
          |  |   |  |   |
         .ノ .ノ ヽ ノ .ノ   .|
         (_ノ  (_ノ    .|
            / /  ̄/ /
           < <   .< <
            ヽ ヽ   ヽ ヽ
14デフォルトの名無しさん:2010/11/08(月) 02:21:31
Templeteとか英語出来ない日本人の典型例だな
15デフォルトの名無しさん:2010/11/08(月) 02:24:41
パッションテンプリート
16デフォルトの名無しさん:2010/11/08(月) 02:26:33
ただの落書き箱だよなここ
17デフォルトの名無しさん:2010/11/08(月) 02:34:54
釣れたww
18デフォルトの名無しさん:2010/11/08(月) 02:41:18
過疎ってるな
19デフォルトの名無しさん:2010/11/08(月) 02:56:43
隔離スレだからageんな
20デフォルトの名無しさん:2010/11/08(月) 03:01:29
>>19
age
21デフォルトの名無しさん:2010/11/08(月) 17:04:45
サービスプログラムを作成しています。
サービス側から、PC内のユーザーアカウント名を列挙したいのですが、
どのようにすればよいでしょうか?
22デフォルトの名無しさん:2010/11/08(月) 17:19:27
getuser
23デフォルトの名無しさん:2010/11/08(月) 17:39:12
定期あげ
2421:2010/11/08(月) 17:54:54
>>22
登録されているアカウントを全て列挙したいです。
25デフォルトの名無しさん:2010/11/08(月) 18:01:23
で?
26デフォルトの名無しさん:2010/11/08(月) 18:04:20
.NETじゃないと無理
27デフォルトの名無しさん:2010/11/08(月) 18:26:15
やっぱ時代は.NETだね
28デフォルトの名無しさん:2010/11/08(月) 18:40:56
.NETでできました!ありがとうございます!!
29デフォルトの名無しさん:2010/11/08(月) 19:17:52
.NET最高!
30デフォルトの名無しさん:2010/11/08(月) 19:22:47
それと便座カバー
31デフォルトの名無しさん:2010/11/08(月) 20:12:28
ちがう物体ちがう物体ちがう物体
32デフォルトの名無しさん:2010/11/08(月) 20:45:33
>>24
NetUserEnumじゃね?
3324:2010/11/08(月) 21:03:34
>>32
ありがとうございます。
これをキーワードに調べていきたいと思います。
34デフォルトの名無しさん:2010/11/08(月) 21:17:39
>>28
まったくなりすましかよ!w
35デフォルトの名無しさん:2010/11/08(月) 21:50:13
36デフォルトの名無しさん:2010/11/08(月) 22:11:54
37デフォルトの名無しさん:2010/11/08(月) 22:20:39
.net厨しねや
38デフォルトの名無しさん:2010/11/08(月) 22:29:46
.NET便利だね。これからは.NETで開発しよう。
39デフォルトの名無しさん:2010/11/08(月) 22:41:15
.NETやCodepackだけでどうしても実現できないならP/Invoke経由でAPI使えばいいしな
40デフォルトの名無しさん:2010/11/08(月) 22:48:47
ドトネトがやられたようだな...
ククク...奴は四天王の中でも最弱
41デフォルトの名無しさん:2010/11/08(月) 23:19:07
画面描画のため、垂直ブランキングを待つためのAPIって
Win32では何か用意されていますか?
42デフォルトの名無しさん:2010/11/08(月) 23:22:11
GetGlyphOutlineで"1"や"あ"の情報をうまく取得できません。乱れてしまいます
43デフォルトの名無しさん:2010/11/09(火) 00:12:01
>>41
つ DWM
44デフォルトの名無しさん:2010/11/09(火) 00:17:31
むしろ.NET
45デフォルトの名無しさん:2010/11/09(火) 01:26:10
>>42
j事故解決しました
46デフォルトの名無しさん:2010/11/09(火) 01:30:40
.Netアプリはユーザーに嫌われる
47デフォルトの名無しさん:2010/11/09(火) 01:58:00
受注開発物なら、お客さんの了解さえ得ればいいから問題ないんだけどね。
起動やUIがちょっとばかり速くなるより納期が短くなる方がいいし。

フリーソフトの作者なんかが、ユーザの評判を気にして.NETを使えないでいるのは
実に残念だ。
48デフォルトの名無しさん:2010/11/09(火) 02:25:20
フリーでなくともより多くの人が使うプログラムは僅かな速度にも気を配る価値はあるよね
ドカタなら.netがお似合いだけど
49デフォルトの名無しさん:2010/11/09(火) 02:53:57
ドカタなら.netがお似合い(キリッ
50デフォルトの名無しさん:2010/11/09(火) 04:51:21
起動やUIが遅いとかどんだけ低スペック使ってるんだよ
51デフォルトの名無しさん:2010/11/09(火) 04:59:58
今時.NET製という理由だけで毛嫌いするユーザーなんて絶滅危惧種でしょう
レジストリ潔癖症の基地外か98/2000を未だ常用してる貧乏人とかその辺
52デフォルトの名無しさん:2010/11/09(火) 07:32:25
.NETはWindows Updateで失敗を繰り返す持病があるからなあ
クライアントが大量にあると、そのメンテだけでがっつり時間を取られるのが地味に痛い
53デフォルトの名無しさん:2010/11/09(火) 09:51:00
>>50-51
その手の言い訳は聞き飽きてるわ
54デフォルトの名無しさん:2010/11/09(火) 10:18:20
.NETはスキルのない開発者が楽を出来るだけで、利用者にはデメリットしかないから嫌われる。
55デフォルトの名無しさん:2010/11/09(火) 10:28:53
的確な指摘
56デフォルトの名無しさん:2010/11/09(火) 11:51:33
Windows3.1で動いてるC++Winアプリ(APIを使用)って
WindowsXPで動きますか??
ドライバ関係は無くて単なる計算して結果を表示するアプリです。
57デフォルトの名無しさん:2010/11/09(火) 13:00:17
とりあえずやってみたらいいんじゃね?
32bitのWindowsは16bit版プログラムでも一応動かせるようになってるはず
58デフォルトの名無しさん:2010/11/09(火) 13:00:37
定期あげ
59デフォルトの名無しさん:2010/11/09(火) 13:00:58
Win32sならほぼ動く
スレ違いのWin16でもProfessional x64 Edition以外ならそれなりに動く
60デフォルトの名無しさん:2010/11/09(火) 13:46:22
intが16bit前提のプログラムがされてたらどっかで死ぬんじゃね?
61デフォルトの名無しさん:2010/11/09(火) 13:48:20
DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する
APIコマンドってあるのでしょうか?
特定のネットワーク接続だけ、アプリ起動時にWNetCancelConnectionで
クローズしてから起動をするようなプログラムを作成しようと思っています。

色々調べましたがどうしてもわかりませんでしたので、どなたか
ご教授頂ければ幸いです。
62デフォルトの名無しさん:2010/11/09(火) 14:59:23
>>60
16bitアプリはCPUに関係なく16ビットレジスタ範囲で動くんだが、
いったい何が死ぬと言うんだ?
おまえの頭か?
63デフォルトの名無しさん:2010/11/09(火) 15:06:05
>>61
コンソールアプリとDOSコマンドを混同するな。
それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
64デフォルトの名無しさん:2010/11/09(火) 15:10:19
>コンソールアプリとDOSコマンドを混同するな。

DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する ( よ う な )
APIコマンドってあるのでしょうか?

>それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
色々調べましたがどうしてもわかりませんでしたので、どなたか
ご教授頂ければ幸いです。

文盲の上、ホルホルしたいだけの奴は消えろよ。
お前みたいな奴がこのスレを隔離スレ化してんだよ。
65デフォルトの名無しさん:2010/11/09(火) 15:12:33
netはDOSコマンドではないと指摘されているのを理解できないのか
66デフォルトの名無しさん:2010/11/09(火) 15:16:16
ヒーハー
67デフォルトの名無しさん:2010/11/09(火) 15:18:48
やらぁ、ねっとねっとするぅ
68デフォルトの名無しさん:2010/11/09(火) 15:35:22
バグを仕様にすりかえるのが得意な人たちばっかりですので
69デフォルトの名無しさん:2010/11/09(火) 15:36:34
>>61
ある夜
70デフォルトの名無しさん:2010/11/09(火) 15:43:58
わかったわかった
じゃあDOSコマンドのnetじゃなくてガンダムで教えてくれ
71デフォルトの名無しさん:2010/11/09(火) 15:47:09
72デフォルトの名無しさん:2010/11/09(火) 15:47:14
>>69
ありがとさん
73デフォルトの名無しさん:2010/11/09(火) 15:50:48
>>61
WNetAddConnection2
WNetCancelConnection2
WNetAddConnection3
WNetCancelConnection3
74デフォルトの名無しさん:2010/11/09(火) 15:51:47
WNetGetConnection
75デフォルトの名無しさん:2010/11/09(火) 15:55:24
つーかnetコマンドで希望の機能があるのわかってるんだから
インポートテーブル見ればいいだけの話だ
76デフォルトの名無しさん:2010/11/09(火) 16:07:24
>>61です。

皆様、よくわからない質問の中ご回答いただきありがとうございます。
私自身で調べた限りでは、確かにWNetGetConnectionで情報が取れそうだと
思ったのですが、ローカル名がない接続情報の取得方法がわからなかったため、
頓挫していました。

やりたいことは、WNetAddConnection2でERROR_SESSION_CREDENTIAL_CONFLICTを
出さないようにするために、同じリモート名で既に接続されている全ての
ネットワーク接続を一度切断してから、接続処理を行いたいのです。

何かよい方法がありましたら、何でもいいので情報をいただけませんか?

>>63
@ITで「netコマンド」と気軽に記載していたので、Windows2000/XP以降に
新しく加わったDOSコマンドだと勘違いしてました。すみません。

>>71
これはこれで興味深い情報なのですが、今回の件とはちょっと違いました。
情報、ありがとうございました。

>>73>>74
情報、ありがとうございました。

>>75
インポートテーブルというものがよくわかりませんでした。
勉強不足ですみません。
77デフォルトの名無しさん:2010/11/09(火) 16:18:54
少しは調べろと書こうと思ったけど、googleの上位がAccessだのOracleだので
埋め尽くされてて確かにわかりにくいな

実行ファイル内にある使用してるAPIとDLLの一覧だと思えばいい
dumpbinやDependency Walkerなどで調べられる
実際に使ってみればわかるが、NetUseEnumなんていう
いかにもな名前のAPIを呼んでる
78デフォルトの名無しさん:2010/11/09(火) 16:59:28
NetUseEnum一択タだと思うけどねぇ
試してないけど
79デフォルトの名無しさん:2010/11/09(火) 18:26:40
>>77>>78
ご回答ありがとうございました。NetApi32.dllのNetUseEnumを使って
希望通りの情報を取得することが出来ました。本当にありがとうございます。

Dependency Walkerはこうした使い方もあるんですね。あまり意識せずに
必要なモジュールがそろっているかのチェック程度にしか使っていませんでした。

重ね重ね、お礼申し上げます。
80デフォルトの名無しさん:2010/11/09(火) 19:16:13
ほしゅ
81デフォルトの名無しさん:2010/11/09(火) 20:43:28
.NET最高!
82デフォルトの名無しさん:2010/11/09(火) 20:44:46
それはない
83デフォルトの名無しさん:2010/11/09(火) 20:47:57
それはない
84デフォルトの名無しさん:2010/11/09(火) 21:00:28
それはある
85デフォルトの名無しさん:2010/11/09(火) 21:20:49
なぁ?やっぱり.NETは神の生産効率だろぅ?
86デフォルトの名無しさん:2010/11/09(火) 22:33:41
神ってそんなにのろまだったのか
87デフォルトの名無しさん:2010/11/09(火) 22:34:18
↓以下.NET信者の援護レス↓
88デフォルトの名無しさん:2010/11/09(火) 23:20:18
此処にいる優秀な開発者たちに.Netで開発させて.Netの評判を上げたい気持ちはワカランでもない
89デフォルトの名無しさん:2010/11/09(火) 23:25:55
.NET + E = NEET
90デフォルトの名無しさん:2010/11/10(水) 00:04:35
>>76
>同じリモート名で既に接続されている全ての
>ネットワーク接続を一度切断してから

他人のセッションのリモート名は取得出来ないからあきらめろ
91デフォルトの名無しさん:2010/11/10(水) 05:51:04
定期あげ
92デフォルトの名無しさん:2010/11/10(水) 09:58:31
エッチなまうまう?
93デフォルトの名無しさん:2010/11/10(水) 15:25:19
WinMainの戻り値はintですが、x64でコンパイルした時でも何故int固定なのでしょうか。
OSが64bitならば戻り値も__int64に変換されてもよさそうなのですが。。
94デフォルトの名無しさん:2010/11/10(水) 15:51:40
なぜって、変えんの面倒いじゃん?
95デフォルトの名無しさん:2010/11/10(水) 15:56:24
>>93
互換性という言葉があってだな
96デフォルトの名無しさん:2010/11/10(水) 16:06:26
>>94
なるほど

>>95
ウィンドウメッセージのWPARAMなどは64bit化してるようですし、
チグハグな感じをうけました。
97デフォルトの名無しさん:2010/11/10(水) 16:09:42
WPARAMとかはポインタが入ってたりするからな
64bitに対応させないと
98デフォルトの名無しさん:2010/11/10(水) 16:20:39
ポインタ!なるほどスッキリしました。
99デフォルトの名無しさん:2010/11/10(水) 17:26:52
ポインタ!
100デフォルトの名無しさん:2010/11/10(水) 17:36:17
定期あげ
101デフォルトの名無しさん:2010/11/10(水) 18:25:43
すみません
DLLを作るにあたって
1) DllMain() を書く方法と
2) DllEntryPoint() を書いて DllMain() を省略する方法と
3) DllEntryPoint() と DllMain() のどっちも書かない方法
4) その他?
とかがあるみたいですが
どのやりかたが正しいんでしょうか?
102デフォルトの名無しさん:2010/11/10(水) 18:34:00
DLLを作るだけならどれだって正しい
VC++のランタイムライブラリが呼んでくれる名前はDllMainだというだけ
103デフォルトの名無しさん:2010/11/10(水) 18:42:04
現在C#を使用しているのですがFindWindowについて教えてください。

ある監視ソフトを作っており、イベントが起きると別アプリを起動します。
その際にFindWindowにてハンドルを取得できればそのアプリにメッセージ(SendMessage)を
送ります。取得できなければ起動するという処理を行っております。

困っているのは、アプリ名が同じ場合(プログラム名は違います)にうまく取得できません。

また、それと逆にイベントが起きると閉じる処理PostMessageを行うようにしていますが、
同じく同じ名前だとうまく処理できません。何かいい方法があるのでしょうか?よろしくおねがいします。
104デフォルトの名無しさん:2010/11/10(水) 18:49:51
クラス名でFindWindowしろ
105デフォルトの名無しさん:2010/11/10(水) 18:54:46
クラス名も同じ・・なのですが@w@
106デフォルトの名無しさん:2010/11/10(水) 19:03:28
じゃあ無理だ
諦めろ
107デフォルトの名無しさん:2010/11/10(水) 19:10:51
○rz
108デフォルトの名無しさん:2010/11/10(水) 19:12:10
その別アプリを起動するのが自分なら
プロセスハンドルからウインドウハンドルを取得しろ
109デフォルトの名無しさん:2010/11/10(水) 19:18:49
誰が閉じるか開けるか不確定なのでどうしようもないのですorz

ユーザーに周知しても駄目だろうし・・・・あぁ困ったorz

今日はもう帰ります;w;明日起きたら良いアイディア思い・・・うかぶわけねーか;w;
110デフォルトの名無しさん:2010/11/10(水) 19:32:39
>>103
仕様が糞でハナシにならない。
111デフォルトの名無しさん:2010/11/10(水) 19:36:57
実現不可能な仕様
モンスタークライアントの悪夢
112デフォルトの名無しさん:2010/11/10(水) 22:12:18
Vista以降で管理者権限でexeを起動させたい場合、
CreateProcessで可能ですか?もちろんUACのウィンドは表示されても大丈夫です
113デフォルトの名無しさん:2010/11/10(水) 22:26:13
明日からデファクトスタンダードになる.NETで開発しろよ
114デフォルトの名無しさん:2010/11/10(水) 22:35:28
ShellExecuteにrunasでないと確認なしで失敗する
115デフォルトの名無しさん:2010/11/10(水) 23:54:29
>>112
マニフェストに書いてあるなら大丈夫じゃね?
116112:2010/11/11(木) 00:13:04
>> 114, 115
ありがとうございます。 
ケースバイケースで管理者権限が必要ない場合があるので、
マニフェストをつけることはできません。
ShellExecuteで実装してみます。
117デフォルトの名無しさん:2010/11/11(木) 01:59:21
Win64スレが落ちたね
118103:2010/11/11(木) 09:06:58
昨日帰ってから、ふと思ったのですが唯一exe名だけが異なります。
CallBackでハンドルとexe名の関連付けとかできる仕様ってあるのでしょうか?

よろしくおねがいします。

PS.自分で探したけど見つからなかった;w;
119デフォルトの名無しさん:2010/11/11(木) 10:15:37
EnumWindows->(EnumChildWindows->)GetWindowThreadProcessId->OpenProcess->GetProcessImageFileName
120デフォルトの名無しさん:2010/11/11(木) 10:21:40
121デフォルトの名無しさん:2010/11/11(木) 11:06:16
定期あげ
122 ◆ri5Y.eMu8c :2010/11/11(木) 16:21:21
お世話になります。

"LOCAL SERVICE"権限で動作しているデバイスドライバのプロセスから
GUIなアプリを起動する方法について教えてください。

調べてみたところ、サービスはユーザーとは異なるデスクトップを持つため
そのままCreateProcess等でアプリを起動しても、ウィンドウは表示されない
…というところまでは理解しました。

OpenWindowStation()を利用するサンプルがあったので試してみましたが
「アクセス権がありません」というエラーが出てしまい、ダメでした。

この辺に詳しい方、お力を貸していただけると助かります。
123デフォルトの名無しさん:2010/11/11(木) 19:33:36
エッチなまうまう?
124デフォルトの名無しさん:2010/11/11(木) 21:07:39
>>122
無理
125デフォルトの名無しさん:2010/11/11(木) 22:01:46
>122
Delphiだけどこんなのは参考にならないかな?
ttp://www.cromis.net/blog/2010/01/how-to-start-a-gui-process-from-service-under-windows-vista7/
126デフォルトの名無しさん:2010/11/11(木) 22:35:03
定期あげ
127デフォルトの名無しさん:2010/11/11(木) 23:57:04
何もドラッグして無くても、ドラッグのカーソルにする方法ってありますか?
128デフォルトの名無しさん:2010/11/11(木) 23:57:44
SetCursor
129デフォルトの名無しさん:2010/11/12(金) 01:57:41
メッセージボックスのメッセージ中にHTMLのリンクを埋め込むことは出来ますか?
130デフォルトの名無しさん:2010/11/12(金) 02:03:59
やってやれないことは無いけどかなりメンドイよ
自分で作ったダイアログじゃダメなのか?
131デフォルトの名無しさん:2010/11/12(金) 04:56:59
>>130
そうします
132デフォルトの名無しさん:2010/11/12(金) 10:57:35
>>128
ドラッグカーソルの定数って何でしょうか?
133デフォルトの名無しさん:2010/11/12(金) 20:32:42
定期あげ
134デフォルトの名無しさん:2010/11/12(金) 20:39:05
常時さげ
135デフォルトの名無しさん:2010/11/12(金) 21:49:36
さげ
136デフォルトの名無しさん:2010/11/13(土) 01:52:11
いいからAPI出せや
137デフォルトの名無しさん:2010/11/13(土) 05:01:16
つ CreateUmsThreadContext
138デフォルトの名無しさん:2010/11/13(土) 05:03:08
お、おぅ・・・
139デフォルトの名無しさん:2010/11/13(土) 05:28:48
作りたいプログラムがない・・・
140デフォルトの名無しさん:2010/11/13(土) 08:44:30
課題スレってあるの?
141デフォルトの名無しさん:2010/11/13(土) 12:03:11
Windows上からBIOSの設定にアクセスしてるやつどうやってるの?
142デフォルトの名無しさん:2010/11/13(土) 12:20:19
DeviceIoControl
143デフォルトの名無しさん:2010/11/13(土) 12:27:38
144デフォルトの名無しさん:2010/11/13(土) 14:33:33
ドライバ作んなきゃいけないのかと思ってた。
145デフォルトの名無しさん:2010/11/13(土) 14:38:36
MIDI関係に詳しい方いらっしゃったら教えてください。
MIDIの資料はもうかなり古いものが多いようですが、
「メッセージの送信には midiOutShortMsg() 関数を使います」という記述を見つけたのですが、
MSDNでぐぐっても出てきません。
かわりにmidiOutMessage()というのが出てきたのですが、
現在はmidiOutShortMsg()というのは淘汰され、midiOutMessage()に変わったのでしょうか?
146デフォルトの名無しさん:2010/11/13(土) 14:40:37
yes
147デフォルトの名無しさん:2010/11/13(土) 14:41:16
全言語で検索しろよ
148デフォルトの名無しさん:2010/11/13(土) 14:44:32
149145:2010/11/13(土) 14:55:17
MSDNのトップページの一番上の検索窓を使いましたが、
検索範囲に絞込みがかけてあるのですか?
MSDNで出てこなくても使えるということなのでしょうか?
midiOutMessage()を使ったほうがベターでしょうか?
C#から呼び出して使うつもりです。
150デフォルトの名無しさん:2010/11/13(土) 15:02:57
どこが出てこないんだよ
151デフォルトの名無しさん:2010/11/13(土) 15:16:13
ショートメッセージを送信するときは、midiOutShortMsgを使う
midiOutMessageはデバイスドライバーにドライバー固有の
メッセージを送るときに使う
俺midiOutMessageなんか使ったことないぞ

C#からmidiOutShortMsg使うときは以下のおまじないが必要

[DllImport("winmm.dll")]
public static extern int midiOutShortMsg(IntPtr hmo, uint dwMsg);

がんがれ
152145:2010/11/13(土) 15:16:38
失礼しました!途中まで入力して候補の中にが出てこないし、
midiOutShortまで打ち込んで検索しても引っかからなかったのであきらめてました。。
MSDNの検索って完全一致でないと拾ってくれないんですね。
チラ見ですが、midiOutMessageとは少し違うみたいですね。
153145:2010/11/13(土) 15:26:52
>>151
ありがとうございます!
154デフォルトの名無しさん:2010/11/13(土) 17:00:24
ウィンドウプロシージャ内でプログラムを終了させなくちゃいけないような
致命的なエラーが起きた起きたとき、どうやって終了させる?
155デフォルトの名無しさん:2010/11/13(土) 17:01:59
パソコンを窓から放り投げる
156デフォルトの名無しさん:2010/11/13(土) 17:02:08
普通に終了させちゃ駄目なんですか
157デフォルトの名無しさん:2010/11/13(土) 17:10:16
DebugBreakを呼ぶ
158デフォルトの名無しさん:2010/11/13(土) 17:32:01
致命的なんだから死んだっていいよね
159デフォルトの名無しさん:2010/11/13(土) 17:54:59
リストビューの縮小版サムネイルの大きさを、自分のみ変更することは可能でしょうか。
可能でしたら、その方法を教えていただければと思います。
160デフォルトの名無しさん:2010/11/13(土) 17:58:52
ImageListのサイズ変更したら行けないかな
161デフォルトの名無しさん:2010/11/13(土) 17:59:05
>>157
採用
162141:2010/11/13(土) 18:14:14
>>142,143
ありがとうございます。できました。
163デフォルトの名無しさん:2010/11/13(土) 18:22:08
PostQuitMessageではだめなの?
164デフォルトの名無しさん:2010/11/13(土) 18:28:47
assert()だろ常考
165デフォルトの名無しさん:2010/11/13(土) 18:30:32
FatalAppExit
166デフォルトの名無しさん:2010/11/13(土) 18:45:58
定期あげ
167デフォルトの名無しさん:2010/11/13(土) 19:24:32
Win7 64bitの delete が遅いのですが、早くする方法はありませんか?
VC++ 2005 で100万件のオブジェクトをdeleteするのに1分近くかかってしまいます
XP 32bitのときは、google performance toolsを入れて new と delete を高速化していたのですが、Win7 64bitには未対応でリンクできませんでした
168デフォルトの名無しさん:2010/11/13(土) 20:20:56
普通じゃね?
32bit版の実行ファイルでやってみてもそうなるの?
169デフォルトの名無しさん:2010/11/13(土) 20:44:52
お前には3行目が読めないの?
170デフォルトの名無しさん:2010/11/13(土) 20:46:24
>>168
Visual Studio 2005 の C++ で delete にかかる時間を計測したのですが、同じプログラムでも
32bit  69秒 (VC++標準)
32bit 0.09秒 (google performance toolsのtcmallocを使用)
64bit 153秒
と、googleのtcmallocが圧倒的速度ですが、標準でも32bitと64bitでは2倍くらいの差で、64bitのdeleteが遅い状況です
64bitはntdllが遅いようで、もう64bitやめようかと・・・(´・ω・`)
171デフォルトの名無しさん:2010/11/13(土) 20:49:12
ビョーン。
172デフォルトの名無しさん:2010/11/13(土) 21:01:55
>>167の件、解決しました
Visual Studioから実行すると遅くなるようです
ビルドしたexeファイルを直接、実行した場合はdeleteがすぐに終わりました
173デフォルトの名無しさん:2010/11/13(土) 21:05:02
コンストラクタとデストラクタの中身は分からないが
今時のCPUで100万件でそんなに時間がかかるとは思えない
mallocならかかってもせいぜい数秒
ファイルを読み込んでるとかメモリをゼロクリアしてるとか
例外でも発生してるんじゃね?
174デフォルトの名無しさん:2010/11/13(土) 21:06:35
なんだDebugビルドか
175デフォルトの名無しさん:2010/11/13(土) 21:08:13
>>174
いや、Releaseビルドですよ。Win7というのが関係しているのかもしれません
176デフォルトの名無しさん:2010/11/13(土) 21:10:44
おおかたエクセルコントロールから1件ずつ削除でもしてるんだろう
177デフォルトの名無しさん:2010/11/13(土) 21:31:24
おまっ、どうすんだよこれ
http://codepad.org/MUwPe4oA
178デフォルトの名無しさん:2010/11/13(土) 21:31:25
常識的に考えてコンストラクタが1u以下であれるべきる
179デフォルトの名無しさん:2010/11/13(土) 21:33:23
わんわんお?
180デフォルトの名無しさん:2010/11/13(土) 21:37:09
エッチなまうまう?
181161:2010/11/13(土) 21:39:41
ちょwwwww
FatalAppExit使い勝手いいわwwww
>>165超GJ
182デフォルトの名無しさん:2010/11/13(土) 21:42:13
こんなの常用すべきもんじゃないよ
183161:2010/11/13(土) 21:44:06
>>182
メモリ確保失敗とかで終了させるときに使おうと思ってたんだがダメなのか?
184デフォルトの名無しさん:2010/11/13(土) 22:04:51
ほかの方法で終了できない場合にだけ、アプリケーションは FatalAppExit 関数を呼び出します。
FatalAppExit 関数は、常にアプリケーションが使用したメモリを解放したり、ファイルを閉じるとはかぎりません。
Windows の一般エラーの原因になることもあります。アプリケーションで予期しないエラーが発生した場合は、
このアプリケーションが使用するメモリをすべて解放し、メインメッセージループから戻って終了するようにします。
185デフォルトの名無しさん:2010/11/13(土) 22:08:38
メモリー確保の失敗とか起こるような状況下で何ができるのかいまだに想像もつかないな・・・再現できないからデバッグもできないし
でも2GB確保しようとして足りなくて失敗したとかなら正常終了に持ち込んだ方がいい
186161:2010/11/13(土) 22:15:31
>>184-185
じゃあハンドルとかメモリを全部開放した上でWM_CLOSEとかでおk?
187デフォルトの名無しさん:2010/11/13(土) 22:43:35
特に問題なければDestoryWindowだな。1/0で落とす方法もあるけど、こっちも非常用だな。
188デフォルトの名無しさん:2010/11/14(日) 02:15:59
*(char *)0 = 0;
189デフォルトの名無しさん:2010/11/14(日) 02:20:29
>>185
俺も普通の new で起きる bad_alloc なんかは、チェックすらしてない。
巨大なファイルをメモリにマップするとか、VirtualAllocで数百MBのメモリを
確保するとかだったらチェックするけど。
190デフォルトの名無しさん:2010/11/14(日) 02:27:20
>>184
日本語MSDNなんか引用すんな。低能。

Remarks
An application calls FatalAppExit only when it is not capable of
terminating any other way.
191デフォルトの名無しさん:2010/11/14(日) 03:08:14
>>184
>FatalAppExit 関数は、常にアプリケーションが使用したメモリを解放したり、ファイルを閉じるとはかぎりません。
他のプロセスが参照カウンタを増やしているとか、そういうオチだね。
何の問題も無い。
192デフォルトの名無しさん:2010/11/14(日) 03:28:14
どんなやり方であれ、プロセスが終了すればそのプロセスが使用していた資源は
全て解放される。これジャングルの掟。
193デフォルトの名無しさん:2010/11/14(日) 03:44:15
>>192

>>184はそれも怪しいって言ってるんじゃないかい
プロセスの正常な終了手続き取らないとか
194デフォルトの名無しさん:2010/11/14(日) 07:55:42
>>193
英語版(>>190)にはそんな事は書いていない。日本語版(>>184)が嘘。
低能はプログラミングすんな。
195161:2010/11/14(日) 08:44:26
メモリ確保に失敗するような状況だからのんびりハンドル閉じたりしてないで
さっさとプログラム終了させなきゃいけないのかと思ってたんだがそうでもないのか?
196デフォルトの名無しさん:2010/11/14(日) 09:23:21
delete/->Dispose/->Release
CloseHandle
DestroyWindow
PostQuitMessage
ExitProcess
このあたりが全部失敗するような状況のことじゃないか?
197デフォルトの名無しさん:2010/11/14(日) 10:50:06
Dllファイルの読み込みで質問です。
今は普通にLoadLibraryで読み込んでるんですが、
ファイルからの読み込みしか対応してないようです。
これをメモリから読み込むようにできませんか?

今はこのようになってるんですが、
スクリーンセーバーなのでファイルをまとめたいんです。
urara.scr スクリーンセーバー
imgloader.dll 画像ローダー
voiloader.dll 音声ローダー

Bitmapなどの素材はリソースにおけるんで、
urara.scrの中に格納できたんですが、
imgloader.dllなどは格納はできるんですが、
LoadLibraryはリソースに対応してないようです。
198デフォルトの名無しさん:2010/11/14(日) 12:01:05
「ですが、」の多用で意味不明ですが、
LoadLibraryはリソースに対応してるようですが、
対応していないと思う理由を考えてみたのですが、
やはり意味不明ですね。
199デフォルトの名無しさん:2010/11/14(日) 14:52:38
SHBrowseForFolderでMAX_PATHを超える長さの
パスって取得できないのかな・・・
200デフォルトの名無しさん:2010/11/14(日) 14:58:46
>>197
ttp://ruffnex.oc.to/kenji/text/load_dll/
ここ読めば出来るような気がする
201デフォルトの名無しさん:2010/11/14(日) 15:25:18
>>198
すいませんプログラマ夜逃げで焦ってました。

>>200
ありがとうございます参考になりました。
202デフォルトの名無しさん:2010/11/14(日) 17:10:38
>>194
http://msdn.microsoft.com/en-us/library/ms679338%28v=VS.85%29.aspx
This function should only be used as a last resort,because it may not free the memory or files owned by the application.

書いていない=解放される、ではないよ
MSの場合は書いてあっても信用できないけどねw
203デフォルトの名無しさん:2010/11/14(日) 17:40:18
Visual Studio 2010 Expressで
ttp://wisdom.sakura.ne.jp/system/winapi/win32/win13.html
にあるやつエラーになるんですがどうしてですか?

win32api.c(14): error C2065: 'LlpcsWnd' : 定義されていない識別子です。
win32api.c(14): error C2223: '->lpszName' : 左側が構造体か共用体に対するポインターではありません。
win32api.c(14): warning C4047: '関数' : 間接参照のレベルが 'LPCWSTR' と 'long' で異なっています。
win32api.c(14): warning C4024: 'MessageBoxW' : の型が 3 の仮引数および実引数と異なります。
win32api.c(14): error C2198: 'MessageBoxW' : 呼び出しに対する引数が少なすぎます。
204デフォルトの名無しさん:2010/11/14(日) 17:44:58
>>203
BCC使ってるけどコピペで問題なかった。
もっかい見直したら?
205デフォルトの名無しさん:2010/11/14(日) 17:51:59
マジレスするとそのサイトの内容が古いからそれで勉強するのはやめとけ。
Unicodeビルドやめてマルチバイトにすればビルドは通るだろうが、
今時そういうことをするのはちょっと。
206デフォルトの名無しさん:2010/11/14(日) 18:03:22
>>200
横からだけど出来ました
ありがとうございました
207デフォルトの名無しさん:2010/11/14(日) 18:05:15
>>204
BCCでできました。報告ありがとうございます
>>205
やはりサイトではなく本を買ったほうがいいでしょうか?
208デフォルトの名無しさん:2010/11/14(日) 18:05:19
>>203
エラー出ないように書き直すと勉強になるよ
209デフォルトの名無しさん:2010/11/14(日) 18:08:52
>>197 >>200
これ結構楽しいな
ウィルススキャンにも引っかからなかった
210デフォルトの名無しさん:2010/11/14(日) 18:17:16
つーか_tWinMain()にはなってないけど、TEXTマクロは使ってるんだな
ビルド通らないって入力ミスかなんかじゃないのか
211デフォルトの名無しさん:2010/11/14(日) 18:17:37
>>207
MessageBoxWって書いてあるのに気づかなかったとか死にてぇ・・・・・・
本は2004年5月の出版。7年ほど前の本だがどうするよ?
212デフォルトの名無しさん:2010/11/14(日) 18:17:58
と思ったら

> TEXT(lpcsWnd->lpszName)

これはねーわ(;´Д`)
213デフォルトの名無しさん:2010/11/14(日) 18:18:03
捨てる
214デフォルトの名無しさん:2010/11/14(日) 18:23:02
>>212
ここはどうするべきなんでしょうか?
215デフォルトの名無しさん:2010/11/14(日) 18:27:57
TEXTマクロに変数いれてるやつなんて初めて見た
素直に渡せよ
216デフォルトの名無しさん:2010/11/14(日) 18:28:08
TEXT()がいらない。
lpcsWnd->lpszNameにすればコンパイルは通ると思われる。
TranslateMessage()呼んでなかったりとかいろいろとアレなサンプルだな・・・
217デフォルトの名無しさん:2010/11/14(日) 18:31:42
>>215-216
ありがとうございます
>>211
ちょっと新しい本見つけて買おうと思います
218デフォルトの名無しさん:2010/11/14(日) 18:34:20
そういえば猫でもわかるWin(ryって第三版まで出てるみたいだけどけっこう良書?
219デフォルトの名無しさん:2010/11/14(日) 18:39:34
判断は何に価値を置くかで異なる。
まずは自分の価値基準を提示しろ。
220デフォルトの名無しさん:2010/11/14(日) 18:51:52
>>219
プログラムの本はあんま買わないからわからん
サイトなら入門のころお世話になった苦Cがけっこう良かった、と思う
221デフォルトの名無しさん:2010/11/14(日) 18:53:16
管理人の性格が微妙なやつか
222デフォルトの名無しさん:2010/11/14(日) 20:24:38
>>218
IDEに頼ってないところだけは評価してもいい
223デフォルトの名無しさん:2010/11/14(日) 20:38:23
定期あげ
224デフォルトの名無しさん:2010/11/14(日) 22:47:26
擬似ハンドルをDuplicateさせるのって
鏡をカメラで撮って写真にする感じだよー って一言説明あれば
分かりやすいのになー
225デフォルトの名無しさん:2010/11/14(日) 23:04:58
ポインタとかハンドルをたとえ話で説明する入門書は例外なく糞。
ポインタを単にポインタとして理解できない初心者は門前払いすべし。
226デフォルトの名無しさん:2010/11/14(日) 23:08:32
>>225
最近理解できたんだね。良かった良かった
227デフォルトの名無しさん:2010/11/14(日) 23:16:04
世界はポインタを隠蔽化する方向に向かっている^ object;
228デフォルトの名無しさん:2010/11/14(日) 23:29:29
Win32APIスレで何気取ったこと言ってるんだ?
229デフォルトの名無しさん:2010/11/14(日) 23:31:37
別に隠す必要ないのにね
ちゃんとコンピューター勉強したい人にとっては妨げになるだけ
230デフォルトの名無しさん:2010/11/15(月) 00:23:42
>>228
Win32APIスレで何気取ったこと言ってるんだ?
231デフォルトの名無しさん:2010/11/15(月) 04:37:09
定期あげ
232デフォルトの名無しさん:2010/11/15(月) 06:38:49
どれだけ隠蔽しても人はヌルポから逃れられないのさ
233デフォルトの名無しさん:2010/11/15(月) 07:27:47
はいはいぬるぽぬるぽ
234デフォルトの名無しさん:2010/11/15(月) 19:24:16
定期あげ
235デフォルトの名無しさん:2010/11/15(月) 22:08:23
赤鬼さんと朝まで豆まき
236デフォルトの名無しさん:2010/11/16(火) 09:18:15
定期あげ
237デフォルトの名無しさん:2010/11/16(火) 19:31:56
定期あげ
238デフォルトの名無しさん:2010/11/16(火) 19:37:42

FormatMessageWでHRESULTの説明を取得しようとしたら
↓の読み込み専用のなんとかエラーが出るんだけどどうすればいい


(裏) [一本道] 真中ゆり&大城楓 ペロリンピックpart1 エッチなスケートリンク (パイパン・レズ) [無修正] (704x396 Mpeg4v2 2820Kbps 29.97fps 128Kbps 48KHz J-Stereo 1h01m31s).avi
239デフォルトの名無しさん:2010/11/16(火) 19:41:11
>>238
PCをリカバリー
240デフォルトの名無しさん:2010/11/16(火) 19:49:51
cygwinスレのパロディか、つまらん
241デフォルトの名無しさん:2010/11/16(火) 19:51:21
>>238
zipでくれ
242238:2010/11/16(火) 19:56:57
すいません。間違えて変な物をコピペしてしまいました…
>>238は見なかったことにして下さい。
243デフォルトの名無しさん:2010/11/16(火) 20:02:30
>>240
元は面白いの?
244デフォルトの名無しさん:2010/11/16(火) 20:10:45
>>243
同じぐらいつまらん
昨日あたりに、関係ないスレにコピペされまくってたが
245デフォルトの名無しさん:2010/11/16(火) 20:23:13
クリップボードは一つだからな
246デフォルトの名無しさん:2010/11/16(火) 21:15:08
グローバルクリップボード
247デフォルトの名無しさん:2010/11/16(火) 22:34:18
質問です。
既存のDIBからDDBを生成する方法ないでしょうか。
(DDBを生成した後もDIBとして使用可能なもの)

DIBSectionは既存のDIBを使用できないし、CreateDIBitmapは
DDBを生成した後は元のDIBとは別メモリが割り当てられてしまいます。
248デフォルトの名無しさん:2010/11/16(火) 22:44:01
>DIBSectionは既存のDIBを使用できない
249デフォルトの名無しさん:2010/11/16(火) 22:45:32
DIBSection一択だろ
250デフォルトの名無しさん:2010/11/16(火) 22:47:49
>>248
たぶん1度DIB作ってから再度作るのが面倒くさいから
誰か僕ちゃんにおあつらえ向きの関数知りませんか〜ってことだと思うで
251247:2010/11/16(火) 23:40:44
unsigned intの配列を任意のタイミングでDIBにしてGDIで操作したいんです。
かつ、速度が必要なαブレンド等のピクセル操作はメモリアクセスで済ませたい。
この為、unsigned intの配列とDIBがシームレスに直結してる必要があります。
さらに、GDI操作が必要なくなったらHBITMAPは解放したいです。
(この際unsigned intの配列は解放されてはいけない)
そしてまた必要なときにDIBを生成というサイクルを想定しています。
252247:2010/11/16(火) 23:44:21
すみません誤記です
x DIB
o DDB
253デフォルトの名無しさん:2010/11/16(火) 23:48:03
unsigned intの配列の代わりに、
DIBセクションで確保されたメモリを使えば解決だな。
この状態で直接メモリアクセスできるから、
わざわざ解放する理由も無くなるし。
254デフォルトの名無しさん:2010/11/16(火) 23:49:57
たしかCreateDIBSectionはファイルマッピングハンドルを指定できなかったか?
使ったことないが
255247:2010/11/16(火) 23:54:20
>>253
Win95で動かす場合、リソースに64k個制限があるため不要なDIBセクションの
生成は控えたいのです。
(ゲーム用途に使用する場合細かい画像を大量に取り扱う事があってリソースを圧迫してしまいます)
そのため、通常は配列で画像処理を行い、必要なときのみアダプタ的なイメージで
配列にかぶせGDIで描画を行いたいという背景があり、最初からDIBセクションを使用する事ができません。
それでこの質問をするに至りました。
256247:2010/11/16(火) 23:58:54
>>254
ありがとうございます。調べてみます。
257デフォルトの名無しさん:2010/11/17(水) 00:28:56
Windows95になんか対応するな。むしろ排除しろ。
258デフォルトの名無しさん:2010/11/17(水) 00:35:59
今のPCの性能でWin9xの動作環境を用意できるという前提なら、
最終的に画面に出力する処理以外は、一切GDIは不要だな。
よって、リソースの個数制限に悩まされる事は全く無いな。
PentiumIII/Athlon以前の環境なら、多少検討する価値があるかもしれないが。
259デフォルトの名無しさん:2010/11/17(水) 00:43:22
いいからAPI出せや
260デフォルトの名無しさん:2010/11/17(水) 00:56:58
つ EnumDateFormatsExEx
261デフォルトの名無しさん:2010/11/17(水) 01:04:54
何かをトレードオフしないと厳しそうだな。
メモリが足りなかったら処理速度でまかなうとか。
処理速度上げるために別に計算してテーブルにするとか。

描画時だけ妥協してCreateDIBitmapあたりでHBITMAPにしてそれ以外は配列で何とかすればいいと思うけど。
あと、処理速度が遅いときの基本の描画はダーティレクトだと思う。異論は認める。

あ、思い出した。SetDIBitsToDeviceっていう描画関数もあるよ。
262デフォルトの名無しさん:2010/11/17(水) 01:42:24
SetPixel
263デフォルトの名無しさん:2010/11/17(水) 02:28:14
DirectDrawを使えば良い。
264デフォルトの名無しさん:2010/11/17(水) 02:33:13
SetPixel==Sex
265261:2010/11/17(水) 10:08:13
暇だからサンプル書いてみた。win7+vc10
ttp://www1.axfc.net/uploader/File/so/54256.zip

DIBの8bitデータなのは別に何かの制約ではなく、データ作るの楽だから。
できれば、こんな感じのデータはクラスにして使ったほうが色々便利でいいと思う。
基本的に生データをさらしておくのはお勧めしない。

あと、これvc10のプロジェクト作成ウィザードで吐いたやつのWndProcだけ変更したやつだから要点はWindProcに集約されてるよ。
描画関数はMSDNで伸ばすほう伸ばさないほうの両方の互換性がWin95になってたから大丈夫だと思うんだけど・・・。
266デフォルトの名無しさん:2010/11/17(水) 10:44:22
「〜てみた」
267デフォルトの名無しさん:2010/11/17(水) 10:50:37
民主党
268デフォルトの名無しさん:2010/11/17(水) 11:04:57
奴らは言うだけで実行しないから
269デフォルトの名無しさん:2010/11/17(水) 11:09:50
メッセンジャーでメール受信したときに右下に出てくるウィンドウみたいなのを出す
サンプルコードみたいなのないでしょうか?
270デフォルトの名無しさん:2010/11/17(水) 11:22:11
ggr
ttp://d.hatena.ne.jp/kiwamaru/20090121/1232524352

最近はばるーんちっぷすっていうみたいだな。
271デフォルトの名無しさん:2010/11/17(水) 11:56:04
ありがとうございます
272デフォルトの名無しさん:2010/11/17(水) 12:22:53
↓サドルマン
273デフォルトの名無しさん:2010/11/17(水) 13:21:15
>>265
ハゲですねわかります
274261:2010/11/17(水) 16:34:37
>>273
正解。
って俺はハゲじゃねー。まー、うまく動いてるなら問題ないんだがね。
275デフォルトの名無しさん:2010/11/17(水) 16:53:13
>>265
mingw32 3.4.4 (結構古い) の g++/ld でコンパイル/リンクしたのですが no problem でした
276261:2010/11/17(水) 16:58:26
>>275
おー。そりゃ俺としても面白い結果だわ。

ま、がんばってくれ。道はまだ半ばだ、いざ行かん。ノシ
277デフォルトの名無しさん:2010/11/17(水) 17:08:16
>>268
んなことない
日本の未来を潰すものはてきぱきとに実行してる。
278デフォルトの名無しさん:2010/11/17(水) 19:49:47
>>277
それを日本国民が望んでいたから、選挙で民主が大勝した
279デフォルトの名無しさん:2010/11/17(水) 19:50:29
みんなの党に入れた俺に隙は無かった。
280デフォルトの名無しさん:2010/11/17(水) 19:57:35
俺も民主党に入れる勇気は無かった
281デフォルトの名無しさん:2010/11/17(水) 19:58:34
>>275
おいドンもmingw使っているでゲソ
g++/ld でコンパイル/リンクするmakefileくれな烏賊?
282デフォルトの名無しさん:2010/11/17(水) 19:58:49
誰かご存知でしたら教えてください

コマンドボタンが実装されたApp1.exeがあります
App1.exeのボタンがクリックされたら、そのイベントをフックするApp2.exeを
制作したいと思っています
VC++でSendMessageやFindWindowを使ってクリックのイベントをフックするアプリは作ったことはありますが
コマンドボタンをクリックするイベントのフックの仕方がわかりません
参考になるサイトのURLやAPIなど、教えていただきたく思います

よろしくお願いします
283デフォルトの名無しさん:2010/11/17(水) 20:08:47
>>282 です

補足です
App1.exeは他社で制作されたアプリで、ソースは公開されておりません
VB6で制作されているようです

よろしくお願いいたします
284デフォルトの名無しさん:2010/11/17(水) 20:20:19
複数のペンを使って描画する場合
1.下記で大丈夫でしょうか?
BeginPaint→
CreatePen→SelectObject→使用→DeleteObject(SelectObjectで他のPenに変えてない)→
CreatePen→SelectObject→使用→DeleteObject(SelectObjectで他のPenに変えてない)→
 : :
EndPaint
285デフォルトの名無しさん:2010/11/17(水) 20:28:36
>>281
makefile じゃないけど mingw32 用に整理してみた
ttp://www1.axfc.net/uploader/Sc/so/174391.zip
パスは 281
286デフォルトの名無しさん:2010/11/17(水) 20:45:16
>>285
熱烈感謝
287デフォルトの名無しさん:2010/11/17(水) 20:47:01
>>284
MSDN嫁
http://msdn.microsoft.com/en-us/library/dd183539%28VS.85%29.aspx
> Do not delete a drawing object (pen or brush) while it is still selected into a DC.
288デフォルトの名無しさん:2010/11/17(水) 21:30:22
>>285-286
Makefile作ってみた
(左端のスペースはタブです)


TARGET=SetDIBitsToDevice.exe
CC=g++
RC=windres
OPT=-mwindows

SRC=$(shell ls *.cpp)
OBJ=$(SRC:.cpp=.o)
WRC=$(shell ls *.rc)
RES=$(WRC:.rc=.cr)

.SUFFIXES: .cpp .o .rc .cr

all: $(TARGET)

clean:
  rm -f $(OBJ) $(RES)

$(TARGET): $(OBJ) $(RES)
  $(CC) $(OPT) -o $@ $(OBJ) $(RES)

.cpp.o:
  $(CC) -c $<

.rc.cr:
  $(RC) -i $< -o $(RES)
289デフォルトの名無しさん:2010/11/17(水) 21:40:23
>>282
ttp://ruffnex.oc.to/kenji/text/api_hook/
ここ見れば出来るような気がする
290デフォルトの名無しさん:2010/11/17(水) 21:54:08
>>282
FindWindowで親ウインドウを探したら、
FindWindowExを使ってコマンドボタンの子ウインドウを探して見るとか。
291デフォルトの名無しさん:2010/11/17(水) 21:59:44
>>288
ヘッダファイルだけが更新されたときに
それだとちゃんと動かないね
292デフォルトの名無しさん:2010/11/17(水) 22:43:56
「〜てみた」系は無視しろよ
293デフォルトの名無しさん:2010/11/17(水) 22:46:27
へ?
なんで?
助かってるのに
294デフォルトの名無しさん:2010/11/17(水) 22:48:53
>>285
vc10にバックポートしてみた。
一個だけWinMainがおかしいとか怒られるんだけど、WinMainをTCHAR対応にすれば動いた。
具体的には_tWinMain(・・・)ってするだけなんだけどね。_tがキモイけど大事だ。
295デフォルトの名無しさん:2010/11/17(水) 23:09:21
>>293
死ねカス
296デフォルトの名無しさん:2010/11/17(水) 23:27:31
>>294
>>286だけど、
mingwでは_tWinMainだとダメポになる。
あと、mingwだと.rcなんかに日本語あると化けてダメポになんだよね
rcの日本語をちゃんとやろうとすると、VCのrcで前処理して、windresに
渡してやるとかしないといけないんだよな。
mingwで有料のVCのrc使うっておいおいだからね

>>288 どうも!
297デフォルトの名無しさん:2010/11/17(水) 23:31:53
>>296
紛らわしいこと書いてすまないね。
用はVC10EEで動かしたかったらって話だから。
言葉が抜けてた。すまない。
298デフォルトの名無しさん:2010/11/17(水) 23:42:01
どーまんせーまん。
299デフォルトの名無しさん:2010/11/18(木) 00:11:31
>>295
消えろ
300デフォルトの名無しさん:2010/11/18(木) 00:22:12
>>299
消えろ
301デフォルトの名無しさん:2010/11/18(木) 00:23:13
302デフォルトの名無しさん:2010/11/18(木) 00:23:44
303デフォルトの名無しさん:2010/11/18(木) 00:24:12
304デフォルトの名無しさん:2010/11/18(木) 00:24:24
305デフォルトの名無しさん:2010/11/18(木) 00:25:21
306デフォルトの名無しさん:2010/11/18(木) 00:26:08
307デフォルトの名無しさん:2010/11/18(木) 00:26:30
308デフォルトの名無しさん:2010/11/18(木) 00:27:10
309デフォルトの名無しさん:2010/11/18(木) 00:28:05
310デフォルトの名無しさん:2010/11/18(木) 00:29:39
これはひどい
311デフォルトの名無しさん:2010/11/18(木) 00:31:37
312デフォルトの名無しさん:2010/11/18(木) 00:32:20
313デフォルトの名無しさん:2010/11/18(木) 00:32:58
314デフォルトの名無しさん:2010/11/18(木) 00:33:17
315デフォルトの名無しさん:2010/11/18(木) 00:33:54
316デフォルトの名無しさん:2010/11/18(木) 00:34:04
317デフォルトの名無しさん:2010/11/18(木) 00:34:33
318デフォルトの名無しさん:2010/11/18(木) 00:35:16
319デフォルトの名無しさん:2010/11/18(木) 00:36:10
320デフォルトの名無しさん:2010/11/18(木) 00:36:48
通報してもいいですか^^;
321デフォルトの名無しさん:2010/11/18(木) 00:36:53
322デフォルトの名無しさん:2010/11/18(木) 00:37:22
323デフォルトの名無しさん:2010/11/18(木) 00:38:25
324デフォルトの名無しさん:2010/11/18(木) 00:38:55
エッチなまうまう?
325デフォルトの名無しさん:2010/11/18(木) 00:40:33
エッチしてるなう
326デフォルトの名無しさん:2010/11/18(木) 00:41:55
327デフォルトの名無しさん:2010/11/18(木) 00:43:47
ペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロペロ
328デフォルトの名無しさん:2010/11/18(木) 00:45:28
尿意
329デフォルトの名無しさん:2010/11/18(木) 00:47:28
僕はイテレータちゃん!
330デフォルトの名無しさん:2010/11/18(木) 03:23:32
まだ書けるかな
巻き添えはごめんだ
331デフォルトの名無しさん:2010/11/18(木) 03:33:26
>>330
バーカw
332デフォルトの名無しさん:2010/11/18(木) 03:35:04
隔離スレ最高
333デフォルトの名無しさん:2010/11/18(木) 03:35:33
>>330
これは恥ずかしい
334デフォルトの名無しさん:2010/11/18(木) 03:37:10
隔離スレとか言い出すのって大抵悔しくて顔真っ赤な奴だよねw
335デフォルトの名無しさん:2010/11/18(木) 03:41:03
あずにゃんペロペロ
336デフォルトの名無しさん:2010/11/18(木) 03:42:05
あずにゃんは俺の嫁
337デフォルトの名無しさん:2010/11/18(木) 03:57:52
なんですと
338デフォルトの名無しさん:2010/11/18(木) 04:06:27
あずにゃんスレ
339デフォルトの名無しさん:2010/11/18(木) 04:17:51
WM_PAINT以外の場所でGetDC,ReleaseDCして描画した時、表示内容が欠けた際の補完処理(invalidaterectで再描画をシステムにお願いするような)したいのだけど無理?
こういう描画処理ってWM_PAINT内でifやらなんやらつかって処理すべきもの?具体的にはWM_LBUTTONDOWNでsin波表示させるようにしたい。
340デフォルトの名無しさん:2010/11/18(木) 06:59:37
sin波を描画した直後にその領域が無効化、
WM_PAINTで再描画されたらsin波が消えた、
ってパターンが嫌ならWM_PAINTに実装すべきだろうな。
更新頻度が高いとか重要度が低いとかなら、描きっ放しもありだと思うけど。
341デフォルトの名無しさん:2010/11/18(木) 09:16:19
ダブルバッファリング常考
342デフォルトの名無しさん:2010/11/18(木) 09:22:10
定期あげ
343デフォルトの名無しさん:2010/11/18(木) 10:05:42
もうだめだこのスレ
344デフォルトの名無しさん:2010/11/18(木) 12:40:06
元からカスだったじゃん
345デフォルトの名無しさん:2010/11/18(木) 13:05:36
>>343
もうだめねこのスレ
346デフォルトの名無しさん:2010/11/18(木) 13:10:50
ぬこのスレ
347デフォルトの名無しさん:2010/11/18(木) 13:19:08
ミクロナーゼ
348デフォルトの名無しさん:2010/11/18(木) 13:26:12
わんわんお?
349デフォルトの名無しさん:2010/11/18(木) 14:46:10
あずにゃん
350デフォルトの名無しさん:2010/11/18(木) 15:24:01
ペロペロ
351デフォルトの名無しさん:2010/11/18(木) 17:57:01
侵略ぅ〜
352デフォルトの名無しさん:2010/11/18(木) 18:24:06
教えてくださいませ。
TreeView_CreateDragImageの戻り値がNULLになってしまうのは
原因としてどのようなことが考えられるでしょうか。
私の環境にドラッグ用のビットマップが用意されてないということでしょうか。
353デフォルトの名無しさん:2010/11/18(木) 20:33:32
これは恥ずかしい
354デフォルトの名無しさん:2010/11/18(木) 20:34:39
(ノ∀`)アチャー
355デフォルトの名無しさん:2010/11/18(木) 20:50:18
定期あげ
356デフォルトの名無しさん:2010/11/18(木) 21:05:13
>>289 >>290

>>282-283 です。

解答ありがとうございました。

どうがんばってもボタン押下イベントをフックできないので
「マウスのクリックが発生したとき、ボタンにフォーカスがあったなら」
で対応するようにしました。

@ SetWindowsHookExで全マウスイベントを監視
A WM_LBUTTONUPであるなら、そのウィンドウハンドルでSendMessageを使って
 ウィンドウ(イベントの発生を知りたいボタン)のテキストを取得する
B 取得したテキスト名が監視したいボタンのテキストと同じなら処理実行

今日一日考えて、やっと実装できました。

まだまだ実装しないといけない機能は山ほどありますが・・・。
357デフォルトの名無しさん:2010/11/18(木) 21:09:35
>>340,341
なるほど〜。ありがとうございました。
358デフォルトの名無しさん:2010/11/18(木) 22:07:33
あなたの好きなWin32APIを1つ言いなさい
359デフォルトの名無しさん:2010/11/18(木) 22:57:02
bitblt
360デフォルトの名無しさん:2010/11/18(木) 23:07:41
Beep
361デフォルトの名無しさん:2010/11/18(木) 23:09:11
CopyRect
362デフォルトの名無しさん:2010/11/18(木) 23:26:55
DestroyCursor
363デフォルトの名無しさん:2010/11/18(木) 23:32:07
Explorer
364デフォルトの名無しさん:2010/11/18(木) 23:52:53
BitBlt
365デフォルトの名無しさん:2010/11/19(金) 00:21:27
a.exe a.batなどのファイルアイコンをクリックしたら
プロンプトの黒いウインドウを一瞬出さずに
キーボードのCtrl+S を押したのにと全く同じ効果があるプログラムって
C,C++,C# で出来ますかね?
入力のところまでは作れた記憶があるんですが
黒いウインドウが消せたかどうか覚えてなくて
366デフォルトの名無しさん:2010/11/19(金) 00:55:20
Windows(Server系)全般の質問かも知れませんが、Windowsのログインというのは1ユーザしかできないのでしょうか?
ターミナルサービスを使用したログインと実際にログインしているユーザは、また別物と考えてよいのでしょうか?

GetUserNameの関数で取得できるユーザが実際にログインしているユーザと認識しています。

367デフォルトの名無しさん:2010/11/19(金) 00:58:18
書いて思い出したんで質問を変えさせてくださいすけど昔作ったのは
アクティブなウインドウにキー入力を送るというやつで、

アクティブまたは大元のウインドウにキーを送るということで
実物のキーを押すのと等価といえるのでしょうか?

タスクバーからプロブラムを起動したら
***キーと***キー押下と同じ効果が起きて、 ショートカットキーであれば
同じように反応する、ということをやりたいんですが

プロンプトの抑制は自分でやってみます
368デフォルトの名無しさん:2010/11/19(金) 01:01:06
ちがいます。
369デフォルトの名無しさん:2010/11/19(金) 01:03:30
>>368
>>367
へのレスですか?
ありがとうございます。
火急のものでもないので64bitOSのに買い換えるまで放置します。
370デフォルトの名無しさん:2010/11/19(金) 02:36:12
>>366
エディションによるけど同時に複数の端末からログインしてホストを操作できるよ。
371デフォルトの名無しさん:2010/11/19(金) 04:51:10
Windowsで、URLスキームとアプリケーションを結びつけるにはどうするのでしょうか。
たとえばHTMLページに href="mailto:[email protected]" というリンクがあれば、このリンクをクリックするとメーラが起動します。
あるいは href="aim:goim?screenname=foobar" だったらAOLインスタントメッセンジャーが起動するでしょう。
このように、リンクのURLスキームとアプリケーションを結びつけたいのですが、
とっかかりになる情報だけでも教えていただけないでしょうか。
よろしくお願いします。
372デフォルトの名無しさん:2010/11/19(金) 05:26:16
フォルダオプション->ファイルの種類->URL:MailTo Protcol
ちがってたらスマソ
373デフォルトの名無しさん:2010/11/19(金) 07:48:17
Web Development
- Internet Explorer Development
- Content Extensions
- Pluggable Protocols
新しいスキームだとここら辺か?
ブラウザと直結するからあまりお勧めしないが。
374デフォルトの名無しさん:2010/11/19(金) 08:54:53
>>371
こんなところで質問しないと開発を進められないキミの技術レベルだと、
ブラウザにセキュリティ上の大穴あける確率がとても高い。

簡単にいえば、素人は手を出すな。キミには1000年早い。
375デフォルトの名無しさん:2010/11/19(金) 11:43:06
定期あげ
376デフォルトの名無しさん:2010/11/19(金) 13:36:54
>>372-373
ありがとうございます!「Pluggable Protocols」でぐぐったらいろいろ出てきたので
あとは自分で調べてみようと思います。
ちなみにMacでは同じ機能を「カスタムURLスキーム」と呼んでいます。
377デフォルトの名無しさん:2010/11/19(金) 19:35:03
誰がブラウザの話なんてしてるんだろ・・・
378デフォルトの名無しさん:2010/11/19(金) 19:48:25
オレオレ!
379デフォルトの名無しさん:2010/11/19(金) 20:28:55
HTMLのアンカー踏むだけで呼び出せるのだから、
ブラウザの話が出てこない方が不思議だろ。
380デフォルトの名無しさん:2010/11/19(金) 23:11:33
定期あげ
381デフォルトの名無しさん:2010/11/20(土) 01:21:36
>>386
Microsoft Quick C
382デフォルトの名無しさん:2010/11/20(土) 03:16:25
>>386
まあやっといて損はない。
383デフォルトの名無しさん:2010/11/20(土) 12:26:52
>>386超期待
384デフォルトの名無しさん:2010/11/20(土) 12:28:20
>>386
何が起こるんだ?
385デフォルトの名無しさん:2010/11/20(土) 12:33:47
1/4世紀も使われ続けている命令セットだからな。
386デフォルトの名無しさん:2010/11/20(土) 13:00:02
            _,、,、,、___
*     +  ,Oニ二_.工業用__)
        i!|i   〒 !   +    。     +    。     *     。
       +  i!|i 。 |  |
   *    i!|i + / /   イヤッッホォォォオオォオウ--------イ!
       ∧!|i∧ / /
      (´∀`u/ / +    。     +    。   *     。
      ,-u    f         ()]    カチッ!
      / ュヘ u  | *     + □(E)  。     +   。 +        
     〈_} )   |     ∧_∧/ /                          
        /    !    (´∀`*) /     +    +     *         
       ./  ,ヘ  |⊂ニニ     /
 ガタン ||| j  / |  | |||  /    /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  
387デフォルトの名無しさん:2010/11/20(土) 13:30:36
お前にはがっかりだよ・・・
388デフォルトの名無しさん:2010/11/20(土) 15:41:57
失望した
389デフォルトの名無しさん:2010/11/20(土) 16:44:49
>>386のせいで俺は自殺に追い込まれた・・・
390デフォルトの名無しさん:2010/11/20(土) 17:39:00
>>381-389の流れに感動した!
おまえらありがとう!
391デフォルトの名無しさん:2010/11/20(土) 19:53:19
定期あげ
392デフォルトの名無しさん:2010/11/20(土) 20:45:44
あぶらあげ
393デフォルトの名無しさん:2010/11/20(土) 21:00:56
あぶらさげ
394デフォルトの名無しさん:2010/11/20(土) 23:07:46
から揚げ
395デフォルトの名無しさん:2010/11/20(土) 23:32:06
からさげ
396デフォルトの名無しさん:2010/11/21(日) 02:09:40
POINT構造体とSIZE構造体ってわける必要あるんですか?
397デフォルトの名無しさん:2010/11/21(日) 02:30:33
そんなことを言ったらBOOLなんて……
398デフォルトの名無しさん:2010/11/21(日) 03:19:34
位置と大きさは違うだろ
399デフォルトの名無しさん:2010/11/21(日) 04:37:37
>>398
そう、概念はね。でも実装は(実質)同じ。
実装が同じでも概念が別なら別物として扱うべきか? という数十年来の
議論をまた蒸し返そうってんだぜ。>>396はよ。
400デフォルトの名無しさん:2010/11/21(日) 05:03:45
POINTとSIZEはともかく
RECTとRECTLの違いは何?
401デフォルトの名無しさん:2010/11/21(日) 05:10:38
POINTL, RECTL はメタファイル用。
402デフォルトの名無しさん:2010/11/21(日) 09:36:27
>>396
POINT構造体と↓こういう構造体をわける必要は無いかね?

struct baka_aho {
LONG number_of_baka;
LONG number_of_aho;
};
403デフォルトの名無しさん:2010/11/21(日) 11:55:57
WM_PAINTで描画処理を記述していると、
ウィンドウのサイズを変更するたびにウィンドウが点滅するのですが、
点滅しないようにできないのでしょうか?
他のアプリケーション見ていると点滅していないし、できるとは思うんですけど。
404デフォルトの名無しさん:2010/11/21(日) 12:21:01
double buffering
405デフォルトの名無しさん:2010/11/21(日) 12:55:05
>>403
ちらつき デバイスコンテキスト
で検索するとよい。
406デフォルトの名無しさん:2010/11/21(日) 13:02:03
>>404,>>405
ありがとうございます。
これで解決できそうです。
407デフォルトの名無しさん:2010/11/21(日) 15:32:11
定期あげ
408デフォルトの名無しさん:2010/11/21(日) 16:30:40
>>403
Flicker Free Drawing
ttp://www.catch22.net/tuts/flicker

Double-buffing and memory-DC's
The basic way double-buffering works is like this:

HDC hdcMem;
HBITMAP hbmMem;
HANDLE hOld;
PAINTSTRUCT ps;
HDC hdc;
....
case WM_PAINT:
// Get DC for window
hdc = BeginPaint(hwnd, &ps);
// Create an off-screen DC for double-buffering
hdcMem = CreateCompatibleDC(hdc);
hbmMem = CreateCompatibleBitmap(hdc, win_width, win_height);
hOld = SelectObject(hdcMem, hbmMem);
// Draw into hdcMem
// Transfer the off-screen DC to the screen
BitBlt(hdc, 0, 0, win_width, win_height, hdcMem, 0, 0, SRCCOPY);
// Free-up the off-screen DC
SelectObject(hdcMem, hOld);
DeleteObject(hbmMem);
DeleteDC (hdcMem);
EndPaint(hwnd, &ps);
return 0;
409デフォルトの名無しさん:2010/11/21(日) 16:32:13
サンプルとはいえ毎回コンパチブルビットマップ作るのかお(^ω^ ;)
410デフォルトの名無しさん:2010/11/21(日) 17:39:14
>>409
うんこうんこうんこー!
411デフォルトの名無しさん:2010/11/21(日) 17:40:03
CreateCompatibleBitmapってそんなに高負荷なの?
412デフォルトの名無しさん:2010/11/21(日) 17:47:01
>>411
毎回作るのは明ら蟹無駄だ都思わ内科医?
413デフォルトの名無しさん:2010/11/21(日) 18:14:48
じゃあビットマップを作り直すのは、色数が変更されたり、テーマを切り替わったり
デスクトップコンポジッションが変わったときだけでいいの?
414デフォルトの名無しさん:2010/11/21(日) 18:30:50
明日のお天気は
415デフォルトの名無しさん:2010/11/21(日) 18:45:26
416デフォルトの名無しさん:2010/11/21(日) 18:56:12
417デフォルトの名無しさん:2010/11/21(日) 18:56:57
418デフォルトの名無しさん:2010/11/21(日) 19:20:39
「今夜は寝かせないんだから」

谷はそういって服を脱ぎ始めた。
亮子はいつもそうだった。自分勝手で、わがままで。明日、試合を控えてる俺の事情などそっちのけで
子作りしたいなどと。まったくこまった奴だ。
でも、今日は許してあげようかと思う。最近ご無沙汰だった為、亮子はご機嫌斜めだったしな。
いやと言ってもやめてくれなさそうだし、諦めて夜のお勤め、させていただくとするか。 俺は服を脱ぎ始めた。

真っ赤にほてった亮子の素肌は、柔道家とは思えないきれいな肌だった。
カラダには無駄な肉は付いてないし、引き締まっててナイスボディだ。
裸体の谷も、柔道家の谷も、妻としての谷も、どれも俺は好きなのは知っていた。しかし、やはり郡を
ぬいて今の亮子は素敵だ。  なんつーのはいつも言ってる言葉か。  少し笑う。

いきり立つ俺の息子は、亮子の裸体に反応していた。それをみかねた亮子は、そっと
手でさすり始めた。  いや、しごきはじめた。が適切だろうか。 手コキだ。
くちゅくちゅと、唇で息子の先端をいやらしく吸っている亮子は、どこか激しかった。
ルビーのように赤くなった俺の息子は、激しい攻めに負け、一本とられてしまったようだ。  僕は射精した
419デフォルトの名無しさん:2010/11/21(日) 20:27:35
>>412
俺もそう思って極力作り直さないようにしてみたことがあったけど、
毎回作り直した場合と有意な差は出なかった。
420デフォルトの名無しさん:2010/11/21(日) 20:47:54
DeleteObjectで直ぐに解放されなかった場合はGDIハンドル数が大増殖するな
421デフォルトの名無しさん:2010/11/21(日) 21:18:46
SelectObjectしっぱなしなんだろ
422デフォルトの名無しさん:2010/11/21(日) 21:20:30
定期あげ
423デフォルトの名無しさん:2010/11/21(日) 21:23:16
>>418
新谷良子を知らないんだね
424デフォルトの名無しさん:2010/11/21(日) 21:28:38
コピペにマジレスとか
425デフォルトの名無しさん:2010/11/21(日) 21:35:28
マジレスに見えるとか
426デフォルトの名無しさん:2010/11/21(日) 21:38:54
突っ込んでもらってなんだけど、俺はコピペの選択についてマジレスしたのでした
427デフォルトの名無しさん:2010/11/21(日) 21:48:02
谷亮子APIを開発
428デフォルトの名無しさん:2010/11/21(日) 21:52:31
エ、エロひ………
429デフォルトの名無しさん:2010/11/21(日) 23:49:47
RECT構造体にしていできる最大の座標はいくつなんでしょうか?
また、その値はwindows.hに定義されているのでしょうか。
430デフォルトの名無しさん:2010/11/21(日) 23:51:55
3万いくらだったかな
431デフォルトの名無しさん:2010/11/21(日) 23:53:25
typedef struct tagRECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
432デフォルトの名無しさん:2010/11/21(日) 23:54:10
CopyRect
433デフォルトの名無しさん:2010/11/22(月) 00:03:46
>>432
お前は一体何に使えばいいの?
434デフォルトの名無しさん:2010/11/22(月) 00:11:41
これ作った人は、構造体の代入がCでできることを知らなかったのかね・・・
435デフォルトの名無しさん:2010/11/22(月) 00:13:14
Cは最初できなくて途中で仕様変更はいったんだっけ?
436デフォルトの名無しさん:2010/11/22(月) 00:14:47
規格では出来る ≠ 全ての実装で出来る
MS-C とかな
437デフォルトの名無しさん:2010/11/22(月) 00:18:20
memcpyじゃだめだったんだろうか
438デフォルトの名無しさん:2010/11/22(月) 00:18:52
VBのことも考えてやれよ
439デフォルトの名無しさん:2010/11/22(月) 00:33:00
別の言語の為にわざわざSetRectとか用意してるんだね…って勝手に解釈してたんだが。
440デフォルトの名無しさん:2010/11/22(月) 00:49:47
VBのためか・・・それは納得せざるを得ない
441デフォルトの名無しさん:2010/11/22(月) 01:01:49
VBリリース以前からあるんだが。
442デフォルトの名無しさん:2010/11/22(月) 01:39:53
Don't think,FEEL!
443デフォルトの名無しさん:2010/11/22(月) 02:16:53
OffsetRectもひどいなw
444デフォルトの名無しさん:2010/11/22(月) 04:28:23
当時はオブジェクト指向が流行ってたんだよ
445デフォルトの名無しさん:2010/11/22(月) 16:57:06
定期あげ
446デフォルトの名無しさん:2010/11/22(月) 17:09:04
RECTの内部構造に依存したプログラムは駄目なんじゃないか?
初期化にはSetRect
コピーにはCopyRect
比較にはEqualRect等
解放前にはSetRectEmpty
この基本を守らないと将来のWindowsでメモリリークなどの可能性が
447デフォルトの名無しさん:2010/11/22(月) 18:18:11
タスクマネージャから行う「関係の設定」を自プロセスから自分に対して制御する方法は無いでしょうか?
スレッドアフィニティーだと、自前の処理で発生したスレッドの管理はできますが、ライブラリが
生成したスレッドまではカバーできません。

よろしくお願いします。
448デフォルトの名無しさん:2010/11/22(月) 18:28:23
449デフォルトの名無しさん:2010/11/22(月) 18:28:56
自己レス
SetProcessAffinityMask
がありました。試してみます
450デフォルトの名無しさん:2010/11/22(月) 18:36:32
>>448-449
これは酷い
451447:2010/11/22(月) 18:42:06
>>448
どうもすみません。レスに気がつかなくて。
ありがとうございます
452CopyRect:2010/11/22(月) 19:45:57
呼んだ?
453デフォルトの名無しさん:2010/11/22(月) 19:54:48
┃|  三
┃|     三
┃|  三
┃|    三
┃|  三
┃|
┃| ピシャッ!
┃|  ∧∧
┃|  (;  ) 三
┃|⊂    \
454デフォルトの名無しさん:2010/11/22(月) 22:31:33
お尋ねしたいのですが、人に謝罪するにはどうしたらよいのでしょうか?
その方法を、母も、姉も、父も、先生も、みな教えてはくれませんでした。
どうしたらいいかわからず困惑しております、助けてください!!
スレ違いかも知れませんが、当方極めて切羽詰っております、平にご容赦を・・・
455デフォルトの名無しさん:2010/11/22(月) 22:33:49
まずCopyRectに謝れ
456デフォルトの名無しさん:2010/11/22(月) 22:36:15
>>450
30秒でその指摘はひどい
457デフォルトの名無しさん:2010/11/22(月) 23:31:59
>>454
マジレスすると、君の思いをどうやって伝えるかという一点になる。
その表現方法は色々あるけど、それは場合で選択するべきであり、
何を持って謝罪とするかは両者の合意に近いものだ。
だから考えろ。そして元のバランスの取れた状態に戻す方法を思案するんだ。
458デフォルトの名無しさん:2010/11/22(月) 23:34:34
>>446
まぁ用意されてる関数でやるのが妥当なんだろうけど、
どうせCopyRectExExとかが登場するのさ
459デフォルトの名無しさん:2010/11/22(月) 23:37:21
SuperCopyRectorExtream
460デフォルトの名無しさん:2010/11/22(月) 23:40:00
CopyRectExExEx_Extended
461デフォルトの名無しさん:2010/11/23(火) 00:10:26
プログラマってのはいいですね。2つ覚えておきゃいいんですから。
462デフォルトの名無しさん:2010/11/23(火) 01:06:11
>>461
まて、元ネタはとんでもなく低レベルだが
それはとんでもなく高次元で人間やめてるぞ
463デフォルトの名無しさん:2010/11/23(火) 01:18:25
gotoとexitですね
464デフォルトの名無しさん:2010/11/23(火) 01:19:08
10:GOTO 10
465デフォルトの名無しさん:2010/11/23(火) 01:41:08
確かに Windows Internals と Windows via C/C++ の2つだけ覚えとけば大丈夫だよな。
466デフォルトの名無しさん:2010/11/23(火) 01:44:10
全てはIO。入力と出力である。
467デフォルトの名無しさん:2010/11/23(火) 02:28:12
くそひりむし
468デフォルトの名無しさん:2010/11/23(火) 05:36:50
>>459はExtremeの綴りを素で間違えたあげ
469デフォルトの名無しさん:2010/11/23(火) 09:07:38
ほんとだ
470デフォルトの名無しさん:2010/11/23(火) 09:21:36
スペルミスなんざ押し通したもの勝ちなんだよ。
HTTPのRefererとか。(正しくはReferrer)
471デフォルトの名無しさん:2010/11/23(火) 10:03:10
constractor は意外と多くて困る
472デフォルトの名無しさん:2010/11/23(火) 12:09:31
>>470
まじかよ…
ずっとrefererって英単語だと思ってた
473デフォルトの名無しさん:2010/11/23(火) 12:14:49
一瞬名前スレかと思った
474デフォルトの名無しさん:2010/11/23(火) 13:00:41
creat(笑)
475デフォルトの名無しさん:2010/11/23(火) 15:52:45
>>471
違うの?
476デフォルトの名無しさん:2010/11/23(火) 16:37:34
>>472
RFCにもReferer[sic]って書いてあるだろ。

>>475
constructorって普通指が覚えてないか?
477デフォルトの名無しさん:2010/11/23(火) 16:49:39
>>476
abstruct も時々みかける
478デフォルトの名無しさん:2010/11/23(火) 17:51:02
RFCに書いてあるのなら仕方ないな
479デフォルトの名無しさん:2010/11/23(火) 18:07:58
RFCなら仕方がない
480デフォルトの名無しさん:2010/11/23(火) 19:11:31
RFCなら
481デフォルトの名無しさん:2010/11/23(火) 19:25:19
RFCを鵜呑みしているようではまだまだじゃな
482デフォルトの名無しさん:2010/11/23(火) 19:49:55
ならばおぬしのRFCを見せてもらおう
483デフォルトの名無しさん:2010/11/23(火) 19:57:33
これが俺の取っておきよォ!
484デフォルトの名無しさん:2010/11/24(水) 00:12:52
RFCってそんなにすごいのか?
485デフォルトの名無しさん:2010/11/24(水) 00:47:15
11種類の秘伝のスパイスが効いててな
486デフォルトの名無しさん:2010/11/24(水) 00:54:21
辛口でおねがい
487デフォルトの名無しさん:2010/11/24(水) 02:10:02
>>446
C辺りで問題が出そうなのは比較のみ。
488デフォルトの名無しさん:2010/11/24(水) 09:26:41
それはない
489デフォルトの名無しさん:2010/11/24(水) 15:40:40
>>487,488
kwsk
490デフォルトの名無しさん:2010/11/24(水) 15:42:37
RECTを拡張する必要性なんか出てくるのか?
491デフォルトの名無しさん:2010/11/24(水) 16:25:49
z座標が追加される程度なら問題ないが
可変次元になったら死ぬかも
492デフォルトの名無しさん:2010/11/24(水) 16:53:26
ここまで古い仕様だとRECTを拡張するより新しく定義したほうが互換性の面でも問題でないんでないかい?
ヒープに確保するような面倒なこともそうそうしないし。
493デフォルトの名無しさん:2010/11/24(水) 16:55:26
RECTEX
494デフォルトの名無しさん:2010/11/24(水) 17:31:08
定期あげ
495デフォルトの名無しさん:2010/11/24(水) 17:32:12
そしてsage
496デフォルトの名無しさん:2010/11/24(水) 17:39:29
497デフォルトの名無しさん:2010/11/24(水) 17:42:06
エッチなまうまう?
498デフォルトの名無しさん:2010/11/24(水) 18:37:14
エッチしてるなう
499デフォルトの名無しさん:2010/11/24(水) 18:45:38
わんわんお?
500デフォルトの名無しさん:2010/11/24(水) 18:53:19
501デフォルトの名無しさん:2010/11/24(水) 19:45:42
ラングーン事件
http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%82%B0%E3%83%BC%E3%83%B3%E4%BA%8B%E4%BB%B6
その後の変遷
日本の朝鮮学校では、本件ラングーン事件および大韓航空機爆破事件について、
「北朝鮮による犯行ではない」とする教育が2010年現在も行われている。
502デフォルトの名無しさん:2010/11/24(水) 20:23:34
if(>>501){
goto >>500;
}
503デフォルトの名無しさん:2010/11/24(水) 23:12:26
500>>501=501>>500=0
504デフォルトの名無しさん:2010/11/24(水) 23:32:26
echo 501 >>500
505デフォルトの名無しさん:2010/11/25(木) 01:19:51
while( true );
506デフォルトの名無しさん:2010/11/25(木) 03:47:23
TerminateThread(KusoThreadHandle, -1 );
507デフォルトの名無しさん:2010/11/25(木) 04:23:53
DWORD WINAPI procThread(LPVOID p)
{
DWORD dummy;
CreateThread(NULL, 0, procThread, NULL, 0, &dummy);
CreateThread(NULL, 0, procThread, NULL, 0, &dummy);
ExitThread(0);
return 0;
}

int main(int argc, char *argv[])
{
procThread(NULL);
}
508デフォルトの名無しさん:2010/11/25(木) 09:13:55
kill >>507
509デフォルトの名無しさん:2010/11/25(木) 09:18:37
#include <WindowsExEx.h>
510デフォルトの名無しさん:2010/11/25(木) 12:48:02
WindowsExtream
511デフォルトの名無しさん:2010/11/25(木) 16:20:13
window sex
512デフォルトの名無しさん:2010/11/25(木) 16:40:34
sexなんて数千年前からあるような過去の遺物
早急に廃止するべき
513デフォルトの名無しさん:2010/11/25(木) 16:55:49
Windows Sex Development Kit
514デフォルトの名無しさん:2010/11/25(木) 19:16:00
WNDCLASSEX
515デフォルトの名無しさん:2010/11/25(木) 19:41:11
>>514
打つとき毎回邪な事を考えてしまう
516デフォルトの名無しさん:2010/11/25(木) 20:10:46
この字面でネイティブの人たちは変なこと考えないのかな
517デフォルトの名無しさん:2010/11/25(木) 20:16:27
この程度で変な事考えてたら身が持たない
518デフォルトの名無しさん:2010/11/25(木) 20:20:49
うんど暮ラセックス
519デフォルトの名無しさん:2010/11/25(木) 20:23:49
>>517
刺身
520デフォルトの名無しさん:2010/11/25(木) 20:27:53
man command
521デフォルトの名無しさん:2010/11/25(木) 21:38:00
HBITMAP
522デフォルトの名無しさん:2010/11/25(木) 22:13:16
HITBIT
523デフォルトの名無しさん:2010/11/25(木) 22:17:08
H.HIP
524デフォルトの名無しさん:2010/11/25(木) 22:19:44
何この流れ
525デフォルトの名無しさん:2010/11/25(木) 22:22:10
HSketchOnetouch
526デフォルトの名無しさん:2010/11/25(木) 23:08:14
INITCOMMONCONTROLSEX
527デフォルトの名無しさん:2010/11/25(木) 23:30:40
Sleep(-1);
528デフォルトの名無しさん:2010/11/26(金) 12:12:08
定期あげ
529デフォルトの名無しさん:2010/11/26(金) 20:29:11
Windows2003サーバーのターミナルサービス環境で、リモート接続したクライアントがGetUserName関数を呼んだ場合、
そのリモート接続のユーザ名が取得されるで正しいですか?
手元に環境がないので、わかりません。

530デフォルトの名無しさん:2010/11/26(金) 21:44:41
>>529
そのスレッドを実行させたユーザーの名前がかえりますヨン
531デフォルトの名無しさん:2010/11/26(金) 23:33:46
定期あげ
532デフォルトの名無しさん:2010/11/27(土) 01:38:04
定期あげ
533デフォルトの名無しさん:2010/11/27(土) 05:12:46
TerminateWorldPeace
534デフォルトの名無しさん:2010/11/27(土) 14:27:31
>>529
環境がないなら、XP/Vista/7のリモートデスクトップで試したらいいと思うよ。
535デフォルトの名無しさん:2010/11/27(土) 14:42:37
>529 は何が返ると思っているんだろうか。気になる。
接続ユーザー以外で返りそうなものって何がある?
536デフォルトの名無しさん:2010/11/27(土) 17:23:35
SYSTEM
537デフォルトの名無しさん:2010/11/27(土) 19:48:43
いいからAPI出せや
538デフォルトの名無しさん:2010/11/27(土) 19:55:45
CopyRect
539デフォルトの名無しさん:2010/11/27(土) 20:39:25
神APIだな
構造体のコピーができなくてもできる
540デフォルトの名無しさん:2010/11/27(土) 20:43:16
???
541デフォルトの名無しさん:2010/11/27(土) 20:48:29
!!!
542デフォルトの名無しさん:2010/11/27(土) 21:31:23
&&&
543デフォルトの名無しさん:2010/11/27(土) 21:31:58
へへへ
544デフォルトの名無しさん:2010/11/27(土) 22:09:34
|||
545デフォルトの名無しさん:2010/11/27(土) 22:13:17
フフフフフフ
546デフォルトの名無しさん:2010/11/27(土) 22:45:57
つ WindowFromPhysicalPoint
547デフォルトの名無しさん:2010/11/27(土) 23:24:49
僕のCopyRectも閉鎖されそうです
548デフォルトの名無しさん:2010/11/27(土) 23:46:23
下半身のCopyRectは今日も元気です
549デフォルトの名無しさん:2010/11/27(土) 23:49:51
chinko.elect();
550デフォルトの名無しさん:2010/11/28(日) 03:32:28
整数型やらの変数の中身を描くにはどうしたらいいの
wprintfとかsprintfとかいじっているけど全然分からない
こういうように考えること自体が的外れなんかな
551デフォルトの名無しさん:2010/11/28(日) 04:35:33
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
Cの基本的なことは4時間も集中すれば十分覚えられる。ガンバルンバ
あとポインタは飛ばしていいかもしれない。Win32使ってる間に自然に覚えられる。
552デフォルトの名無しさん:2010/11/28(日) 04:40:01
追記とりあえずsprintfとprintfで簡単なプログラムくんでみ。これ以上はスレチだから後は具具って頂戴
553デフォルトの名無しさん:2010/11/28(日) 11:19:42
定期あげ
554デフォルトの名無しさん:2010/11/28(日) 17:30:06
ポインタ理解できないやつはアセンブリ勉強すれば一発で理解できると
思われ
555デフォルトの名無しさん:2010/11/28(日) 17:33:23







556デフォルトの名無しさん:2010/11/28(日) 17:51:18
アプリケーションドメインに属する.Netオブジェクトのことですね
557デフォルトの名無しさん:2010/11/28(日) 18:05:26
BASICやったら一発でポインタ理解できた
558デフォルトの名無しさん:2010/11/28(日) 18:10:39
ポインタが分からないって言ってる人が
何を分からないっていってるのか分からない
559デフォルトの名無しさん:2010/11/28(日) 18:45:23
とりあえず”ポインタのポインタ”を使う場面が、アドレスをポインタ渡しする場合を除いて未だよくわからないw
560デフォルトの名無しさん:2010/11/28(日) 18:51:54
DirectXとかCOMで一杯出てくるよ
561デフォルトの名無しさん:2010/11/28(日) 18:52:17
ジャグ配列作りたいときとか
562デフォルトの名無しさん:2010/11/28(日) 18:52:48
main()のchar **argvとか
563デフォルトの名無しさん:2010/11/28(日) 19:12:37
ポインタを受けとった側は
あくまでポインタのコピーを受け取っただけ
つまり受け渡し側がそのポインタに対して何か操作をしたとしても
そのポインタがさすアドレスに入ってる値を知ることはできるが
アドレス自体がどうなってるかは感知することが出来ない

例えば呼び出し元がそのアドレスにあるものを開放しちゃって無効になっていたり
別のオブジェクトをさすように書き換えたりしても
受け取り側のアドレスはコピーなので渡された時点のアドレスにあるものを処理しようとしてしまう
564デフォルトの名無しさん:2010/11/28(日) 19:25:20
とりあえず * ** & *() とかいろいろやってれば解決する (現役25年)
565デフォルトの名無しさん:2010/11/28(日) 19:30:41
25年ってえと知命は過ぎてるんだろうか
566デフォルトの名無しさん:2010/11/28(日) 20:31:19
しり命ってどういうことですか?
567デフォルトの名無しさん:2010/11/28(日) 20:35:17
ふぃふてぃーいやーずおるーど
568デフォルトの名無しさん:2010/11/28(日) 20:41:50
天命を知る
天命ねえ…エラソーだね
569デフォルトの名無しさん:2010/11/28(日) 20:50:24
てめぇの天命
570デフォルトの名無しさん:2010/11/28(日) 20:51:04
てやんでぃ
571デフォルトの名無しさん:2010/11/28(日) 21:01:22
年末ジャンボ
572デフォルトの名無しさん:2010/11/28(日) 21:20:52
尾崎
573デフォルトの名無しさん:2010/11/28(日) 21:25:18
574デフォルトの名無しさん:2010/11/28(日) 21:35:47
575デフォルトの名無しさん:2010/11/28(日) 21:36:25
576デフォルトの名無しさん:2010/11/28(日) 21:37:08
577デフォルトの名無しさん:2010/11/28(日) 22:51:08
578デフォルトの名無しさん:2010/11/28(日) 22:54:56
579デフォルトの名無しさん:2010/11/28(日) 23:31:30
580デフォルトの名無しさん:2010/11/28(日) 23:35:30
郎…
581デフォルトの名無しさん:2010/11/29(月) 00:31:35
>>551
回答ありがとう
深夜でほとんどやけくそになっていたから質問が日本語になってないな
要約すると、恐らくLPCSTRやLPCTSTRやWってなんだよそれに整形して入れるにはどうしたらいいんだろうという話だったんだと思う

static TCHAR buf[4];
sprintf(buf,"%d",21);
TextOut(hdc,100,150,buf,lstrlen(buf));

をユニコードでやっていたからエラーだったのでググった結果マルチバイトにしたら通った
ただユニコードならどうやればいいのかまだ分からないのでどなたか教えて欲しい
同じように

static WCHAR buf[4];
wprintf(buf,"%d",21);
TextOut(hdc,100,150,buf,lstrlen(buf));

としてみたがコンパイラは通るが動かない
582デフォルトの名無しさん:2010/11/29(月) 00:38:04
>>581
TextOutW
にしたらどう?
583デフォルトの名無しさん:2010/11/29(月) 01:00:46
>>581
_T("文字列")
584デフォルトの名無しさん:2010/11/29(月) 01:03:28
自作の構造体my_tをコピーするCopyMyT() APIを実装するにはどうしたらいいですか?
585デフォルトの名無しさん:2010/11/29(月) 01:31:28
586デフォルトの名無しさん:2010/11/29(月) 02:30:28
>>583
助かった、ありがとう
tchar.hと_stprintf_sという関数があったのか
やっぱやり方ばかりに囚われないでユニとかマルチワイドとか基本的なことから押さえないとアカンね
587デフォルトの名無しさん:2010/11/29(月) 03:50:37
WindowsプログラミンにおいてCRTで出来ることをWin32APIでやるのは基本的にいいことなのでしょうか?
588デフォルトの名無しさん:2010/11/29(月) 03:55:38
定期あげ
589デフォルトの名無しさん:2010/11/29(月) 05:21:13
SSEで今日の俺は4倍速
590デフォルトの名無しさん:2010/11/29(月) 05:23:02
>>587
単純なプログラムほど出力物のファイルサイズ激減
CRT意外とおっき
591デフォルトの名無しさん:2010/11/29(月) 05:39:05
>>590
そんな大きいの入らないお?
592デフォルトの名無しさん:2010/11/29(月) 09:21:34
_stprintf_sの本体ってprintだよな
修飾部分が本体の文字数を超えるほど何度も拡張されてるんだな
593デフォルトの名無しさん:2010/11/29(月) 10:11:25
ツールチップ(tooltips_class32)で、改行コード(\nや\r\n)を入れてもツールチップ文字列が改行されないのだが、改行させるにはどうすればいいだろうか
594デフォルトの名無しさん:2010/11/29(月) 10:20:48
普通に\nで改行するけど
595593:2010/11/29(月) 10:24:46
バルーンチップにしたら改行できた 解決
596デフォルトの名無しさん:2010/11/29(月) 10:30:37
プリン
597デフォルトの名無しさん:2010/11/29(月) 10:42:55
プリン
598デフォルトの名無しさん:2010/11/29(月) 11:18:23
プリソ
599デフォルトの名無しさん:2010/11/29(月) 14:36:24
プンリ
600デフォルトの名無しさん:2010/11/29(月) 17:12:12
プソリ
601デフォルトの名無しさん:2010/11/29(月) 17:16:02
このスレBooで舐めまわされてるのか
602デフォルトの名無しさん:2010/11/29(月) 17:22:08
さげ
603デフォルトの名無しさん:2010/11/29(月) 17:25:50
定期あげ
604デフォルトの名無しさん:2010/11/29(月) 17:43:19
手動Fooですので
605デフォルトの名無しさん:2010/11/29(月) 19:14:35
定期あげ
606デフォルトの名無しさん:2010/11/29(月) 23:00:50
水揚げ
607デフォルトの名無しさん:2010/11/30(火) 03:32:49
おっす、オラ極右!
608デフォルトの名無しさん:2010/11/30(火) 09:50:15
定期あげ
609デフォルトの名無しさん:2010/11/30(火) 23:13:39
ダイアログベースのウインドウに、リストビューコントロールをくっつけて、
画像ファイルのサムネイルを表示してみようとしたのですが、
ImageListに80x80ピクセルのHBITMAPを設定したのですが、真っ黒でしか表示されません。
FillRectで紫で塗りつぶしたりしてみましたが、一向に変化なし。
ためしに、ピクチャーコントロールにHBITMAPを貼り付けてみたら、正しく表示されました。
これって、何か設定が足りないのでしょうか? もしかして、アイコンしか表示できないのでしょうか?
610デフォルトの名無しさん:2010/11/30(火) 23:17:52
>>609
ソース貼ってみろ
イメージリストにビットマップを読み込むところがおかしいんだろう
611デフォルトの名無しさん:2010/11/30(火) 23:33:22
ということは、大きなサイズのHBITMAP画像(フルカラー)でも
問題なくリストビューに表示できるということですね。
612デフォルトの名無しさん:2010/12/01(水) 00:04:21
顧問コントロールのリストビューは256までだったような
613デフォルトの名無しさん:2010/12/01(水) 00:10:30
とりあえずHBITMAPとしては正しいみたいだから、
次はImageList_Drawで描画されるか確認したら良いんじゃないか?
614デフォルトの名無しさん:2010/12/01(水) 00:16:33
ピクチャーコントロールに対して、ImageList_Drawも試してみましたが、
真っ黒でした。
やっぱフルカラーデータをリストビューに表示ってのがマズイのかも知れませんね。
615デフォルトの名無しさん:2010/12/01(水) 00:19:33
ためしに16*16の8BITデータ読ませてみるとか。映れば良しダメならコードに問題ある。
616デフォルトの名無しさん:2010/12/01(水) 00:27:30
イメージリスト作るときILC_COLOR32指定してないとか
617デフォルトの名無しさん:2010/12/01(水) 00:28:36
ん、文章がおかしいぞ。
ピクチャーコントロールに対して、HBITMAPの表示はOK。
イメージリストに登録したHBITMAPは、ピクチャーコントロール、リストビュー共にNG。
ということは、やっぱイメージリストの設定がおかしいのか…。
ちなみに、ImageList_Createの最後の引数、cGrowって0以外の数値でも大丈夫ですか?
ImageList_Addしてって、cInitialの個数を超えたら、cGrowまで拡張って解釈してるんですけど。
618デフォルトの名無しさん:2010/12/01(水) 00:30:06
最初はILC_COLOR24にしてましたが、真っ黒だったので、ILC_COLOR32も試してみましたが
同様でした。
619デフォルトの名無しさん:2010/12/01(水) 00:30:34
じゃあILC_COLORDDB試してみるとか
620デフォルトの名無しさん:2010/12/01(水) 00:32:30
hdc要求するような関数でNULL指定してるかそれ相当してるとか・・・。
621デフォルトの名無しさん:2010/12/01(水) 02:00:07
256x256のImageListに、SHGetFileInfo()で取得した32x32のアイコンをAddIconした場合、
拡大されてしまう為、これを阻止し、
アイコンを中央に表示したいと思うのですが、どういった方法をとればよいのでしょうか。
HBITMAPに貼り付けてAddしてみたのですが、ギザギザなアイコンしか表示することが出来ませんでした。
622デフォルトの名無しさん:2010/12/01(水) 08:57:12
定期あげ
623デフォルトの名無しさん:2010/12/01(水) 08:58:29
定期さげ
624デフォルトの名無しさん:2010/12/01(水) 09:01:13
ここゎ何のスレデスカ??@@
625デフォルトの名無しさん:2010/12/01(水) 09:34:41
@@
626デフォルトの名無しさん:2010/12/01(水) 10:38:29
過疎
627デフォルトの名無しさん:2010/12/01(水) 17:04:59
定期あげ
628デフォルトの名無しさん:2010/12/01(水) 19:28:54
>>621
元々、複数の同サイズのイメージを管理するためのものだから、
そういう対応は難しい気がする。
予め256x256の画像の中心に貼り付けてから追加するとか、
自前で好きなように描画するとかしかないんじゃないか?
629デフォルトの名無しさん:2010/12/01(水) 20:04:25
↑マジワロスww
630デフォルトの名無しさん:2010/12/01(水) 20:07:47
↑↑テラワロスww
631デフォルトの名無しさん:2010/12/01(水) 21:15:07
609ですが、解決しました。
イメージリストに登録する前に、HBITMAPのデバイスコンテキストを
開放していないことがいけなかったようです。
632デフォルトの名無しさん:2010/12/02(木) 02:34:57
リストビューでサムネイルを表示した際、アイテムをクリックすると、画像までもが反転表示されてしまいます。
反転表示させず、エクスプローラの様に黒枠で囲むにはどのような操作が必要でしょうか。
633デフォルトの名無しさん:2010/12/02(木) 03:10:55
定期あげ
634デフォルトの名無しさん:2010/12/02(木) 13:41:57
あげ
There are no programmers.
There are only 2channelers.
635デフォルトの名無しさん:2010/12/02(木) 18:27:49
定期あげ
636デフォルトの名無しさん:2010/12/02(木) 20:57:35
よくウィンドウズのアプリで2重起動を禁止しているアプリがありますが、起動しているアプリが最小化や他のアプリの背後に存在しているときに、
2重起動でプログラムを実行すると、1つ目のアプリにフォーカスが当たり最前に表示(最小化から復元)するのを見かけます。これと同じことをしたい
のですが、どのように実装すればよいのでしょうか?
637デフォルトの名無しさん:2010/12/02(木) 20:59:46
>>636
まず、多重起動してるかかくにんする。
次にウインドウハンドルをとって最小化を解除する。
後はお好きに。
638デフォルトの名無しさん:2010/12/02(木) 23:35:56
mutex
639デフォルトの名無しさん:2010/12/02(木) 23:43:28
findwindow
640デフォルトの名無しさん:2010/12/03(金) 01:11:18
CreateFontでメモリ上にあるフォントファイルを読み込む方法はある?
641デフォルトの名無しさん:2010/12/03(金) 01:47:07
メモリの内容を一時ファイルに書き出して、そのファイルを読み込むのが一般的。
642デフォルトの名無しさん:2010/12/03(金) 07:46:10
定期あげ
643デフォルトの名無しさん:2010/12/03(金) 08:09:22
mmioOpenを使い、メモリ上のファイルを読み込もうと思っていますが、うまくいきません。

HMMIO hMmio = NULL;

MMIOINFO m;
memset(&m, 0, sizeof(MMIOINFO));
m.pchBuffer = メモリへのポインタ;
m.fccIOProc = FOURCC_MEM;
m.cchBuffer = サイズ;
hMmio = mmioOpen(NULL, &m, MMIO_ALLOCBUF | MMIO_READ);

上のm.pchBuffer = メモリへのポインタ;でアクセス違反で止まってしまいます。
MSDNにMMIOINFOについて載っていないのでよくわかりません。ご教授お願いします。
644デフォルトの名無しさん:2010/12/03(金) 08:15:40
> MSDNにMMIOINFOについて載っていないのでよくわかりません
それは偽物のMSDN。本物は
http://msdn.microsoft.com/en-us/library/dd757331(VS.85).aspx
645デフォルトの名無しさん:2010/12/03(金) 09:19:39
>>644
サンクスできた
646デフォルトの名無しさん:2010/12/03(金) 15:27:53
偽者w
647デフォルトの名無しさん:2010/12/03(金) 17:30:10
為者w
648デフォルトの名無しさん:2010/12/03(金) 17:57:34
為箸w
649デフォルトの名無しさん:2010/12/03(金) 18:27:50
為替w
650デフォルトの名無しさん:2010/12/03(金) 18:29:09
はいはい終了
651デフォルトの名無しさん:2010/12/03(金) 18:32:50
為賛w
652デフォルトの名無しさん:2010/12/03(金) 18:40:11
TerminateThreadを無視するとはけしからん
653デフォルトの名無しさん:2010/12/03(金) 18:59:23
TerminateThread( hKusoThread );
654640:2010/12/03(金) 19:32:52
AddFontMemResourceExで出来ました。
655デフォルトの名無しさん:2010/12/04(土) 10:37:23
650=652
656デフォルトの名無しさん:2010/12/04(土) 11:33:24
656==656
657デフォルトの名無しさん:2010/12/04(土) 11:35:30
657===657
658デフォルトの名無しさん:2010/12/04(土) 12:07:19
定期あげ
659デフォルトの名無しさん:2010/12/04(土) 19:45:24
CopyRectあげ
660デフォルトの名無しさん:2010/12/04(土) 20:16:18
そのAPIはない!
661デフォルトの名無しさん:2010/12/04(土) 20:17:21
互換性のためにうんぬんかんぬん…
662デフォルトの名無しさん:2010/12/05(日) 01:01:14
誰かRaymond ChenにCopyRectの歴史を訊いてくれ
663デフォルトの名無しさん:2010/12/05(日) 01:17:38
GetWindowには、ループ中で使うと相手のウィンドウが途中で消えたりZ座標が変わったりした場合に問題が起きますが、
FindWindowExにはそのような問題はないのでしょうか?
最初にhwndChildAfter=NULLで呼び出したときにウィンドウツリーのスナップショットを持っていてくれればよいのですが、
EnumChildWindowsの場合と違って、スナップショットのメモリを解放すべき時期がWin32には分からないように思えます。
664デフォルトの名無しさん:2010/12/05(日) 02:22:06
スナップショット持っててもウィンドウがなくなってたらどうしようもないな
665デフォルトの名無しさん:2010/12/05(日) 04:42:27
Win64API本って買っといた方がいいの?
ヤフオクとかで安く出てるけど。
666デフォルトの名無しさん:2010/12/05(日) 04:43:37
ゴミだから手放すんだろ
667デフォルトの名無しさん:2010/12/05(日) 09:07:26
API自体はほとんど Win32 API とおなじで
一部 64bit専用の API が追加されてることと
データ型のサイズに気をつけることと
あとまぁちょっとぐらいなにかあったかもしれない。
本はちゃんと読んでないからわからないけど
最初の方で Win64 でのプログラミングに関して
注意する点だけ書いて
あとは Win32本と基本的に同じなんじゃないかな。

一応 MSDN に情報はある。

64 ビット Windows プログラミング ガイド
http://msdn.microsoft.com/ja-jp/library/bb427430(v=VS.85).aspx
668デフォルトの名無しさん:2010/12/05(日) 10:14:05
669デフォルトの名無しさん:2010/12/05(日) 19:48:55
定期あげ
670デフォルトの名無しさん:2010/12/05(日) 21:06:47
教えてください。

例えばコントロールAのクライアント内でマウスをクリックする度に
画像を切り替えていく処理を作っていてBitBltで実現しているのですが、
描画する度に前回の描画状態が残ってしまいます。

InvalidateRect( NULL, NULL, TRUE );でやると前回の描画状態も
消えてくれるのですが、画面全体がちらついてしまうので
やはり対象のコントロールAのクライアント領域に対してのみ
前回描画状態のリフレッシュをやったあと描画をやりたいのですが
どういうやり方でやればいいのでしょうか?


色々試したのですがどうしてもできません。
よろしくお願いします。
671デフォルトの名無しさん:2010/12/05(日) 21:07:41
ダブルバッファでggrks
672デフォルトの名無しさん:2010/12/05(日) 21:12:25
WPF使えばいいのに・・・
673デフォルトの名無しさん:2010/12/05(日) 21:30:59
>>670
せめて、第一引数にウインドウハンドル入れるんだ。改善しないと思うけど。
第二引数はGetCliantRectでとったものを入れるのが望ましく、
第三引数はFALSEにしておいて、ウインドウ全体をかきかえるのが望ましいかな。

ダーティレクトは捨てるんだ。
674デフォルトの名無しさん:2010/12/05(日) 21:31:59
覚えること多いから手間考えるとお勧めはできない
675デフォルトの名無しさん:2010/12/05(日) 22:21:58
>描画する度に前回の描画状態が残ってしまいます。

>前回描画状態のリフレッシュをやったあと描画をやりたいのですが

消したいのか残したいのかどっちなんだ?
676670:2010/12/05(日) 22:54:07
>>675
コントロールAの領域がクリックされる

画像1をBitBltでコントロールAのクライアント領域に描画

コントロールAの領域がクリックされる

画像2をBitBltでコントロールAのクライアント領域に描画

コントロールAの領域がクリックされる

コントロールAの領域に描画されている状態をクリア(消す)

これがやりたいのです。
コントロールAはCreateWindowExで生成しており、
WC_STATICWとWS_CHILD | WS_VISIBLE | SS_BITMAPを指定しています。
上記のハンドルをサブクラス化して「WM_NCHITTEST」のタイミングで
そのコントロールに対してBitBltを行った後、InvalidateRect()を呼び出して
画像を描画しているのですが、画像1と2の切り替えは都度描画されるので
上手くいき、最後の画像を消すという処理がうまくいってない状態にあります。

画像を消す処理は単純にInvalidateRect( hWnd, NULL, TRUE );を行い
WM_PAINTでBeginPaint()を呼べば描画状態が初期化されると思っていたのですが
そうでもないみたいで、手詰まりの状態です・・。
正直こういう描画関連の処理はいままでそれほどやってきたことがないので、
単純に知識不足なのでしょうが、自分が思い浮かんだ解決策として
画像をもう一つ用意してその画像の背景色を透明化(スプライト)させて
BitBltで描画という手法があるにはあるのですが、可能であればそういう事をせずに
解決できればと思っています。何かいい案があれば教えてください。

>>671
教えていただいてありがとうございます。それも一つの案として他にも何かないかもう少し探してみます。
677デフォルトの名無しさん:2010/12/05(日) 23:08:36
ちゃんとクリッピングしないからだ
678デフォルトの名無しさん:2010/12/05(日) 23:28:25
サブクラス化してるんだったら
継承元のDefaultWindowProc呼び忘れてるんだろうな
679デフォルトの名無しさん:2010/12/06(月) 00:58:51
>>676
何でサブクラス化したりBitBltしたり面倒なことをしているのか?
SS_BITMAPを使うならSTM_SETIMAGEやSTN_CLICKEDを調べたらどうか?
680デフォルトの名無しさん:2010/12/06(月) 01:06:56
いいからAPI出せや
681デフォルトの名無しさん:2010/12/06(月) 01:10:34
Twitter API
682デフォルトの名無しさん:2010/12/06(月) 01:33:59
あたいのポケットには1円しか入ってない
683670:2010/12/06(月) 01:45:35
>>679
BitBltやっているのは画像の一部分(背景色)を透明化している為です。

>>STN_CLIKEDを調べたらどうか?
マジありがとうございます!
そいつの存在を忘れていました。


結局この時間帯まで頑張ってできなかった・・。
ソース一式晒したほうがいいでしょうか?
684デフォルトの名無しさん:2010/12/06(月) 02:24:27
>>683
晒せ
685デフォルトの名無しさん:2010/12/06(月) 02:27:27
俺の人生を最高にするAPI教えてくれ!!
686デフォルトの名無しさん:2010/12/06(月) 02:27:48
GetClientRect+MapWindowPointsで
親ウィンドウに自ウィンドウ矩形範囲のInvalidateRectをかけてやると
うまく動作するのは確認した。
CS_PARENTDCの付いたウィンドウは、
ウィンドウ矩形位しか管理していないと考えて扱うべきなのかなあ。
687670:2010/12/06(月) 03:26:56
明日仕事なのにこんな時間になってしまった・・。
解決できないとなかなか寝る気になれないですね。
でも、でも流石にもう限界なので寝ます

>>684
ソースは下記にうpしました。
http://uproda.2ch-library.com/lib320763.zip.shtml
パスは「win32api」

環境はVisual Studio 2008 Proです。
問題個所は「PIFSubClassProc.c」の154行目(InvalidateRect)
あたりというか「WM_NCHITTEST」と「WM_PAINT」全体だと思います。
WM_PAINT処理は今までそんなに触ってこなかったので
他にも色々指摘してくれると助かります。
※ツールの内容は勉強を含めて自己満の世界なので触れないでやってください・・


では、時間がほんとにやばいので寝ます。
688670:2010/12/06(月) 03:31:47
あと言い忘れてましたがPIF.exeを起動した後に表示される
左したあたりの画像をクリックしてもらえるとなんとなく自分が
やりたいことがわかると思います。

クリック場所はクライアント座標の「600, 460」あたりです。
座標の設定ファイルはPIF.posファイルなので適当に眺めてみてください。

よろしくお願いします
689デフォルトの名無しさん:2010/12/06(月) 19:25:47
定期あげ
690デフォルトの名無しさん:2010/12/06(月) 19:42:59
ビットブリット屁が出た
691デフォルトの名無しさん:2010/12/06(月) 20:05:48
>>687
改造してみた。
適当にデバッグしてドヤ顔しようとおもったらドップリはまったわ。
しかし、そこはかとなくバグってるから、適当に使える部分だけマージしてくれ。

ttp://www1.axfc.net/uploader/File/so/55241.zip&key=dl
692デフォルトの名無しさん:2010/12/06(月) 20:16:09
こういう作りなら、コントロールの組み合わせに拘らず
直接描画で対応してしまった方が手っ取り早い気がするな。
693デフォルトの名無しさん:2010/12/06(月) 20:28:45
俺691だけど。
普段コントロールなんかまったく使わんから勉強になったよ。
しかも直接生成するのはもっと無いな。

普段あんまりでかいコード書かないのもあるけどね。
694670:2010/12/06(月) 20:32:21
いま仕事から戻りました。

>>691
ぐおおおおおおおお!!
解決のヒントぐらいだと思っていたのですが、改造までしてくれるとは・・・・。
しかも、posファイルの座標調整までしてくれるなんてお礼の言葉もありません。

さっそく差分見てどこが原因だったのか調べてみます。
いい勉強材料になりそうです。ありがとうございました。
695デフォルトの名無しさん:2010/12/06(月) 20:44:32
>>694
追加したハンドル開放してないとか色々不具合あるからきをつけてね。
コードのこぴぺは絶対やめるんだ。とだけいっとくか。
696デフォルトの名無しさん:2010/12/06(月) 22:24:26
まーた懐かしいゲームだなおい
年齢は俺と同じぐらいかw
697デフォルトの名無しさん:2010/12/07(火) 18:53:14
定期あげ
698デフォルトの名無しさん:2010/12/07(火) 18:54:32
スニッピングが効いてるならありだと思う。
ウィンドウズでごみ箱がgで移動すれば便利だけど、日本人は損してる。
699デフォルトの名無しさん:2010/12/08(水) 08:06:13
gomibakoにでも名前を変更すればいいだけだろ
700デフォルトの名無しさん:2010/12/08(水) 09:16:44
定期あげ
701デフォルトの名無しさん:2010/12/08(水) 13:42:20
うちはよく使うアイコンはみんな「gごみ箱」「cマイコンピュータ」とかに変えて一発で飛べるようにしてる
702デフォルトの名無しさん:2010/12/08(水) 13:46:39
ご マ で移動するけど?
703デフォルトの名無しさん:2010/12/08(水) 15:34:04
ここで質問していいか微妙ですが、
一瞬しか表示されないウィンドウがありまして、そいつをキャプションかなにかで監視して、表示したままにできるツール知ってる方いますか?
spy++ならできるっぽいですが、フリーのものを探してます。
704デフォルトの名無しさん:2010/12/08(水) 16:00:30
>>703
VCなら、デバッガでブレークポイント打つとか。
705デフォルトの名無しさん:2010/12/08(水) 16:20:22
>>704
ありがとうございます。
ですが、そのウィンドウ(ダイヤログ?)を表示してるのは、自分で作ったものじゃないんです。
痛し痒しです。
706デフォルトの名無しさん:2010/12/08(水) 17:17:51
エッチなまうまう?
707デフォルトの名無しさん:2010/12/08(水) 17:47:41
エッチしてるなう
708デフォルトの名無しさん:2010/12/08(水) 17:57:49
タブコントロールで、タブの位置を左右にした場合に
タブを縦じゃなくて、上下に表示したときと同じように
横向きで表示する方法ある?
709デフォルトの名無しさん:2010/12/08(水) 18:26:57
>>705
いや
それでもデバッガでとめられるんだよ
710デフォルトの名無しさん:2010/12/08(水) 18:53:59
定期あげ
711デフォルトの名無しさん:2010/12/08(水) 20:20:40
>>709
なるほど…そういったことができそうなデバッガを探してみます。ありがとうございました。フリーでありますかね…
712デフォルトの名無しさん:2010/12/08(水) 20:21:58
初心者で申し訳ありませんが、
指定ファイルが削除可能かどうかのチェックをしたいのですがどのようにすればよいでしょうか?

2個セットのファイルがあり、両方を確実に削除できることを確認後に削除を行います。
ファイルの削除自体はDeleteFile関数で削除します。
713デフォルトの名無しさん:2010/12/08(水) 20:24:53
>>712
消してみてからエラー内容で判定すればいい
714712:2010/12/08(水) 20:28:30
>>713
いえ、仮にAとBのファイルが存在して、
Aは削除可能、Bは削除不可の場合、 AとBの削除が可能な場合を確認して両方を削除します。
Aが削除成功後にBで失敗というケースがあるので、その方法は無理です(^^;


715デフォルトの名無しさん:2010/12/08(水) 20:34:09
Aをどこかにコピーしておいて戻せばいいじゃん
716デフォルトの名無しさん:2010/12/08(水) 20:35:26
DeleteFileTransacted
717デフォルトの名無しさん:2010/12/08(水) 20:37:17
FILE_SHARE_DELETEで開け
718デフォルトの名無しさん:2010/12/09(木) 09:37:27
定期あげ
719デフォルトの名無しさん:2010/12/09(木) 15:47:01
BItBltで描画してんだけど、ウィンドウを移動させて画面の端を突き抜けて
また戻してくると、そのはみでた部分だけ背景色になっちゃいます。
なのでそのときに再描画させたいんですが、
なんかちょうどいいウィンドウメッセージないですか?

タイマー以外の方法でよろしくお願いします。
720デフォルトの名無しさん:2010/12/09(木) 16:00:10
WM_PAINT
721デフォルトの名無しさん:2010/12/09(木) 16:02:28
そうじゃなくて、Wm_Paintをその描画タイミングで発生させたいんです
つまりInvalidateRect関数を実行するんですが、それを発生させる
タイミングとしてちょうどいいメッセージはないのかを聞いてます。
722デフォルトの名無しさん:2010/12/09(木) 16:11:17
windowsによって勝手に無効領域に設定されるから何もする必要はない
723デフォルトの名無しさん:2010/12/09(木) 16:52:54
画面をはみ出したら自動的に無効領域として設定されるので、
自動的にwm_paintが発生するということですか?

描画の処理を、WM_paintのメッセージが発生したときに動作する場所に
書いてるはずなのに、描画されないんですが。
724デフォルトの名無しさん:2010/12/09(木) 16:57:24
>>723
WM_PAINTの処理書いてるところにブレークポイント張ってみればいい
725デフォルトの名無しさん:2010/12/09(木) 18:57:44
MoveWindow関数で、ウィンドウを動かさずにサイズだけ変更したい時は、どうすればいいですか?
726デフォルトの名無しさん:2010/12/09(木) 18:59:41
WindowRectとって左上がウインドウのポジションだからそれを指定すればいい。
大きさはご自由に。
727デフォルトの名無しさん:2010/12/09(木) 19:03:33
SetWindowPosも忘れないであげて……
728デフォルトの名無しさん:2010/12/09(木) 19:13:46
CopyRectも忘れないであげて……
729デフォルトの名無しさん:2010/12/09(木) 19:37:40
>>725-728
SetWindowPosを使う事にしました。
いろいろありがとうございました。
730デフォルトの名無しさん:2010/12/09(木) 23:05:02
CopyRectは忘れてやれよ。
731デフォルトの名無しさん:2010/12/09(木) 23:55:04
お礼されてCopyRectマジ歓喜
732デフォルトの名無しさん:2010/12/10(金) 01:27:25
でも実際、CopyRectは昔は必要だったんだよね?
CopyRectがなかったらMFCとか.NETとかWindowsとか生まれてないじゃん
733デフォルトの名無しさん:2010/12/10(金) 01:53:16
水平スクロールバーの付いたウインドウの下に、
ステータスバーをくっつけるのって、どうやればいいのでしょうか?

現在は、CreatwWindowEx で水平スクロールバー付きの親ウインドウを作成して、
WM_CRATEメッセージで、CreateStatusWindow にてステータスバーの子ウインドウを
作成したのですが、ステータスバーの下にスクロールバーが付いた状態になってます。
734デフォルトの名無しさん:2010/12/10(金) 03:32:55
>>733
親ウィンドウにスクロールバーをつけるのではなく、クライアント領域を覆う子ウィンドウ(MFC的にいうならビュー)を作ってそれにスクロールバーをつけることでしょうな。
つまりビューとステイタスバーを兄弟にするのです。
735デフォルトの名無しさん:2010/12/10(金) 12:55:08
CopyRectがなければWindowsもなかったんですよね?
736デフォルトの名無しさん:2010/12/10(金) 14:32:52
じゃあお前らCopyRectなしで構造体コピーしてみろや
737デフォルトの名無しさん:2010/12/10(金) 16:52:26
winプログラミング歴16年ほどだけど、CopyRectって知らんかも
738デフォルトの名無しさん:2010/12/10(金) 18:00:57
rect1 = rect2;
739デフォルトの名無しさん:2010/12/10(金) 20:28:25
エディットボックスの背景に画像を描画することは無理ですよね?
740デフォルトの名無しさん:2010/12/10(金) 20:30:06
そんなことはない
なせばなる
741デフォルトの名無しさん:2010/12/10(金) 20:37:47
ざっくりでいいんで簡単に教えてください。
742デフォルトの名無しさん:2010/12/10(金) 20:39:30
サブクラス化してWM_イレイズバックグラウンドを処理すりゃいい
743デフォルトの名無しさん:2010/12/10(金) 20:42:56
>>742
そんなメッセージあったのか。ありがとうございます。
744デフォルトの名無しさん:2010/12/10(金) 21:07:19
WM_ERASEBKGNDなんてものがあったのか
745デフォルトの名無しさん:2010/12/10(金) 21:22:06
ttp://codezine.jp/article/detail/3663
このサイトの内容を参考に、プログラムを組んでみた所
映像は正しく描画されたのですが、終了しようとすると

MediaPlayer.exe の 0x641d3a76 で初回の例外が発生しました: 0xC0000005: Access violation
MediaPlayer.exe の 0x641d3a76 でハンドルされていない例外が発生しました: 0xC0000005: Access violation

このようなエラーが出てきてしまいます。
エラーメッセージで調べてみたりはしたのですが、解決法が分かりませんでした。
どなたか解決法をご存じないでしょうか?
746デフォルトの名無しさん:2010/12/10(金) 21:23:19
破棄する順番じゃねーの
747デフォルトの名無しさん:2010/12/10(金) 21:28:10
>>746
なんと、その通りでした。
お早い回答ありがとうございました。
748デフォルトの名無しさん:2010/12/11(土) 10:21:37
>>742
スーパークラスの方がいいな
749デフォルトの名無しさん:2010/12/11(土) 12:26:53
定期あげ
750デフォルトの名無しさん:2010/12/11(土) 12:47:29
定期CopyRect
751デフォルトの名無しさん:2010/12/11(土) 12:57:43
CopyRectはVBをやるのに必要と聞いたけどホント?
752デフォルトの名無しさん:2010/12/11(土) 13:20:55
CだってCopyRect使わなきゃ構造体コピーできないぞ
753デフォルトの名無しさん:2010/12/11(土) 13:29:32
そりゃ俺が大学生くらいの頃の話だ
754デフォルトの名無しさん:2010/12/11(土) 14:11:12
50年前か
755デフォルトの名無しさん:2010/12/11(土) 14:52:11
まるで難民キャンプだな。ここは。
756デフォルトの名無しさん:2010/12/11(土) 16:00:25
お前ら、大学でてるのか
大学でが多いのに日本だめだよな。低脳でも大学行ける日本って変だよ
大学でって言いながら、実質高校後期課程での奴多いんだろ。俺もだがな
本当に大学でって言えるの、旧帝国大だったところだけらしいぞ
757デフォルトの名無しさん:2010/12/11(土) 16:15:38
↑小卒です。w
758デフォルトの名無しさん:2010/12/11(土) 16:21:17
私、尋常小学卒です
759デフォルトの名無しさん:2010/12/11(土) 16:21:40
日本の大学進学率は約50%。ちなみに1990年は25%、2000年には40%。

石を投げれば大学生にあたると言われたのも昔の話で
「アニメーション学科」みたいなクソ学科が増えたこともあって、
いまや、大卒の価値は一流以外は毛ほどにもなくなってる^^
760デフォルトの名無しさん:2010/12/11(土) 16:47:39
就職できない奴らが溢れかえってるからな。
761デフォルトの名無しさん:2010/12/11(土) 16:47:46
私大文系は勉強するところじゃなくて「大卒待遇で就職できるかもしれない」という夢を売ってるところだからな。
762デフォルトの名無しさん:2010/12/11(土) 20:27:50
仕事がないだけだろ
人間に増減はないんだから
763デフォルトの名無しさん:2010/12/12(日) 01:12:55
えっ
764デフォルトの名無しさん:2010/12/12(日) 03:19:11
エディットボックスの背景に画像を描画してるんですが、
ウィンドウを移動したり、文字を入力したりすると消えてしまうんです。
どうにかして防ぐ方法はないでしょうか?
765デフォルトの名無しさん:2010/12/12(日) 03:24:31
スーパークラス化してWM_ERASEBKGNDを処理する
766デフォルトの名無しさん:2010/12/12(日) 04:31:21
767デフォルトの名無しさん:2010/12/12(日) 08:57:33
WM_ERASEBKGNDを処理するってことは、そのメッセージが来たときに
もう一回描画すればいいってことですか?

やってみても文字を入力したら背景は消えてしまいます。
768デフォルトの名無しさん:2010/12/12(日) 09:00:02
文字を入力したときに発生するメッセージは何なのでしょうか?
769デフォルトの名無しさん:2010/12/12(日) 15:36:31
スプリッタウィンドウを上下に分割しているのですが
親ウィンドウに追随してサイズを変更させるようにするにはどうすればいいでしょうか?
770デフォルトの名無しさん:2010/12/12(日) 15:40:45
親ウィンドウがスプリッタウィンドウの大きさを変えてやればいい
771デフォルトの名無しさん:2010/12/12(日) 15:51:58
>>770
親ウィンドウのプロシージャのWM_SIZEの所でResizeClientを使ったらできました。
ありがとうございます。
772デフォルトの名無しさん:2010/12/12(日) 17:46:29
>>767
WM_CTLCOLORで背景ブラシをNULLブラシとかにしてみたら?
773デフォルトの名無しさん:2010/12/13(月) 08:18:27
定期あげ
774デフォルトの名無しさん:2010/12/13(月) 21:38:33
リストビューの背景に画像を描画してるんですが、項目を追加すると
その部分はやっぱり白くなってしまいます。

SetBkModeでTRANSPARENTに設定しても、文字の背景が白くなるのでダメです。
どうにかして項目を追加しても、背景の画像が残せる方法はないでしょうか?
775デフォルトの名無しさん:2010/12/13(月) 22:02:10
リストビューを自作すればいいよ
776デフォルトの名無しさん:2010/12/13(月) 22:21:20
ListView_SetBkImageを使った方法を教えてほしいです。

ファイルからではなく、ビットマップハンドルから読む方法で。
777デフォルトの名無しさん:2010/12/14(火) 03:46:05
>>774
オーナードロー使えば?
778デフォルトの名無しさん:2010/12/14(火) 03:57:06
多分オーダードローせんでもいけるわ

ListView_SetTextBkColor(hwnd, CLR_NONE);
779デフォルトの名無しさん:2010/12/14(火) 05:16:33
皆さんありがとうございます。
ListView_SetTextBkColorとListView_SetBkColoroをCLR_NONEにすることで
背景は黒色になったのですが、ビットマップの表示がうまくいきません。

ListView_SetBkImageでビットマップハンドルを使用した方法が知りたいです。
LVBKIMAGE
memset(&lvbk,0,sizeof(lvbk));
lvbk.ulFlags=LVBKIF_SOURCE_HBITMAP | LVBKIF_STYLE_NORMAL;
lvbk.hbm=//ハンドル

ListView_SetBkImage(ウィンドウハンドル、&lvbk);

このようにしてるんですが、SetBkImageでFALSEが返ってきてしまいます。

考えられる原因を教えて下さい。

ビットマップハンドルは別クラスで取得したものを代入していますが、
ちゃんとハンドルは取得できていることを確認しています。
780デフォルトの名無しさん:2010/12/14(火) 06:39:06
>>779
原因はお前が英語版のAPIリファレンスを読むことができない低脳だから。
781デフォルトの名無しさん:2010/12/14(火) 09:30:23
定期あげ
782デフォルトの名無しさん:2010/12/14(火) 10:15:29
低脳なのは十分承知です。
英語が読めたらここに来るわけありません。
最低な人しかいないんですね。もういいです。
783デフォルトの名無しさん:2010/12/14(火) 10:17:12
英語読めねー奴はPGやめろ。
784デフォルトの名無しさん:2010/12/14(火) 10:19:30
やめねえよクズ
785デフォルトの名無しさん:2010/12/14(火) 10:24:02
こんなスレいらんだろ

クズがクズに教えても何も解決しない
もはや存在意義なし
786デフォルトの名無しさん:2010/12/14(火) 10:32:27
英語が読めなくても、翻訳しながら意味を解釈していけばいいだけの話。
結局のところ怠け者の言い訳なんだよね。
787デフォルトの名無しさん:2010/12/14(火) 10:39:10
クズは回答すんなよ w

プログラムの初期化時にCoInitializeかOleInitializeしてるか?
788デフォルトの名無しさん:2010/12/14(火) 10:39:28
> 翻訳しながら意味を解釈していけばいいだけの話。
それは英語読める方に分類してやってるんだが。それすら出来ないカスは今すぐPGやめろ。
789デフォルトの名無しさん:2010/12/14(火) 10:41:15
定期あげ
790デフォルトの名無しさん:2010/12/14(火) 10:46:20
PG
必要な技能 翻訳サイトにコピペしてボタンを押す
791デフォルトの名無しさん:2010/12/14(火) 10:47:53
よほどマニアックなAPIで無い限り根性でググレば意外と日本語のサイトも見つかるぞ
初歩は頭の良し悪し以前に気合で何とかなる
792デフォルトの名無しさん:2010/12/14(火) 11:28:47
MSDN日本語版を筆頭として日本語のサイトには嘘が多い。
793デフォルトの名無しさん:2010/12/14(火) 11:48:43
ここも日本語サイトだよな
794デフォルトの名無しさん:2010/12/14(火) 11:50:31
MSDNとVSのヘルプシステムの連携は
海外でも評判よくないw
795デフォルトの名無しさん:2010/12/14(火) 12:22:49
そりゃそうだろw
MSDNは名前だけでMSは無関係
796デフォルトの名無しさん:2010/12/14(火) 12:41:04
>>795
え?
797デフォルトの名無しさん:2010/12/14(火) 12:41:46
MSDNは二次創作なんだが
798デフォルトの名無しさん:2010/12/14(火) 12:58:02
いいからAPI出せや
799デフォルトの名無しさん:2010/12/14(火) 13:13:55
SetRect
800デフォルトの名無しさん:2010/12/14(火) 13:46:20
Insert(girl)
801デフォルトの名無しさん:2010/12/14(火) 13:56:56
? 0
802デフォルトの名無しさん:2010/12/14(火) 14:00:56
名前の一番長いWinAPIは何
803デフォルトの名無しさん:2010/12/14(火) 14:14:26
IsTheLongestNameAPIEx2
804デフォルトの名無しさん:2010/12/14(火) 14:19:34
ぐぐったところによれば
ConvertStringSecurityDescriptorToSecurityDescriptor
805デフォルトの名無しさん:2010/12/14(火) 15:51:42
どなたか、midiInStopとmidiInRestの違いを教えてください。
MSDNの解説見ると、キューのバッファの処理が違うようなんですけど、
具体的に何が変わって来るのかわかりません。
806デフォルトの名無しさん:2010/12/14(火) 15:58:44
midiInAddBuffer で投入したバッファの残ってるやつがアプリ側に返されるかどうかじゃない
807デフォルトの名無しさん:2010/12/14(火) 16:09:04
それが何のことだかわからないんだけど・・・
戻らないと何か不都合があるのか?とか、どう使い分けるのか?とか・・・
具体例を教えて欲しいなあと。
MSDNってほんと解らない。
808デフォルトの名無しさん:2010/12/14(火) 16:12:06
不都合って、渡したままのバッファを free できないじゃない
まだ使ってるのに
809デフォルトの名無しさん:2010/12/14(火) 16:24:07
戻るとフリーになるんだ?
バッファは必ずフリーにしないといけないって決まりなの?
だったらReset使っておけば問題無いのかな?

これってロングメッセージ限定の話だよね?・・・ってそこまで知らないか。
810デフォルトの名無しさん:2010/12/14(火) 16:34:01
APIを呼び出した時点で新規入力を停止するまでは共通
バッファに残った未処理のデータをコールバックで通常処理するならReset
ただちに完了マークをつけるならStop

これのどこが理解できない
811デフォルトの名無しさん:2010/12/14(火) 16:43:18
なにファビョってんだかw
812デフォルトの名無しさん:2010/12/14(火) 16:45:22
>>809
いやいや、メモリを malloc で確保したら free で解放しなきゃいけないから
malloc でバッファを確保 → midiInAddBufferに渡す → midiInがバッファにデータを書き込む → バッファが戻ってくる → free でバッファを解放
という流れのプログラムを組むことになるだろ
もちろん malloc/free じゃなくて GlobalAlloc/GlobalFree でもなんでもいいが
もちろんグローバル変数を使うのなら解放する必要はない
ロングメッセージ限定の話
ショートメッセージはバッファ使わない
813デフォルトの名無しさん:2010/12/14(火) 16:58:36
久しびりに聞いた単語 MIDI
814デフォルトの名無しさん:2010/12/14(火) 16:58:50
エッチなまうまう?
815デフォルトの名無しさん:2010/12/14(火) 17:06:57
エッチしてるなう
816デフォルトの名無しさん:2010/12/14(火) 17:21:40
>>810>>812
なるほど!バッファのルールがまだよく分かってないんだけど、
なんとなく流れが分かった。
MSDNもこういう具体的な解説付けてくれたらいいのにな。
ありがとうございました。
817デフォルトの名無しさん:2010/12/14(火) 18:08:07
まだMSDNとか言ってんのか
818デフォルトの名無しさん:2010/12/15(水) 00:04:35
MSDNの
「システム排他メッセージ」ってやめて欲しいな
「システムエクスクルーシブメッセージ」と呼ぶって、MIDIの規格書に書いてあるだろ

MIDI知らないやつが翻訳するからこうなる
819デフォルトの名無しさん:2010/12/15(水) 00:17:56
こんな風に名前を付ければ誤解されずに済んだかも

midiInStop -> midiInPause
midiInReset -> midiInStop
820デフォルトの名無しさん:2010/12/15(水) 00:19:23
ローカル(操作PCに完全にインストールされた)なMSDNには価値がある。
ちょっと調べたい時にスパッと出てくるので便利。
ネットワーク経由のMSDNにはあまり価値がない、
ネットで検索するぐらいならMSDNなんて見ない。
821デフォルトの名無しさん:2010/12/15(水) 00:21:50
2010のExpressはローカル版ないんで?
822デフォルトの名無しさん:2010/12/15(水) 03:07:54
いいからISDN出せや
823デフォルトの名無しさん:2010/12/15(水) 03:17:06
CopyISDN
824デフォルトの名無しさん:2010/12/15(水) 03:39:58
>>821
そんな貧乏くさいもん使うな
825デフォルトの名無しさん:2010/12/15(水) 03:44:09
音響カップラーって売ってますかね?
826デフォルトの名無しさん:2010/12/15(水) 04:39:22
WIN32APIはオワコン
827デフォルトの名無しさん:2010/12/15(水) 05:21:53
32ビットオワコン
828デフォルトの名無しさん:2010/12/15(水) 07:37:31
御前らフロッピーをDMFフォーマットするAPIを教えて下さいな
829デフォルトの名無しさん:2010/12/15(水) 09:12:13
定期あげ
830デフォルトの名無しさん:2010/12/15(水) 09:22:44
>>818
キミが見ているのは偽物のMSDN。本物はsystem-exclusive messagesと書いてある。
831デフォルトの名無しさん:2010/12/15(水) 09:36:12
いいからOPPAI出せや
832デフォルトの名無しさん:2010/12/15(水) 09:39:15
(・)(・)
833デフォルトの名無しさん:2010/12/15(水) 15:13:00
WH_MOUSE_LLよりさらに低水準で、
状態取得のみ可能なAPIってありませんでしたっけ?
834デフォルトの名無しさん:2010/12/15(水) 16:55:13
>>833
Raw Inputのこと?
835デフォルトの名無しさん:2010/12/15(水) 17:17:20
>>831
(。人。)
836デフォルトの名無しさん:2010/12/15(水) 20:35:54
繋がってる液晶モニタのリアル解像度を取得することってできませんか?

CRT時代だったら需要のないAPIだと思うけど…
837デフォルトの名無しさん:2010/12/15(水) 20:39:37
GetSystemMetrics
838デフォルトの名無しさん:2010/12/15(水) 21:16:47
なんとWindows3.1時代から実装されているAPIであった…
839デフォルトの名無しさん:2010/12/15(水) 21:32:21
>>836
そういう情報がそもそもないから存在しない
840デフォルトの名無しさん:2010/12/15(水) 21:35:51
>>836
俺もだいぶ前から探してるんだけど、どうにも見つからない。
Vista以降のMonitor Configuration APIでモニタの種類を取得とかはできるんだが。

ドライバレベルでは取得できてるようなので、その情報にアクセスできる共通のAPIが
あればいいんだが。
841デフォルトの名無しさん:2010/12/15(水) 21:50:59
http://msdn.microsoft.com/en-us/library/dd145189%28v=vs.85%29.aspx
VIDEOPARAMETERS Structure
DISPLAY_DEVICE Structure
EnumDisplayDevices Function
842デフォルトの名無しさん:2010/12/15(水) 21:53:06
ペゾルド本p.171

>プログラムがディスプレイの実際の物理サイズを必要とする場合にはどうしたらよいのだろうか?
>おそらく、最良の方法は、ダイアログボックスを使ってユーザに直接入力してもらうことだろう。
843デフォルトの名無しさん:2010/12/15(水) 21:53:32
>>841
ずるいよ^^
844デフォルトの名無しさん:2010/12/15(水) 21:58:39
VGAで使ってる液晶の時でも、XGAでの解像度を取得したいんだよね?
845デフォルトの名無しさん:2010/12/15(水) 22:01:45
そうだよね。基本無理。
846デフォルトの名無しさん:2010/12/15(水) 23:05:17
>>843
どうして
847デフォルトの名無しさん:2010/12/15(水) 23:11:27
>>846
自分がペゾルド本をせっせと調べているうちに正解が書きこまれたので^^;
848デフォルトの名無しさん:2010/12/16(木) 00:04:41
って夕香、リアル解像度って何?w
ネイティブ解像度のこと?物理的なサイズ?それとも私?
849デフォルトの名無しさん:2010/12/16(木) 00:23:07
親ウィンドウをリサイズした際に、ウィンドウ内のコントロールのサイズも適宜変えるにはどうすればいいでしょうか?
850デフォルトの名無しさん:2010/12/16(木) 00:23:32
物理的な解像度のことじゃね
定規持ってインチ数を測ってピクセル数を割る
851デフォルトの名無しさん:2010/12/16(木) 00:25:03
>>849
WM_SIZE とか WM_WINDOWPOSCHANGED とかのメッセージを捕まえて
MoveWindow とか SetWindowPos で適宜変えてください
852デフォルトの名無しさん:2010/12/16(木) 01:19:46
Windows付属のエクスプローラーで、ドライブやフォルダーがツリー表示されますが
それと同じ表示をするコントロールは、何かありますか?

SHBrowseForFolder()を使うと、フォルダーを選択するダイアログを表示できる
ところまでは分かったのですが。それと同じ表示をするものをウィンドウクライアント上に
コントロールとして貼りたいです。
853デフォルトの名無しさん:2010/12/16(木) 01:22:12
貼る(笑)
854デフォルトの名無しさん:2010/12/16(木) 01:28:46
ツリービュー
855デフォルトの名無しさん:2010/12/16(木) 01:37:31
>>854
やはりTreeViewコントロールを利用して、自作するしかない感じですね><;
情報ありがとうございました
856デフォルトの名無しさん:2010/12/16(木) 02:18:16
OS依存のものは面倒なんで、OSのをそのまま使うほうが楽だぜ。
自分で作る場合はShellAPI関係経由で実装はできると思うけど。
857デフォルトの名無しさん:2010/12/16(木) 07:53:48
Vista以降ならエクスプローラコンポーネントを貼るだけでいけたような・・・
858デフォルトの名無しさん:2010/12/16(木) 09:04:03
定期あげ
859デフォルトの名無しさん:2010/12/16(木) 12:51:55
IE貼ればエクスプローラになる
860デフォルトの名無しさん:2010/12/17(金) 06:38:55
俺は貼られる側を作るのが専門。
だから、APIとATLとCOMについてはかなり詳しく知っている。
861デフォルトの名無しさん:2010/12/17(金) 07:22:26
そんな最低限の知識自慢されても笑われるだけだよ。
言うのはこのスレだけにしとけよ。
862デフォルトの名無しさん:2010/12/17(金) 07:49:09
>>860
そのわりには、このスレの回答レベルかなり低いけど
863デフォルトの名無しさん:2010/12/17(金) 07:49:09
自慢はしたいだけすれば良いよ
どうせ匿名だし誰か判らないんだから意味無いよね
864デフォルトの名無しさん:2010/12/17(金) 10:07:42
>>862
msdn libraryを見ればわかる質問とスレ違いの質問しか無いから
865デフォルトの名無しさん:2010/12/17(金) 16:14:35
定期あげ
866デフォルトの名無しさん:2010/12/17(金) 17:43:58
>>857 >>859
ナビゲーションバー出る?
867デフォルトの名無しさん:2010/12/18(土) 00:18:12
質問させてください。

C++でPlatform SDKとVisualStudio(VS)・そのリソースエディタを使って組んでいるのですが、
Windows7のそれのような見た目を持つコントロール(緑色のプログレスバーなど)を
利用するにはどうすればいいのかヒントを教えていただけないでしょうか。

これまでのアプリをWin7上で実行するとコントロールの見た目が勝手に置き換わる、
と思ったらそうではなかったので
(ウィンドウのタイトルバーの見た目は勝手に置き換わって半透明になってます)。
Win7にインストールしたVSのリソースエディタ上ではWin7の見た目になっているので、
できないことはないと思うのですが。
868デフォルトの名無しさん:2010/12/18(土) 00:24:28
新しいバージョンでどうぞ
869デフォルトの名無しさん:2010/12/18(土) 00:37:53
定期あげ
870867:2010/12/18(土) 00:55:40
>>868
情報後出しになってすみません、VS2008です。
2010でビルドすればWin7ルックになるということですか?
871デフォルトの名無しさん:2010/12/18(土) 01:04:43
訪問記念、カキコ

>>870
後出しは世界中のどこでも嫌われる
そう思うなら2010でやってみる
872デフォルトの名無しさん:2010/12/18(土) 01:07:00
Platform SDKじゃなくてWindows SDK for Windows 7でやれ
873デフォルトの名無しさん:2010/12/18(土) 01:10:15
どこでそれ手に入れられんですか?
いぐらぐらいするんですか?
874デフォルトの名無しさん:2010/12/18(土) 01:11:04
ググルかMSのサイトで調べるんだ。
875デフォルトの名無しさん:2010/12/18(土) 01:15:47
まぁ2010でやればWindowsSDK7.1は標準なんだが
876デフォルトの名無しさん:2010/12/18(土) 01:20:45
VS2010はMFCも新OS対応になってて色々面白いぞ
877デフォルトの名無しさん:2010/12/18(土) 01:24:29
さっさと2010を買うが超大吉ですよ
http://www.microsoft.com/japan/visualstudio/

訪問記念で訪れた僕でさえ2010使ってるんですから
878867:2010/12/18(土) 01:26:50
>>871
そうですよね、すみません。さらに言うと2008のSP1でした。
2010はexpressだとリソースエディタが使えないのでインストールしてないのですが、
今度インストールして試してみます。

>>872
おおおこんなものが出てたんですね、存在すら知りませんでした、ありがとうございます!

ざっと見たところ、.NET系のプログラミングに使えるものであって、
DialogBox()でダイアログリソースを渡して…という(PlatformSDK的?な)やり方では
利用できないような印象を受けましたが、もうちょっと詳しく調べてみます。

>>875
さらにヒントをありがとうございます。

ちなみに873は俺じゃないです。
みなさんありがとうございました。
879デフォルトの名無しさん:2010/12/18(土) 01:28:43
2008ってVista対応のSDKが付属してるのに
わざわざそれより古いPlatform SDK使ってるのかよ
880867:2010/12/18(土) 01:29:26
またorz…2008のStandardのSP1でした。
881867:2010/12/18(土) 01:36:35
俺が"Platform SDK"の意味を勘違いしてたみたいです。

俺がやってるのは新規プロジェクトからWin32アプリケーション(コンソールじゃないほう)を
選んでOKで進めてCreateWindow()やらDialogBox()で書いていくような、
”猫でもわかるプログラミング”のSDK編にリソースエディタを足したようなやりかたです。

てっきりこのやりかた=Platform SDKを利用したやりかただと思ってました。
(というのもVisualStudio2005のexpressを使っていた頃は、VS2005に加えてPlatform SDKを
インストールしないとビルド出来なかったからです。)
882デフォルトの名無しさん:2010/12/18(土) 01:42:27
マニュフェスト書くだけだろ。
なんでこんな基本的な事をちゃんと答えてやれないんだ?
883867:2010/12/18(土) 02:18:32
>>882
情報ありがとうございます!
manifestってコントロールの外観を変えるのに使えるんですね!
単語は目にしていましたが特に触らなくてもこれまで困らなかったので何に使えるのかも知りませんでした。
ふむ…(一周前になりますが)2000ルックのコントロールをmanifestでXPルックのlunaにできると…。

Windows SDK for Windows7とmanifest、この2つについて調べようと思います。
みなさんレスありがとうございました。
884デフォルトの名無しさん:2010/12/18(土) 02:47:03
>>882
みんな親切しても報われなかったんだろう
誰もがひねくれてしまった
885デフォルトの名無しさん:2010/12/18(土) 05:58:38
>>882
そうだろ。
だからこのスレの回答者のレベルは低いと言ってるんだよ。
886デフォルトの名無しさん:2010/12/18(土) 08:41:21
ぽっぽ
887デフォルトの名無しさん:2010/12/18(土) 12:27:23
>>881
Platform SDKは大昔にWindows SDKに名前が変わった。
888デフォルトの名無しさん:2010/12/18(土) 18:44:14
888ゲットぽっぽ
889デフォルトの名無しさん:2010/12/18(土) 21:01:13
定期ぽっぽ
890デフォルトの名無しさん:2010/12/19(日) 03:57:39
イメージリストを複製しようとしてImageList_Duplicateを使っていますが、どうもうまく複製してくれません。
かといってNULLが返るわけでもなく、イメージ数0の変なハンドルが返ってきます。ImageList_Destroyもできません。
ググってもバグ情報とか出てこなくてお手上げ状態です。もし何かご存知の方があれば教えてください。
ちなみにIEのバージョンは8です。
891デフォルトの名無しさん:2010/12/19(日) 04:21:57
イメージリストは複製した
だが中身まで複製するとは言ってない
892デフォルトの名無しさん:2010/12/19(日) 08:05:32
>>24>>21
>全て列挙

それは一言で「枚挙」という。
893890:2010/12/19(日) 13:17:26
>>891
ありがとうございます。
>だが中身まで複製するとは言ってない
そうなんですか!?
MSDN↓を読んでてっきり全部コピーしてくれるのかと・・・
>All information contained in the original image list for normal images is copied to the new image list. Overlay images are not copied.
ImageList_Duplicateはどのように使うのが正しいのでしょうか。
894デフォルトの名無しさん:2010/12/19(日) 18:01:01
質問よろしいでしょうか?

WIN32APIで何かしらのUSBが接続されたことを確認するなどができる関数は
ないのでしょうか?
895デフォルトの名無しさん:2010/12/19(日) 18:11:16
通知メッセージが来る
896デフォルトの名無しさん:2010/12/19(日) 18:12:05
WM_DEVICECHANGE
897デフォルトの名無しさん:2010/12/19(日) 18:12:11
WM_DEVICECHANGE
898デフォルトの名無しさん:2010/12/19(日) 18:12:59
ありがとうございます。

助かりました。
ちょっとググってきます。
899デフォルトの名無しさん:2010/12/19(日) 20:43:30
定期ぽっぽ
900デフォルトの名無しさん:2010/12/20(月) 00:20:15
えっちなぽっぽ?
901デフォルトの名無しさん:2010/12/20(月) 07:21:58
エッチしてるぽっぽ
902デフォルトの名無しさん:2010/12/20(月) 10:20:31
定期あげ
903デフォルトの名無しさん:2010/12/20(月) 14:49:41
さげ
904デフォルトの名無しさん:2010/12/21(火) 09:48:59
定期あげ
905デフォルトの名無しさん:2010/12/22(水) 09:02:10
定期あげ
906デフォルトの名無しさん:2010/12/22(水) 14:01:28
スレッド作成した後にCloseHandleとかいうので閉じるけど、
あれってスレッド側で閉じてもいいの?
907デフォルトの名無しさん:2010/12/22(水) 14:10:16
ダメ
908デフォルトの名無しさん:2010/12/22(水) 14:10:43
>>907
ダメか・・忙しいところありがとう
909デフォルトの名無しさん:2010/12/22(水) 14:12:41
>>906
http://msdn.microsoft.com/ja-jp/library/cc429605.aspx
キーワードを入れて検索ボタンを押すだけの作業が思いつかないやろうともしない人間はプログラムはやめた方がいい。
向いていない。
910デフォルトの名無しさん:2010/12/22(水) 14:33:06
>>909
>MAPI:詳細については、「」を参照してください。
ひでぇな
911デフォルトの名無しさん:2010/12/22(水) 14:59:28
質問者がハンドルの寿命とスレッドの寿命を混同している前提でなければ
MSDNのCloseHandleの項目だと回答になっていないんじゃないか
912デフォルトの名無しさん:2010/12/22(水) 15:05:35
>>910
明らかに何かが欠落してるとわかるだけマシなとこだろそこは。

>>911
> スレッドオブジェクトを削除するには、最初にスレッドを終了し、
> 次にそのスレッドのすべてのハンドルを閉じなければなりません。

の部分を示したかったんじゃね?
翻訳があってるかどうか微妙だけども。

> To remove a thread object, you must terminate the thread,
> then close all handles to the thread.
913デフォルトの名無しさん:2010/12/22(水) 17:09:55
定期あげ
914デフォルトの名無しさん:2010/12/22(水) 17:53:10
消費税は安定した推移を見せつつ、所得税と法人税が減少しているわけだから
単純に考えて、日本企業の業績が芳しくないのと、正規雇用者が減っているのと給与が上がらないのが主な原因
そしてもう一つ、安定した消費を支えている公務員の存在
○○が売れないとは、公務員や正規雇用者を対象にしたビジネスが前提であり、非正規の存在が無視されている為に起こる
つまり公務員を増やし、正規雇用者を増やし、給与をあげた上で、日本企業の製品やサービスを使い、企業も同じ姿勢を貫く
こうやって巡回させていけば全てが上向く

まずは国民全員を公務員にする為に、日銀法を改正して、日本政府の管理下に置く
円を刷り、生活保護を廃止して、ベーシックインカムを行う
これが第一歩

次に3年間限定で緊急の結婚手当て、妊娠手当て、出産手当て、子供手当てを始めて、20年後を見据えたベビーブームを起こす
同期間に相続税、贈与税の税率を下げて、老人の資産が子孫に回る体制を作る

そして、将来の国家像を構築する為に、旧インフラに縛られている首都圏を改装する
その為に一時的に名古屋へ遷都をして、愛知県を中京都にする
その間、首都圏で22世紀を睨んだ宇宙未来型の都市モデルを創造し、大規模の公共工事を行い、受注は日本企業が行う
航空宇宙未来技術、環境エネルギー、ソフトウェア、観光、農業、林業、水産業、医学工学、軍需産業ありとあらゆる分野の若い研究者に投資を行う

世界日本化計画と称し、日本だけではなく、途上国を中心に日本語を普及させ、ありとあらゆるインフラを日本企業が担う為に
国家に忠誠を尽くす準日本人を育成する
これを30年化計画で進めていく
30年経ったら再び東京に遷都する
915デフォルトの名無しさん:2010/12/22(水) 18:02:21


916デフォルトの名無しさん:2010/12/22(水) 18:02:50
スレチだし後半はないなー。
917デフォルトの名無しさん:2010/12/22(水) 18:32:10
日本API
918デフォルトの名無しさん:2010/12/22(水) 18:57:34
>>910
MSDNの日本語サイトは見てはいけない
919デフォルトの名無しさん:2010/12/22(水) 19:22:29
Nakaso
920デフォルトの名無しさん:2010/12/22(水) 19:38:39
30年後は日本の首都は実質北京だろう
そのころは日本は実質的に中国の日本自治区レベルだろな
いまでも中国がくしゃみをすると日本は重篤肺炎になる状況だからな
低脳な民の国は依存する大国の言いなりになるだけ
尖閣の件で分ったろ
アメリカの子分から中国の子分になると低脳民なりに決断したんだ

>>918
美国語が分らないんです><
921デフォルトの名無しさん:2010/12/22(水) 19:42:13
なんでこのスレにシナチクが湧いてんだ
922デフォルトの名無しさん:2010/12/22(水) 19:59:25
30年後の日本より10年後のWinAPIを考えようぜ
923デフォルトの名無しさん:2010/12/22(水) 20:23:52
924デフォルトの名無しさん:2010/12/22(水) 20:40:43
30年後の日本と、10年後のWinAPIのどちらが現実的なのかな?
925デフォルトの名無しさん:2010/12/22(水) 21:07:53
俺の余命より後の話だからどうでもいいや。
926デフォルトの名無しさん:2010/12/22(水) 21:16:47
30年後にはCopyRectExが出来る予定
927デフォルトの名無しさん:2010/12/22(水) 21:28:37
自分で作った関数とせにを呼び出すのではどっちが速い?

中身同じ処理だったとして

928デフォルトの名無しさん:2010/12/22(水) 21:30:25
欧米は珍妙な料理道具が次から次へと出てくるよね
929デフォルトの名無しさん:2010/12/22(水) 21:52:16
>>927
日本語でOK
930デフォルトの名無しさん:2010/12/22(水) 22:14:51
>>926
CopyRectの拡張に30年もかかるのか・・・
931デフォルトの名無しさん:2010/12/22(水) 23:32:14
そろそろCopyCube作らないといけないんじゃないかな?
932デフォルトの名無しさん:2010/12/22(水) 23:37:20
その前にCopyCircleだろ
933デフォルトの名無しさん:2010/12/23(木) 00:09:20
その前にCopyPoint
934デフォルトの名無しさん:2010/12/23(木) 00:17:47
CopyPointsだろ
935デフォルトの名無しさん:2010/12/23(木) 00:23:29
C++スレから移動してきました。

すみません、ミューテックスについて教えてください。

複数スレッドの処理で、下記のようなミューテックスの処理を行ってました。

コンストラクタ
mutex = CreateMutex(NULL, FALSE, NULL);
ReleaseMutex(mutex);


スレッド内処理
ReleaseMutex(mutex);
WaitForSingleObject(mutex, INFINITE);
ReleaseMutex(mutex);
WaitForSingleObject(mutex, INFINITE);

スレッド内処理で最初に無駄なReleaseMutex()をしており、さらに最後にReleaseMutex()をしてなかった為
スレッド間でデッドロックが起こるかと思いきや、問題ありませんでした。
これは再起カウンタが以下の様な動きしているからですか?

ReleaseMutex(mutex); →-1
WaitForSingleObject(mutex, INFINITE);→0
ReleaseMutex(mutex); →-1
WaitForSingleObject(mutex, INFINITE);→0
936デフォルトの名無しさん:2010/12/23(木) 00:28:16
最初のReleaseMutexでハンドルが解放されてる以上、
それ以降の呼び出しは全部エラー。
だからC++スレで「エラーチェックしてるか?」って聞かれたんだろ。
937935:2010/12/23(木) 00:35:51
>>936
そうだったのか!!!
すいません、解放失敗以降全てエラーになる事は知りませんでした。
戻り値をチェックしてみます。
ありがとうございましたm(_ _)m
938デフォルトの名無しさん:2010/12/23(木) 00:45:56
解放の意味を理解しているのかかなり不安なんだが
939デフォルトの名無しさん:2010/12/23(木) 00:52:06
なんか日本語が通じてない感じ
940935:2010/12/23(木) 01:03:51
>>938-939
すいません、まだ認識が間違ってますか。。。

ReleaseMutex→所有権の解放
WaitForSingleObject→所有権の取得(複数取得可)

>>936さんは所有権の解放に失敗したら、以降の取得は不可能(エラー)となるものである。
と仰ってると認識したのですが、違いますか?
941デフォルトの名無しさん:2010/12/23(木) 01:49:05
>>940
所有権の開放ではなくmutexオブジェクト(ハンドル)の開放。
コンストラクタでReleaseMutex(mutex);しているから、そのmutexオブジェクトはすでに無効になっている。
以降の[スレッド内処理]では、すべて無効なハンドルに対して関数を呼び出していることになる。
無効なハンドルに対するWaitForSingleObject、およびReleaseMutex(mutex);呼び出しは失敗する。

ReleaseMutex が正常に終了(戻り値がTRUEであるか、
WaitForSingleObjectが正常に終了(戻り値がWAIT_FAILED以外)であるか
ちゃんと確認してみろ。
942デフォルトの名無しさん:2010/12/23(木) 01:52:54
解放に失敗するのはそもそもスレッドが所有権を持っていない(解放した)から
だからWaitしない限り何回Release繰り返しても無駄だよねって話
別に失敗したからってMutexが死ぬわけじゃない
あとなんでデッドロックしないのかよくわからん
943デフォルトの名無しさん:2010/12/23(木) 01:57:35
>>941
CloseHandleと混同してね?
944デフォルトの名無しさん:2010/12/23(木) 02:12:23
1スレッド1mutexというオチだったりしてw
945デフォルトの名無しさん:2010/12/23(木) 02:21:49
無名だしな
946デフォルトの名無しさん:2010/12/23(木) 02:24:09
馬鹿が講釈垂れるほど見苦しいものは無い
947デフォルトの名無しさん:2010/12/23(木) 02:47:01
>>935
再起カウンタが0以下になるというのは考えづらいかな。
スレッド内処理というのが実際にはどうなっているのかは知らないが、
最初の ReleaseMutex は無視して、スレッド終了時に自動開放されていると考えれば、

ReleaseMutex(mutex); // 0 -> 0 (SIGNAL)
WaitForSingleObject(mutex, INFINITE); // 0 -> 1
ReleaseMutex(mutex); // 1 -> 0 (SIGNAL)
WaitForSingleObject(mutex, INFINITE); // 0 -> 1
スレッド終了 1 -> 0 (SIGNAL)

となって、Mutexだけなら辻褄は合いそうだが


948935:2010/12/23(木) 12:29:11
>>944
省略してしまいましたが、CreateMutexは初回スレッドのコンストラクタのみ行います。
そして最終スレッドのデストラクタでCloseHandleして破棄してます。

なので、1スレッド1ミューテックスではないです。
試しに最初の解放をコメントアウトしたら、2スレッド目が無限待機に陥ったので
スレッド間でのミューテックスは成功してそうです。

>>947
上で書いた様に、最初の解放をコメントアウトするとデッドロックするので
自動解放はしてないっぽいです。

今まで、解放に失敗してもその後の動作には関係がないと思っていたのですが
そうで無さそうなので。。。エラー時に以下の様になった場合は解放未完了になるのか?
という部分を懸念しています。

ReleaseMutex(mutex); // 0→-1
WaitForSingleObject(mutex, INFINITE); // -1→0
ReleaseMutex(mutex); // 0→-1
スレッド内処理終了(再起カウンタ0でないため非シグナル状態?)
949デフォルトの名無しさん:2010/12/23(木) 12:43:01
WaitForSingleObjectを勘違いしてないか?
ミューテックスがシグナル状態になるまで待つ関数だぞ
950947:2010/12/23(木) 13:11:49
Mutexを所有した状態でスレッドを終了すると、通常とは異なるシグナル状態になるみたいだ。
WaitForSingleObject() が WAIT_ABANDONED を返していたりしない?
951デフォルトの名無しさん:2010/12/23(木) 13:19:57
WaitForMultipleObjects使えばいけるが
終了前に解放すりゃいい話だろ
952デフォルトの名無しさん:2010/12/23(木) 13:39:12
なにこれひっど〜い
953デフォルトの名無しさん:2010/12/23(木) 14:22:02
>>948
コンストラクタ
mutex = CreateMutex(NULL, FALSE, NULL);
ReleaseMutex(mutex); <=なんで取得してないのにイラネするの?

スレッド内処理
ReleaseMutex(mutex); <= WaitForSingleObjectの前にイラネするん?
WaitForSingleObject(mutex, INFINITE);
ReleaseMutex(mutex); //
954デフォルトの名無しさん:2010/12/23(木) 15:18:31
まだやってんのかw
エラー値見ればいいだけの話だろ。
妄想しなくても、OSはちゃんと教えてくれるよ。
955デフォルトの名無しさん:2010/12/23(木) 15:29:39
質問いいですか?

unsigned _64int型の整数を
fprintf_s( ファイルポインタ,"%I64u ",変数 );
という形式で出力したところ、出力した形式とはまったく違う数字で出力されてしまいました。
テキストとバイナリ、同じ形式でやったのですが、結果は変わりませんでした。

変数が間違っていると思い、定数でやっても変わりませんでした。
_64int型ではなにか違う方法で出力しないといけないのでしょうか?
956デフォルトの名無しさん:2010/12/23(木) 15:30:51
すみません
64intではなく int64です
957デフォルトの名無しさん:2010/12/23(木) 15:36:03
すみません、自己解決しました。
958デフォルトの名無しさん:2010/12/23(木) 16:41:59
何だこの流れ
959デフォルトの名無しさん:2010/12/23(木) 16:46:20
よろしい
さがってなさい
960デフォルトの名無しさん:2010/12/23(木) 17:05:29
定期拳!
961デフォルトの名無しさん:2010/12/23(木) 17:32:48
fprintf_sは api だっけ?
もしかしてただのCライブラリじゃないか?
962デフォルトの名無しさん:2010/12/23(木) 17:42:24
APIの意味を調べて、赤面する事だ。
963デフォルトの名無しさん:2010/12/23(木) 18:29:32
定期あげ
964デフォルトの名無しさん:2010/12/23(木) 21:54:42
srud(>>963);
965デフォルトの名無しさん:2010/12/23(木) 22:12:27
定期あげ
966デフォルトの名無しさん:2010/12/24(金) 00:27:36
クリスマスイブですが、お前らはどうせWin32APIだなwwwww
967デフォルトの名無しさん:2010/12/24(金) 10:12:36
FWPでのフィルタリングで、条件にIPアドレスの範囲を指定することってできない?
範囲の指定をこんなふうにしてみたんだけど

FWPM_FILTER_CONDITION0 Condition;
FWP_RANGE0 Range;
Condition.matchType=FWP_MATCH_RANGE;
Condition.conditionValue.type=FWP_RANGE_TYPE;
Condition.conditionValue.rangeValue=&Range;
Range.valueLow.type=FWP_UINT32;
Range.valueLow.uint32=ntohl(AddressLow);
Range.valueHigh.type=FWP_UINT32;
Range.valueHigh.uint32=ntohl(AddressHigh);

FwpmFilterAdd0の呼び出しは成功するけど、実際にはフィルタリングされない
条件をFWP_MATCH_EQUALにしてFWP_V4_ADDR_MASKで指定すると問題なく動作する
アドレスの範囲を指定したい場合、Calloutを使うしかない?
968デフォルトの名無しさん:2010/12/24(金) 13:08:11
追記
Condition.fieldKey=FWPM_CONDITION_IP_REMOTE_ADDRESS;
としています
FWPM_FILTER0のlayerKeyはFWPM_LAYER_INBOUND(OUTBOUND)_IPPACKET_V4や
FWPM_LAYER_INBOUND(OUTBOUND)_TRANSPORT_V4、FWPM_LAYER_ALE_AUTH_CONNECT_V4を
指定してみたが、どれもフィルタリングされない
あとFWPじゃなくてWFPね
969デフォルトの名無しさん:2010/12/24(金) 23:04:26
定期あげ
970デフォルトの名無しさん:2010/12/24(金) 23:15:31
SetMerryXmas()
971デフォルトの名無しさん:2010/12/24(金) 23:57:19
Destroy(reaju)
972デフォルトの名無しさん:2010/12/25(土) 00:16:41
xmas->Release()
973デフォルトの名無しさん:2010/12/25(土) 00:25:01
santakuro-su->tonakai->release();
santakuro-su->open(purezento);
974デフォルトの名無しさん:2010/12/25(土) 00:32:53
virtual void lover() const;
975デフォルトの名無しさん:2010/12/25(土) 00:45:46
WaitForSingleXmas()
976デフォルトの名無しさん:2010/12/25(土) 00:46:49
>>974
永遠の愛は絵空事でしかなく、ただ虚しさだけ残るか
977デフォルトの名無しさん:2010/12/25(土) 03:32:05
WaitForSingleXmas()
978デフォルトの名無しさん:2010/12/25(土) 03:42:26
DestroyXmas()
979デフォルトの名無しさん:2010/12/25(土) 03:46:45
GetXmasPresent()
980デフォルトの名無しさん:2010/12/25(土) 04:32:19
クリスマスプレゼント欲しい奴って意外といるのか?w
981デフォルトの名無しさん:2010/12/25(土) 04:56:58
HANDLE WINAPI GetXmasPresent()
{
  return INVALID_HANDLE_VALUE ;
}
982デフォルトの名無しさん:2010/12/25(土) 06:29:37
メリクリ ho
983デフォルトの名無しさん:2010/12/25(土) 09:41:28
>>971
レア獣は残しとかなあかん
984デフォルトの名無しさん:2010/12/25(土) 11:39:19
if (IsPresent(L"MonsterHunter")){
985デフォルトの名無しさん:2010/12/25(土) 16:27:07
靴とパンツはいてる女は信用できん
986デフォルトの名無しさん:2010/12/25(土) 16:34:42
GetGirlFriend関数は以前のバージョンとの互換性のために残されています。
新しいアプリケーションではGetBoyFriend関数を使ってください。
987デフォルトの名無しさん:2010/12/25(土) 17:05:18
アッー!!
988デフォルトの名無しさん:2010/12/25(土) 21:15:58
while (!IsPresent(L"MonsterHunter", L"Portable", 3))
{
        Sex();
        GetXmasPresent();
}
989デフォルトの名無しさん:2010/12/25(土) 23:13:07
990デフォルトの名無しさん:2010/12/25(土) 23:15:40
失敗するのか、この関数w
991デフォルトの名無しさん:2010/12/25(土) 23:17:18
そりゃNULLとか渡したら失敗するだろう
992デフォルトの名無しさん:2010/12/25(土) 23:23:16
これだけ頭悪そうな関数だと確認せずに書き込みそうで・・・
993デフォルトの名無しさん:2010/12/25(土) 23:25:37
ぬるぽ
994デフォルトの名無しさん:2010/12/26(日) 00:18:24
CopyRectっ!
995デフォルトの名無しさん:2010/12/26(日) 01:20:19
なんでLPRECTは定義してLPCRECTは定義しないんだ
996デフォルトの名無しさん:2010/12/26(日) 01:49:06
ume
997デフォルトの名無しさん:2010/12/26(日) 04:41:49
998デフォルトの名無しさん:2010/12/26(日) 05:33:37
>>993
そういるルールだからです。
「ぬーやる」バーガーはしってますか?
999デフォルトの名無しさん:2010/12/26(日) 07:11:40
999
1000デフォルトの名無しさん:2010/12/26(日) 07:12:21
次に行こうか!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。