Win32API質問箱 Build80at TECH
Win32API質問箱 Build80 - 暇つぶし2ch2:デフォルトの名無しさん
09/06/04 04:26:44
MSDN
- MSDN ホームページ
URLリンク(www.microsoft.com)
- MSDN ライブラリ
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
- MSDN ライブラリ (ローカル版)
URLリンク(www.microsoft.com)
- Windows SDK & Platform SDK
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)

書籍
- Advanced Windows 第5版
URLリンク(www.amazon.co.jp)

3:デフォルトの名無しさん
09/06/04 04:27:27
79 スレリンク(tech板)
78 スレリンク(tech板)
77 スレリンク(tech板)
76 スレリンク(tech板)
75 スレリンク(tech板)
74 スレリンク(tech板)
73 スレリンク(tech板)
72 スレリンク(tech板)
71 スレリンク(tech板)
70 スレリンク(tech板)
69 スレリンク(tech板)
68 スレリンク(tech板)
67 スレリンク(tech板)
66 スレリンク(tech板)
65 スレリンク(tech板)
64 スレリンク(tech板)
63 スレリンク(tech板)
62 スレリンク(tech板)
61 スレリンク(tech板)
60 スレリンク(tech板)
59 スレリンク(tech板)
58 スレリンク(tech板)
57 スレリンク(tech板)
56 スレリンク(tech板)
55 スレリンク(tech板)
54 スレリンク(tech板)
53 スレリンク(tech板)
52 スレリンク(tech板)
51 スレリンク(tech板)

4:デフォルトの名無しさん
09/06/04 04:27:49
50 スレリンク(tech板)
49 スレリンク(tech板)
48 スレリンク(tech板)
47 スレリンク(tech板)
46 スレリンク(tech板)
45 スレリンク(tech板)
44 スレリンク(tech板)
43 スレリンク(tech板)
42 スレリンク(tech板)
41 スレリンク(tech板)
40 スレリンク(tech板)
39 スレリンク(tech板)
38 スレリンク(tech板)
37 スレリンク(tech板)
36 スレリンク(tech板)
35 スレリンク(tech板)
34 スレリンク(tech板)
33 スレリンク(tech板)
32 スレリンク(tech板)
31 スレリンク(tech板)
30 スレリンク(tech板)
29 スレリンク(tech板)
28 スレリンク(tech板)
27 スレリンク(tech板)
26 スレリンク(tech板)

5:デフォルトの名無しさん
09/06/04 04:27:59
25 スレリンク(tech板)
24 スレリンク(tech板)
23 スレリンク(tech板)
22 スレリンク(tech板)
21 スレリンク(tech板)
20 スレリンク(tech板)
19 スレリンク(tech板)
18 スレリンク(tech板)
17 スレリンク(tech板)
16 スレリンク(tech板)
15 スレリンク(tech板)
14 URLリンク(pc5.2ch.net)
13 URLリンク(pc5.2ch.net)
12 URLリンク(pc5.2ch.net)
11 URLリンク(pc5.2ch.net)
10 URLリンク(pc5.2ch.net)
9 URLリンク(pc5.2ch.net)
8 URLリンク(pc5.2ch.net)
7 URLリンク(pc3.2ch.net)
6 URLリンク(pc3.2ch.net)
5 URLリンク(pc3.2ch.net)
4 URLリンク(pc3.2ch.net)
3 URLリンク(pc.2ch.net)
2 URLリンク(pc.2ch.net)
1 URLリンク(pc.2ch.net)

6:デフォルトの名無しさん
09/06/04 04:28:10
- Google 聞く前に検索
URLリンク(www.google.com)

下記サイトは、違っている事もあるので参考程度にしよう!
流れを参考にしながら、APIの仕様を読めば使えるはず。

- 猫でもわかるプログラミング
URLリンク(www.kumei.ne.jp)
- Win32 API入門
URLリンク(wisdom.sakura.ne.jp)
- Win32 プログラミング入門
URLリンク(www7.plala.or.jp)
●Win32API(C言語)
URLリンク(www.geocities.jp)

7:デフォルトの名無しさん
09/06/04 04:28:38
荒れてるのはいつものことなので
気にせず質問したらいいと思うよ

8:デフォルトの名無しさん
09/06/04 05:31:49
>>1

いつも思うんだけど、Advanced Windowsのとこは注意書きか何か
あった方がいいんじゃないかな?
よく入門書と間違えて買う人いるし。

9:デフォルトの名無しさん
09/06/04 07:38:33
入門書だろ

10:デフォルトの名無しさん
09/06/04 07:46:20
むしろとりあえず読むべき入門書なのにタイトルで損してる本だよな

11:デフォルトの名無しさん
09/06/04 08:16:45
つーか間違えて買ったら何か問題でもあるのか?

12:デフォルトの名無しさん
09/06/04 11:23:55
COMBOBOXとCOMBOBOXEXはどう違うの?

13:デフォルトの名無しさん
09/06/04 11:26:28
EX

14:デフォルトの名無しさん
09/06/04 11:29:28
そのEXが分からないんだが。

15:デフォルトの名無しさん
09/06/04 11:37:49
EXで増えたメッセージ(CBEM_)関係を読めば数分で理解できると思うが
大きい違いはアイコンとWindows9x+IEでのユニコード対応

16:デフォルトの名無しさん
09/06/04 12:12:33
MSDNも読まんアホは永遠に分からなくていいよ。

17:デフォルトの名無しさん
09/06/05 10:45:29
>>15
ありがとう

18:デフォルトの名無しさん
09/06/05 12:13:51
UACで制限ユーザから管理者に昇格して実行されているプロセスから、
昇格前のユーザを知る方法ってありませんか?

19:デフォルトの名無しさん
09/06/05 13:29:03
またウィルスか

20:デフォルトの名無しさん
09/06/05 15:18:18
どういう状況なんだろう

21:デフォルトの名無しさん
09/06/05 21:28:10
すまないがWin98、もしくはWinMeの環境ある人居ない?
ちょっとしたコードが、Win98、Meできちんと動作するか確認したいんですが
環境が無い為、自分では確認出来ません
確認したいソースだけupしますので、ビルドから確認まで協力してくれないでしょうか?
確認はファイルをD&Dするだけですので、一瞬で終わります

22:デフォルトの名無しさん
09/06/05 21:34:27
VMWare でも使えよハゲ

23:デフォルトの名無しさん
09/06/05 21:39:59
>>21
VirtualPCもたしか無料だったはずだよ

24:デフォルトの名無しさん
09/06/05 21:48:54
>>22-23
レス有難うございます
肝心のDiskが無い為、仮想環境が作れないでいます
98、Meのisoは配布されてましたか?

25:デフォルトの名無しさん
09/06/05 21:51:36
MSDN に入ればダウンロードできるだろ

26:デフォルトの名無しさん
09/06/05 21:51:54
>>24
ないのね、明日で良ければやりましょうか?
98SEしか手持ちがなかったはずなんでご期待に沿えるかは分かりませんが・・・

あとできたらバイナリで欲しいなぁ、仮想環境構築からビルド環境までって時間かかりそうだし
ビルドからやらないと実験になりませんか?

27:デフォルトの名無しさん
09/06/05 22:32:07
>>25
MSDNに加入とはお金が掛かるのでしょうか?

>>26
すみませんが、お願い出来ますか?
Win98SEでも十分です!
バイナリでも良いですが、バイナリでupすると不信に思われると思い
ソースでupを考えておりました
バイナリで宜しければ、バイナリでup致します。

28:テスト要員@文教堂
09/06/05 22:35:42
>>27
MSDN購読はたしかお金かかりますよ

適当なうpろだにでも上げといてください、拾って実行します
あと、できたら他のスレ移動したいですね、ここ質問スレだし

29:デフォルトの名無しさん
09/06/05 22:39:51
>>28
本当に有難うございます

下記スレで如何でしょうか?
プログラム板雑談スレッド Part 3
スレリンク(tech板)

upはバイナリ形式で、明日の午前中に行いたいと思います
確認して頂きたい点はtxtを同梱致します。

30:テスト要員 ◆hMt.Bw/pUk
09/06/05 22:40:55
>>29
了解です、明日そちらのスレ見ておきます

31:依頼人 ◆mDDU6VtRHw
09/06/05 23:30:56
>>30
テスト要員 ◆hMt.Bw/pUk様

プログラム板雑談スレッド Part 3
スレリンク(tech板:413番)

予定より早いですが、上記にてupを行いました
自己解凍形式で、同梱したtxtをご確認下さい。
また、質問スレにはこの件の書き込みは最後とします。
関係の無いレスで埋めてしまい本当に申し訳ありませんでした。

32:デフォルトの名無しさん
09/06/06 06:19:01
hoge1すげーw

33:デフォルトの名無しさん
09/06/06 15:38:03
MSDNではWinXP以降しか手に入らないよ。
MS-Java絡みの関係で、9x系に加え2000以前も全部駄目になっている。

34:デフォルトの名無しさん
09/06/06 16:20:25
じゃあWindows9x系での動作確認をしたかったら中古で買うか
もしくは割れてるのを手に入れるかしかないのか・・・

35:デフォルトの名無しさん
09/06/06 18:11:34
つーか9x系に対応したソフトを作る人ならOSぐらい持ってるだろ
なんで持ってないOSまでわざわざ対応する必要があるんだよw

36:デフォルトの名無しさん
09/06/06 20:23:58
持ってないけど少しでも使ってくれる人増やしたいから対応するってのはあると思うよ
まぁMSが見捨てたもんに対応なんて今さらって気はするが・・・

37:デフォルトの名無しさん
09/06/06 20:56:54
WM_CREATEで-1でなく1を返すコードを見たんだが
これは何か意味があるの?

38:デフォルトの名無しさん
09/06/06 21:38:57
URLリンク(msdn.microsoft.com)

確かに1に見えなくも、つーか化けてね

39:37
09/06/06 21:47:25
>>38
もちろん俺もそこ見たけど -1(たぶん)と 0 の場合しか書いてなかった
1の場合普通に成功するんだが
WM_CREATEの戻り値ってなんかに使用されるっけ?されないなら別に気にしないことにする

40:デフォルトの名無しさん
09/06/06 22:11:48
ほかの可能性としては、0と非0を返すWM_NCCREATEと勘違いしたとか。

41:37
09/06/06 22:35:18
>>40
うーん、俺の見たコードではWM_CREATEやWM_LBUTTONDOWNで1を返してた。
まぁいいや、気にしまい。スマン

42:デフォルトの名無しさん
09/06/07 11:44:46
>>39
-1を返すとCreateWindowExが失敗してNULLを返す

って書いてあるだろ、しっかり読め

43:デフォルトの名無しさん
09/06/07 13:03:59
>>42
おまえこそ、普通にレスを読め

44:デフォルトの名無しさん
09/06/07 13:12:44
あれ?
MSDNオンラインとオフラインで書いてあることが違う?

45:デフォルトの名無しさん
09/06/07 14:06:36
「ン」と「フ」が違うからな

46:デフォルトの名無しさん
09/06/07 14:15:05
>>38
化けてるな。マイナス記号がU+002DじゃなくてU+2013という罠。

47:デフォルトの名無しさん
09/06/07 15:12:24
URLリンク(msdn.microsoft.com)

CEの方は化けてないな

48:デフォルトの名無しさん
09/06/07 15:16:08
マイナス記号が化けてるからMSDN読みませんってか

49:デフォルトの名無しさん
09/06/07 15:19:35
U+2013 って – だろ?

化けるフォント使ってる奴が悪いんだろ

50:デフォルトの名無しさん
09/06/07 17:50:03
ステータスバーを最下部に配置してるんだが
メインウィンドウとの境目に境界線って消せない?
それとも境界線自信メインウィンドウの物?

51:デフォルトの名無しさん
09/06/07 17:50:58
ハァ?

52:デフォルトの名無しさん
09/06/07 17:59:47
ステータスバーっぽいウィンドウ作って配置するとか

53:デフォルトの名無しさん
09/06/08 01:56:52
スクロールユーティリティ作っていて、標準スクロールバーを持つコントロールの
スクロールバーのサムの位置をダイレクトに変えたい。

WM_VSCROLL/HSCROLLで SB_LINEUP/DOWN, SB_PAGEUP/DOWNは動くけど、
SB_THUMBPOSIION(またはSB_THUMBTRACK) 送っても反応しないものがある。

エディットやリッチエディットなどは問題ないけど、Janeのスレビューの部分の TMDITextViewなどは動かないんで、
SetScrollInfo(またはSetScrollPos)で無理やり位置を変えてから、SB_THUMBPOSITIONを送ると動いたりする。
(でもビジュアルスタイルを適応していると動かない)

独自コンポーネントの仕様だと言われればそれまでなんだろうけど、
Spy で調べたのと同じメッセージを送っても動かないのは何でだろ?

54:デフォルトの名無しさん
09/06/08 07:07:41
独自コンポーネントの仕様です。

55:デフォルトの名無しさん
09/06/08 17:00:03
システムメニューじゃなくてタイトルバーの下にあるメニューを列挙するAPIを教えてください

56:デフォルトの名無しさん
09/06/08 17:06:07
ウィンドウに対してGetMenuしてうんぬんかんぬんする

57:デフォルトの名無しさん
09/06/08 17:07:28
>>56
あ、ありがとう。
それだけわかれはうんこが漏れるほどわかりますた

58:デフォルトの名無しさん
09/06/08 19:06:39
基本メインウィンドウ隠してる時にポップアップメニューを出すようにしたんだが
WM_HOTKEYでSetForegroundWindowー>TrackPopupMenu
の処理すると、ポップアップメニュー以外をクリックしても閉じるけど
WM_TIMERで同じ事やると、メニューが閉じない
一応メッセージフックして違いを見たけど、解決に至らなかった
良い方法はないだろうか?

59:デフォルトの名無しさん
09/06/08 21:07:08
>>58
TrackPopupMenuのあとにWM_NULLをポストする。

60:デフォルトの名無しさん
09/06/08 21:42:46
エクスプローラとかについてる進む・戻るボタンみたいな、
ボタンの脇に▼がついてるボタンのことなんていうの?
ナビゲーションボタンであってる?

61:デフォルトの名無しさん
09/06/09 00:36:50
特に名前はないだろ

62:デフォルトの名無しさん
09/06/09 00:38:06
ドロップダウンボタンだろ

63:デフォルトの名無しさん
09/06/09 06:49:24
スプリットボタン

64:デフォルトの名無しさん
09/06/09 08:07:48
TBSTYLE_EX_DRAWDDARROWS
BS_SPLITBUTTON
ツールバーだから、ドロップダウンボタンという事になるのかな。

65:58
09/06/09 11:37:35
>>59
試して見ましたが駄目でした
WM_NULLはタスクトレイから操作された時に必要のようですね

66:デフォルトの名無しさん
09/06/10 15:50:05
質問です。

WNDCLASSのlpszClassNameに設定するクラス名の文字列のポインタのことなんですが、
このポインタが指す文字列は、RegisterClass後も、
そのままメモリ上で同一の内容で存在し続ける必要があるのでしょうか?

例えばlpszClassNameに設定した文字列のポインタが、
mallocによって確保された領域を指している場合、RegisterClass後に
それをfreeしてしまっても問題が起きない保障があるのか、、が気になります。

67:デフォルトの名無しさん
09/06/10 15:53:35
開放しても大丈夫

68:デフォルトの名無しさん
09/06/10 15:58:50
分かりました。ご返答ありがとうございました。

69:デフォルトの名無しさん
09/06/10 16:38:33
いやどうかな

70:デフォルトの名無しさん
09/06/10 17:54:41
普段は単なる文字列リテラルを使っていたから考えもしなかったが、リテラル文字列は
メモリ上に永続していることが多いのか。

71:デフォルトの名無しさん
09/06/10 18:01:06
というかまあ、常識的に考えれば、文字列へのポインタを引数にとる関数が、制御が帰った後も
その文字列が永続してなきゃいけないような変則的な作りだったら、ドキュメントにそう
書いてあるはずだ。

72:デフォルトの名無しさん
09/06/10 18:02:12
strtokとかか

73:デフォルトの名無しさん
09/06/10 18:13:35
RegionをSelectObjectした時の記述が無い?

74:デフォルトの名無しさん
09/06/10 19:58:21
>>70
つーか文字列リテラルが永続しない場合ってどんな時だ?

75:デフォルトの名無しさん
09/06/10 20:11:01
>>73
SelectClipRgnと等価。
ってMFCの方には書いてあるのだけどなあ。
URLリンク(www.tech-archive.net)
というVC++MVPな人の発言もあるし、それで合ってると思う。

76:デフォルトの名無しさん
09/06/10 20:57:39
エディットコントロールに対して文字を追加する方法はありますか?
SetWindowTextだと全て描画しなおしになってしまうので。

77:デフォルトの名無しさん
09/06/10 21:19:55
自己解決しました。EM_REPLACESELでいけました。

78:デフォルトの名無しさん
09/06/10 21:21:07
>>76
うろ覚えですまんが、確かSendMessageとか使うんじゃなかったかな

79:デフォルトの名無しさん
09/06/10 21:51:15
>>74
永続する保証がない以上、永続しないケースがあると考えておかないと。

80:デフォルトの名無しさん
09/06/11 01:12:54
言語によってはガーベジコレクトされるかもね。

81:デフォルトの名無しさん
09/06/11 01:28:26
DLL内の文字列とか、DLLをアンロードすれば読めなくなる。

82:デフォルトの名無しさん
09/06/12 09:03:21
>>76
EM_SETSEL (-1, -1) → EM_REPLACESEL

83:デフォルトの名無しさん
09/06/12 14:32:58
>>81
アンロードしてもすぐには消えないことがあるからタチ悪いよな。

84:デフォルトの名無しさん
09/06/12 22:37:31
マルチスレッドで、
スレッドAの処理Bと、スレッドCの処理Dを排他的に処理したい
(同時進行で処理したくない)場合、一般的にはどうするの?
これ! っていうAPIがあったりする?

85:デフォルトの名無しさん
09/06/12 22:41:58
>>84
同期オブジェクトを使って同期。

86:デフォルトの名無しさん
09/06/12 22:43:08
Mutex とか CriticalSection とか

87:デフォルトの名無しさん
09/06/13 01:16:35
InitializeCriticalSection(&cs);
EnterCriticalSection(&cs);
EnterCriticalSection(&cs);
EnterCriticalSection(&cs);
...

てやると、普通に最後まで実行できるんだけど、なぜ?
この場合って、二回目のEnterCriticalSectionで永久ループになるんじゃないの??


88:デフォルトの名無しさん
09/06/13 01:31:37
csを獲得済みだから

URLリンク(msdn.microsoft.com)
After a thread has ownership of a critical section, it can make additional calls to EnterCriticalSection or TryEnterCriticalSection without blocking its execution.
This prevents a thread from deadlocking itself while waiting for a critical section that it already owns.
The thread enters the critical section each time EnterCriticalSection and TryEnterCriticalSection succeed.
A thread must call LeaveCriticalSection once for each time that it entered the critical section.

89:デフォルトの名無しさん
09/06/13 01:54:29
unsigned charのSHIFT JIS文字列をcharのSHIFT JIS文字列に変換する、もしくはその逆は可能でしょうか?

90:デフォルトの名無しさん
09/06/13 01:59:50
>>89
(char*)とか(unsigned char*)とかキャストするだけ。Win32APIの出番ではない。
C++ならreinterpret_castな。

91:デフォルトの名無しさん
09/06/13 09:06:31
_com_ptr へのポインタなんだけど

IHogePtr phoge;

IHoきいせかす *pphoge = &phoge;

とすると&のオーバーロードで入れられないんです。
どうしますか?

92:デフォルトの名無しさん
09/06/13 10:36:30
使い方がおかしい
というかスレ違い

93:デフォルトの名無しさん
09/06/13 14:09:13
>>91
IHogePtrへの参照で我慢するか、boost::addressof

94:デフォルトの名無しさん
09/06/13 22:21:15
DrawCaption(hWnd, hDC, &rcCaption, DC_ACTIVE | DC_GRADIENT | DC_TEXT | DC_ICON | DC_BUTTONS);

このようにしてDrawCaptionをDC_BUTTONSフラグを付けて呼び出してもボタンが描画されないのですが
なぜでしょうか?

95:デフォルトの名無しさん
09/06/13 22:33:36
次にお前は「OSは2000」と言う!

96:94
09/06/13 22:42:02
すみません、OSはXP SP3です。。。

97:デフォルトの名無しさん
09/06/13 22:42:40
>>95
駄目じゃん

98:デフォルトの名無しさん
09/06/13 22:48:26
EnterCriticalSection て、例えば
beginthread でスレッドAとBをつくったとして、そのAとBの間で
同期する場合にしか使えないの?
beginthread でスレッドを1つだけつくった場合に、
プログラム本体側と、スレッドの間で同期はできないの?

99:デフォルトの名無しさん
09/06/13 22:54:48
>>98
何言ってんのか正直わからんが、おまえの言う「プログラム本体」も
スレッドなので「スレッドAとB」の場合と何もかわらんよ。

Advanced Windows読んで出直してこい

100:デフォルトの名無しさん
09/06/13 23:14:05
つーか、beginthread なんて使わずに、ちゃんと CreateThread() 使え。

101:デフォルトの名無しさん
09/06/13 23:15:20
俺はbeginthread派何だが、CreateThreadの方がやっぱりいい?

102:デフォルトの名無しさん
09/06/13 23:18:38
俺はThread.Start()派

103:デフォルトの名無しさん
09/06/13 23:19:16
CreateThreadのメモリリーク問題ってなんでマイクロソフトは10年経っても治さないの?

104:デフォルトの名無しさん
09/06/13 23:23:50
いろいろ面倒だからじゃね?

俺は面倒だから_beginthreadex使うけど。

105:デフォルトの名無しさん
09/06/13 23:29:15
>>103
もう直っている。
Windows Server 2003でFlsAllocと言う関数が導入された。もちろんVistaでも使える。
これには、スレッド終了時に呼ばれるコールバックを登録する機能が付いており、
CRTもこれを使ってのリソース解放ができるようになった。

XP以下放置かよ、と思うならDLL版CRT使えばいい。

106:デフォルトの名無しさん
09/06/13 23:54:35
いつも_beginthreadexじゃなくて_beginthreadのほう使ってるけど
いいの?

107:デフォルトの名無しさん
09/06/14 00:11:39
>>106
今話題になっている件については問題はない
ただし、他にも違いがあるので _beginthreadex にしておくのが無難、MSDNを読んでおけ

108:デフォルトの名無しさん
09/06/14 18:24:17
      ______
      \|        (___    
    ♪   |\            `ヽ、 
         |  \             \
   ∧ ∧ |   \             〉
   (*`q´) | ♪   \          /
 ∥( つ| ̄ ̄ ̄ ̄ ̄ ̄! ̄ ̄ ̄ ̄ ̄ ̄ノ
 ∥( 匚______ζ--ー―ーrー´
  〓〓JJ .∥    ||       .||
 ∥       ∥            ||



109:デフォルトの名無しさん
09/06/14 18:25:03
質問です。

フィルタドライバを作らずにリアルタイムでオーディオデバイスから出力されるサウンドを加工することは可能でしょうか?
もし可能ならやり方の概要を教えてください。

110:109
09/06/14 18:25:58
オーディオデバイスから出力される直前のサウンドを加工してから出力したいのです。

111:デフォルトの名無しさん
09/06/14 18:49:59
ASIOとVSTプラグインを使えば普通に可能だろ

112:デフォルトの名無しさん
09/06/15 08:33:19
携帯電話は高いよ~。
ピッチがオススメ!
俺はNTTパーソナルだけど、この前サービスが始まったASTELが気になる。

113:デフォルトの名無しさん
09/06/15 16:52:55
非同期ソケット通信でWSAAsyncSelectでメッセージを受け取らずに
自分のスレッドで接続したかどうかを識別する方法を教えてください

114:デフォルトの名無しさん
09/06/15 18:02:03
もひとつ質問ですが
WSAAsyncSelectのFD_CONNECTをしてからconnectしますが
サーバーから応答が無い時はだいたい30秒くらいで
メッセージが返ってくるのですがこれのタイムアウトはどうやって設定するのですか?
ちなみに、>>113もFD_CONNECTの話です。

115:デフォルトの名無しさん
09/06/17 02:57:29
しつもんです。
Windowsが起動してからの
任意のドライブ(物理 or 論理)の

総書き込みバイト数
総読み込みバイト数

をいちばんシンプルに取得する方法はどんな方法でしょうか?

その手のデータを表示するソフトがあるのですが、
OSを起動させてかなり時間が経過してからアプリを起動しても、
OS起動からの正しい数値が表示されます。
常駐してカウントしてるわけではないんです。
これは、どこから取得しているんでしょうか?

116:デフォルトの名無しさん
09/06/17 03:49:43
>その手のデータを表示するソフト

具体的に頼むわ

117:デフォルトの名無しさん
09/06/17 04:01:59
>>116
HDDLed Indicator
インジケーターにカーソルを合わせると
OS起動時から起動しなくてもきちんと
任意の物理/論理ドライブのreadとwriteの累積バイト数が出ます
これ、どうやって取得してるんでしょう?

118:デフォルトの名無しさん
09/06/17 06:01:47
パフォーマンスカウンタ

119:デフォルトの名無しさん
09/06/17 06:22:06
>>118
パフォーマンスカウンタでは>>115の後半に書いたようなことは無理ですよね?

120:デフォルトの名無しさん
09/06/17 07:35:49
fsutil fsinfo statistics
で見られるのだから、どこかに記録されているのは確か。
パフォーマンスカウンタかWMI辺りなんだろうけど。

121:デフォルトの名無しさん
09/06/17 09:29:39
NtQueryVolumeInformationFile辺りだな

122:デフォルトの名無しさん
09/06/17 09:40:23
間違えた
DeviceIoControlでFSCTL_FILESYSTEM_GET_STATISTICSだった

123:デフォルトの名無しさん
09/06/17 14:00:04
クライアント領域が透明なウインドウをつくるとき、エディットコントロールみたいな子ウインドウではできない?

124:デフォルトの名無しさん
09/06/17 15:09:43
何を言っているのかよくわからないが、リージョンを使う分には問題ないだろ

LayeredWindowは無理かもしれんが

125:デフォルトの名無しさん
09/06/17 15:45:34
背景ブラシの色を0x00000000に

126:デフォルトの名無しさん
09/06/17 16:22:34
>>118-122
Thanks!!!

127:デフォルトの名無しさん
09/06/18 18:29:15
ReadDirectoryChangesWで、変更されたファイル名の終端にゴミ文字がある場合があるんだが
これは仕様?
バッファは呼ぶ直前に0クリアしてる

128:デフォルトの名無しさん
09/06/18 19:07:33
有効なサイズは返しているのだから、
後はどんなゴミで埋められようがガタガタ抜かすな、ってスタンス?

129:デフォルトの名無しさん
09/06/18 19:38:59
>>127
使用する領域はちゃんと確保した領域にしてる?
ポインタだけ宣言してどこ指してるか不明なまま使ってるとかじゃない?

130:デフォルトの名無しさん
09/06/18 19:52:03
最前面表示のウィンドウよりも手前に表示されるウィンドウってどうやったら作れますか?
最前面表示ウィンドウ同士だと、通常のウィンドウのようにアクティブな方が手前に表示されてしまいます

131:デフォルトの名無しさん
09/06/18 20:12:28
最前面表示のウィンドウよりも手前に表示されるウィンドウ
よりも手前に表示されるウィンドウってどうやったら作れますか?
って話になってしまうので、そういう事はできなくなっている。

132:デフォルトの名無しさん
09/06/18 20:18:15
タイマーで監視して常にアクティブに・・・
っていう嫌らしいコードが頭に浮かんだぜ

133:デフォルトの名無しさん
09/06/18 20:58:12
>>129
TCHAR buffer[1024];
ZeroMemory( buffer, sizeof(buffer) );
を渡しても問題が発生しています


134:デフォルトの名無しさん
09/06/18 21:45:45
C++でCPU温度を取得したいんだけど、なんかいいAPIある??

XP
borland c++
なんだが。。。誰か教えてくれ

135:デフォルトの名無しさん
09/06/18 21:45:59
>>133
FILE_NOTIFY_INFORMATIONの
FileNameがFileNameLengthの分だけ正しい内容になっていればOKだぞ。
0終端はなされないと書かれてあるしな。

136:デフォルトの名無しさん
09/06/18 21:50:05
>>134
ググレカス

答えは出てないが↓
URLリンク(okwave.jp)

core2だとレジスタ内に温度が格納されている?↓
URLリンク(pc-match.spaces.live.com)

137:デフォルトの名無しさん
09/06/18 21:50:11
TOPMOSTのウインドウをオーナーウインドウにしたらできる気もする>最前面より手前

138:デフォルトの名無しさん
09/06/18 22:04:25
>>135
有難うっ
>0終端はなされないと書かれてあるしな。
これは知らなかった。WideCharToMultiByteでANSI分の文字数取って変換ってやってた
何にせよ、おかげで解決しそうです。有難うございました。

139:デフォルトの名無しさん
09/06/18 22:52:27
VBのリストビュー使ってるんだが、SubItemが編集状態にできないので
フォーカスが当たってる場所に擬似的にテキストボックスを表示させたい
んだが、フォーカスが当たっている座標が分からん。何か良いAPIはないものか。


140:デフォルトの名無しさん
09/06/18 23:28:11
>>139
LVM_GETITEMRECT とかでいいんじゃねーの?

141:デフォルトの名無しさん
09/06/19 00:37:16
初歩的な質問かもしれませんがエディットボックスを作ってもキーボードで文字を打ち込むことができません。なぜでしょうか?
マウスの右クリックから文字を貼り付けることはできます。

142:デフォルトの名無しさん
09/06/19 00:50:39
ここは大穴狙いで。
メッセージループでTranslateMessageしていない、とか?

143:デフォルトの名無しさん
09/06/19 01:30:01
>>142
すげー助かりましたw
分かってることなのになんでこんなの見落としてたんだろう・・・

144:デフォルトの名無しさん
09/06/19 07:32:39
上でも挙がってるReaDirectoryChangesWを使って見たんだが
ファイルを複数移動すると取りこぼす時がある
何か改善案ないかな?

145:デフォルトの名無しさん
09/06/19 11:10:38
1個につき1回じゃないぞ

146:デフォルトの名無しさん
09/06/19 11:16:13
>>145
勿論承知してる
非同期のマルチスレッドで常に呼んでるけど
ファイルを多数移動すると通知されれず
結果取得の為の待機をしてしまう
このAPIは基本取りこぼしはしない?

147:デフォルトの名無しさん
09/06/19 15:06:27
>同期操作が正しく完了した場合、lpBuffer パラメータはフォーマット済みのバッファを表し、
>lpBytesReturned パラメータにはバッファに書き込まれたバイト数が返ります。
>転送バイト数が 0 の場合、バッファが小さ過ぎて、ディレクトリやサブツリーで発生した
>すべての変更に関する詳細情報を格納できなかったことを表します。
>この場合、ディレクトリまたはサブツリーを列挙して、変更内容を計算する必要があります。

148:デフォルトの名無しさん
09/06/19 15:23:12
とあるサイトで勉強していて、マウスクリックしたところにSetPixelVで点を打ってみましょう、という課題をやってみたのですが
まず
300*300の多次元配列を用意して
int pixel[1000][1000];
WM_LBUTTONDOWNのメッセージで
int w = LOWORD(lParam);
int h = HIWORD(lParam);
pixel[w][h] = 1;
UpdateWindow(hWnd);
return 0;
WM_PAINTのメッセージで
HDC hDC;
PAINTSTRUCT ps;
hDC = BeginPaint( hWnd, &ps );
for(int w=0; w<300; w++)
{
for(int h=0; h<300; h++)
{
if(pixel[w][h] == 1)
{
SetPixelV( hDC, w, h, RGB(255,0,0) );
}
}
}
EndPaint( hWnd, &ps );
return 0;
してみたのですが、windowサイズを変えるまで塗られません。
RedrawWindowも試してみましたが、WM_PAINTが発生しないようです。この方法は駄目でしょうか?
それともwindow生成を自分でクラス化してるのですが、そのクラスに問題があるのでしょうか?


149:デフォルトの名無しさん
09/06/19 15:31:40
ちゃんとInvalidateしてる?

150:デフォルトの名無しさん
09/06/19 15:39:25
>>147
デバッガで追ったけど、バッファが足りないっていうのは無かった
関数呼んでWaitで変更通知来るまで待機してるんだが
まだ通知されてるだろうに、そこで待機状態に入る

151:148
09/06/19 15:47:47
>>149
ありがとうございます。出来ました。

InvalidateRgn(hWnd, NULL, true);
UpdateWindow(hWnd);

152:148
09/06/19 16:50:15
というか
WM_LBUTTONDOWNのメッセージで
int w = LOWORD(lParam);
int h = HIWORD(lParam);
pixel[w][h] = 1;
InvalidateRect(hWnd, NULL, false);

これだけでOKなんですね

153:デフォルトの名無しさん
09/06/19 17:24:23
下図のように自己交差しているリージョンを、
┏━┓
┃  ┃
┗━╋━┓
   ┃  ┃
   ┗━┛
交点で個別のリージョンに分けたいんですけど、
┏━┓
┃  ┃
┗━┛┏━┓
     ┃  ┃
     ┗━┛
簡便な方法ってないものでしょうか。
リージョンに関するWinAPIで対処可能でしょうか。

よろしくお願いします。

154:デフォルトの名無しさん
09/06/19 17:33:49
早く教えて下さいよぉ

155:153 ◆D9KRK95MhY
09/06/19 17:37:04
153です。いちおうトリップつけときます。

156:デフォルトの名無しさん
09/06/19 17:40:56
この時間はやはりわかる人はいないんですね。。。

157:デフォルトの名無しさん
09/06/19 17:46:22
1日平均10レスのスレにそんな速く回答が帰ってくると思うなっての…。

158:デフォルトの名無しさん
09/06/19 17:51:32
>>153
できるよ

159:デフォルトの名無しさん
09/06/19 17:52:26
>>153
できますね

160:デフォルトの名無しさん
09/06/19 18:15:27
GetRegionDataで地道に作り直すしかないんじゃないか

161:デフォルトの名無しさん
09/06/19 19:07:35
>>158-159
具体的にアドバイスした方が良いと思われる。

162:デフォルトの名無しさん
09/06/19 19:13:29
┏━┓
┃  ┃
┗━┛┏━┓
     ┃  ┃
     ┗━┛
の上記二つのリージョンを作ったら
CombineRgnで混ぜればいいよ

163:デフォルトの名無しさん
09/06/19 19:45:46
>>162
リージョンの合成じゃなくて、分離する方法を聞いていると思われる。

164:デフォルトの名無しさん
09/06/19 21:21:38
>>163
あ、すまん勘違いしてた
リージョンから分離したいなら、GetRegionDataから作り直す
ビットマップとかから作るなら、CreateRectRgnとCombineRgn組み合わせればいいよ

165:デフォルトの名無しさん
09/06/19 21:25:54
リージョンというより、自己交差しているパスを交点で切り離せれば、
そこからリージョンを作ればいいような気がするな。
ま、APIでそういうことが出来るのかどうかは分からないが。

166:デフォルトの名無しさん
09/06/19 21:28:16
海外の身体改造は半端ねえからなあ

眼球くりぬいてLED埋め込んだ奴
URLリンク(vimeo.com)

167:デフォルトの名無しさん
09/06/19 21:30:49
>>166
何処の誤爆だ?
怖くて見れない

168:デフォルトの名無しさん
09/06/19 21:33:02
ただ光らせるために片目捨てるとかアホだろw

169:デフォルトの名無しさん
09/06/19 21:33:47
中盤グロかった・・・

170:デフォルトの名無しさん
09/06/19 22:11:57
誤爆はほっとけ

171:デフォルトの名無しさん
09/06/19 22:15:42
スレチを承知で聞かせて貰う
グロイ?

172:デフォルトの名無しさん
09/06/19 22:17:47
義眼にLED仕込んだバカのビデオだよ

173:デフォルトの名無しさん
09/06/19 22:20:47
術前→設計→術後だから血とかはないな

174:デフォルトの名無しさん
09/06/19 22:23:56
>>172-173
サンクス。最初の画面で嫌悪感出て見るの辞めた
零見たいにサーモグラフィー埋め込めば良いのに

175:デフォルトの名無しさん
09/06/19 23:31:53
話がそれたが、回答としては出尽くしたのか?
他にアイデアがあれば書いといてあげて。

176:デフォルトの名無しさん
09/06/19 23:33:14
自演してんなよ

177:デフォルトの名無しさん
09/06/19 23:36:28
おれは175=165だけど?

178:デフォルトの名無しさん
09/06/19 23:57:57
れぎおん

179:デフォルトの名無しさん
09/06/20 02:31:11
無理。

180:153 ◆D9KRK95MhY
09/06/20 10:55:44
皆さん回答ありがとうございます。
164さんのビットマップから作る方法を検討してみます。

181:デフォルトの名無しさん
09/06/20 13:46:04
IMEの制御について詳しい方いらっしゃいますか?
漢字仮名まじりの文をIMEを使って全部ひらがなに逆変換したいんですが、
漢字仮名まじりの文をIMEに設定する関数 ImmSetCompositionString(himc, SCS_SETSTR, str, length, NULL, 0)が
MSIME2002では成功するのにATOK2006では失敗します。
一応MSIMEでは動くものが作れたんですが、ぶっちゃけクソ変換なので、できればATOKを活用したいのです。

何か別の方法がないでしょうか?
ネットで調べても変換操作をしたあとの再変換の方法ならあるんですが、
漢字仮名まじりの文をIMEに設定して逆変換する方法で、ATOKで成功するものが見つけられないんです。

182:デフォルトの名無しさん
09/06/20 13:51:17
大抵の企業でATOKなんてわざわざ入れてないのでおk

183:デフォルトの名無しさん
09/06/20 13:59:03
世間一般の企業がどうとかは関係なくて、自分のところのデータ変換処理に必要なんです。
ATOKだと文脈を理解して適切な読み仮名に変換してくれるはずなので、それに期待してるのです。

184:デフォルトの名無しさん
09/06/20 14:04:21
「詳細なテキストサービスのサポートをプログラムのすべてに拡張する」がONならOFFにしてみるとか?
これでうまくいっても、PGでの対応方法は知らないけど。

185:デフォルトの名無しさん
09/06/20 15:39:29
>>184
それはOFFになってましたね。
試しにONにしてみると、MSIMEでも逆変換できなくなってしまいました。。。
「詳細なテキストサービスをオフにする」のチェックも変えましたが、こちらは変化なしでした。

Immで始まるIME制御APIは自分が試した大部分でATOKとMSIMEの間で互換性がありました。
しかしIMEとは無関係のところからもってきた文を逆変換することに関してだけは互換性が無いようなのです。
ATOK12ではできたという話がネット上にありましたが、ATOK2006はその方法ではダメでした。
難しいですね。

186:デフォルトの名無しさん
09/06/20 16:34:41
コントロールの座標をクライアントから見たい座標で取得する方法でいいのないな?

今はコントロールとクライアントの二つをGetWindoxRectでスクリーン座標から強引に求めてるが
どうも違う

187:デフォルトの名無しさん
09/06/20 16:43:25
>>186
MapWindowPoints関数を使え。

188:デフォルトの名無しさん
09/06/20 16:59:52
ウェブのMSDNって「戻り値」の説明だけごそーり消えてるんだけどなんなんだあれ?
直す気ないのかな?

189:デフォルトの名無しさん
09/06/20 17:00:31
関数とprintfとかとAPIはどっちが遅いの?

190:デフォルトの名無しさん
09/06/20 17:01:21
>>181
ImmGetConversionList でいけるはず

191:デフォルトの名無しさん
09/06/20 17:26:14
>>190
IME2003以降では使えないけどな

192:デフォルトの名無しさん
09/06/20 17:47:12
>>189
自分で調べろ

193:デフォルトの名無しさん
09/06/20 17:48:37
FF11 のいずれかを含むページは 10752 ページ中、 164 ページ見つかりました。

194:デフォルトの名無しさん
09/06/20 17:48:59
誤爆した

195:デフォルトの名無しさん
09/06/20 18:01:34
>>189
OSで応答する分APIが遅い

196:デフォルトの名無しさん
09/06/20 18:52:31
>>187
有難うございます!!

197:デフォルトの名無しさん
09/06/20 18:54:46
>>195
は?

198:デフォルトの名無しさん
09/06/20 19:11:46
システムフックするソースとか見ると、DLL側で良く

#pragma data_seg(".ShareForHook")
HHOOK MouseHook = NULL;
#pragma data_seg()

を眼にするんだが、何でこれをする意味が良く分からない。
単純にHHOOK MouseHook = NULL;じゃ駄目なの?

199:デフォルトの名無しさん
09/06/20 19:15:11
#pragma data_segってのはプロセス間での共用メモリスペースを作るオプションでな
その中で宣言された変数はどこのプロセスで変更しても全てのプロセスに伝わるわけだ

何で必要なのかはCallNextHookExの第一引数見れば分かる
2000以降は要らないんだっけかな

200:デフォルトの名無しさん
09/06/20 19:15:12
理由もちゃんと書いてあるだろ

201:デフォルトの名無しさん
09/06/20 19:26:23
>>197
ライブラリの関数は同じ実行ファイル内にリンクされるのでコストは自分と定義した関数と同じ
APIの場合は、IPCを通じてOS内部にある関数本体のアドレスに引数を渡して結果を受け取るためコスト増

202:デフォルトの名無しさん
09/06/20 19:31:04
ああこいつ馬鹿か

203:デフォルトの名無しさん
09/06/20 19:34:53
素直に頭が悪くて理解できないと言えよw

204:デフォルトの名無しさん
09/06/20 19:36:31
printfもOSのAPI内部で呼ぶっつーの馬鹿

205:デフォルトの名無しさん
09/06/20 19:37:02
自分で定義した関数で、想定されうるあらゆるデバイスに対して出力できる処理かいてるのか

206:デフォルトの名無しさん
09/06/20 19:38:39
>>199
有難う!
MSDNでのSetWindowsHookEx関数では
>グローバルフックは共有リソースであり
と書いてあった
正直まだ解せない部分もあるけど、システムフックの最低限必要のマナーなのね

207:199
09/06/20 19:43:48
ああ、理解力なさそうだね

208:デフォルトの名無しさん
09/06/20 20:15:17
>>189=>>195=>>201=>>203

209:デフォルトの名無しさん
09/06/20 21:39:29
>>190
ImmGetConversionListを使う方法を教えていただき、どうもありがとうございました。
結論からすると、やはり逆変換はMSIME2002ではできて、ATOK2006ではできなかったです。
ソースコードは下記をそのまま使いました。
URLリンク(athomejp.com)

ATOKの2006は鬼門バージョンなんですかねw

210:デフォルトの名無しさん
09/06/20 21:54:53
まぁ、そんなもんじゃね?

あとは、実際の動作をエミュレートするかだな。

211:デフォルトの名無しさん
09/06/20 21:56:13
プログラム書いていていつも思うのは
LeftとRightとかBeginとEndとか
長さが違うのが無性に腹立つんだが
欧米人には美的感覚ってものが無いのか?

212:デフォルトの名無しさん
09/06/20 22:02:25
>>211
まずプログラミング言語ありきってか

213:デフォルトの名無しさん
09/06/20 22:12:34
外人さんのデモ見てると、プロポーショナルフォントだったりするしな・・・

214:190
09/06/21 00:06:52
>>209
2006ではだめですか。ATOK2005は確か出来たはずなんですが… 残念です。


215:sage
09/06/21 01:02:46
自分は漢字の読み仮名の取得には
IFELanguageを使ってるが。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch