Win32API質問箱 Build ..
[2ch|▼Menu]
2:デフォルトの名無しさん
09/09/23 18:56:38
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/09/23 18:57:46
81 スレリンク(tech板)
80 スレリンク(tech板)
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/09/23 18:58:13
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/09/23 18:58:36
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/09/23 18:59:12
>>2
Windows SDKのリンクが一部切れてます。
最新版へのリンクもなかったので修正しておきました。

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)

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

7:デフォルトの名無しさん
09/09/23 19:04:57


8:デフォルトの名無しさん
09/09/23 19:18:35
>>1

>>6 肝心のSDK最新版が抜けてるよ
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)
URLリンク(www.microsoft.com)

9:デフォルトの名無しさん
09/09/23 19:52:33
早速質問させてください

現在 ScrapBook という Firefox のアドオンで
URLリンク(www.dotup.org)
↑の黒枠内のウィンドウにある URL のリストを取得しようと思い、
#include <windows.h>
int main()
{
    // 上図 png 画像の黒枠で囲ったウィンドウのハンドルを取得
    HWND lv(FindWindowEx(
        FindWindowEx(FindWindow(L"MozillaUIWindowClass", 0), 0, L"MozillaWindowClass", 0),
        0, L"MozillaWindowClass", 0));

    int n = SendMessage(lv, LVM_GETITEMCOUNT, 0, 0);
    int m = PostMessage(lv, LVM_GETITEMCOUNT, 0, 0);

    return 0;
}
としてとりあえずアイテム数を取得しようと試してみましたが、取得できませんでした
(n=0,m=1となってしまいました)

ひょっとしたらこの黒枠で囲ったウィンドウはリストビューじゃないのかなと思いましたが、
じゃあどんな種類のコントロールなのかは私には分かりませんでした。

どのようにすれば URL のリストを得られることができるでしょうか?
どうかお知恵をお貸しください。。。

10:デフォルトの名無しさん
09/09/23 19:57:23
そもそも、firefoxのGUIがWindowsのウィンドウ/コントロールなのかどうか

11:デフォルトの名無しさん
09/09/23 19:58:31
>>9
まずlvが正しいかどうか調べろ。


12:デフォルトの名無しさん
09/09/23 20:01:33
>>11
lvは正しいです
Spy++で確認しています

13:デフォルトの名無しさん
09/09/23 20:06:41
Explorerのコメントカラムに表示される文字列を取得、設定するのってどうやるんですか?

14:デフォルトの名無しさん
09/09/24 10:05:14
初歩的な質問なのですが、親ウィンドウが無く、いきなりダイアログボックスの表示から
始まるアプリケーションを作る場合、DialogBox関数の第3引数(親ウィンドウのハンドル)
としてNULL値をセットして、モーダルダイアログボックスを生成しても大丈夫でしょうか?

実際にアプリケーションを作成してみたところ、一応正常に動作しているように
見えるのですが、親ウィンドウハンドルとしてNULL値をセットして DialogBox関数を
呼び出していいものかどうか、少し気になります。

また親ウィンドウが無く、いきなりダイアログボックスの表示から始まるアプリケーションを
作る例として、Window APIの参考書を見ると DialogBox ではなく CreateDialog を使って
モードレスダイアログを生成する方法が紹介されています。となるとモーダルダイアログを
使うのは何か問題があるのかと、ちょっと不安に思ったりしています。



15:デフォルトの名無しさん
09/09/24 10:26:49
>>14
>第3引数(親ウィンドウのハンドル)としてNULL値をセットして、
>モーダルダイアログボックスを生成しても大丈夫でしょうか?

大丈夫。


16:デフォルトの名無しさん
09/09/24 12:03:41
>>15
了解です。ありがとうございました

17:デフォルトの名無しさん
09/09/24 13:06:29
DialogBox 生成だと
ENTER や ESC で終わってしまうから CreateDialog 〜メッセージループ してるのかもね

18:デフォルトの名無しさん
09/09/24 13:29:56
その辺は何とかなる。まあそれでもいいけど
メッセージループを自前で持たないとできないこともあるからね。

19:デフォルトの名無しさん
09/09/24 13:43:54
9xだとモーダルのメッセージループにバグがあった気がする

20:デフォルトの名無しさん
09/09/24 22:54:47
>>13
CreateFileでNTFSサブストリーム開いてしこしこ

サブストリームについてはググれ

21:デフォルトの名無しさん
09/09/25 12:55:59
ベタな質問だが、よくソフトでWin98以降対応と言うのが多いが、
Win95が未対応なのは、他の理由もあると思うけど
少なくともUnicodeまわりも影響してると考えていい?

実際ソフトを開発してる人がいたらうれしいのだが。

22:デフォルトの名無しさん
09/09/25 13:24:48
VS2003とVS2005が公式にサポートするターゲットがWindows98以降だったから

23:デフォルトの名無しさん
09/09/25 13:39:59
一昔前だと、Win98以上またはWin95+IE4以上というのも多かったと思う。
IE4でDLLが更新されてWin95でも動くようになるという場合。

24:デフォルトの名無しさん
09/09/25 13:43:35
Unicodeの影響は大きいね。
あと、リボンインタフェースとかに使われる一部のコントロールが
XP以降でないと動かない。MFCもそれ前提だし。

25:デフォルトの名無しさん
09/09/25 13:57:33
>>22
なるほど、開発環境も影響してるのか。

>>23
ああ、何か記憶にあるw
確かにそういうのあったね

26:デフォルトの名無しさん
09/09/25 14:04:36
開発環境うんぬん以前に WINVER >= 0x0500 の機能がWin95だと使えない。
SDKのヘッダをgrepすれば95と98の差は大きすぎるのが分かると思うよ。

27:デフォルトの名無しさん
09/09/25 14:08:27
UnicodeとWin98は関係ないだろ。
MSLUでエミュレートしないとW系APIがほとんど使えないし。

28:デフォルトの名無しさん
09/09/25 15:22:20
Unicodeが理由になるのは9x系全部切り捨ての場合だよなあ。

まあでも、IMMのW版が98/Meでは使えて、95だとだめという区切りはあるけど、
これを95切り捨ての理由にすることは少ないと思う。

29:デフォルトの名無しさん
09/09/25 17:30:56
そか、Unicodeが理由になるのは9x系の場合だけか。
と言うことは、98以降を切り捨ててないからUnicode対策はそれほど難しくないってことか。

じゃあやっぱり開発環境のサポートと、対95の非対応APIの多さが一番影響があるっぽいね。

30:デフォルトの名無しさん
09/09/25 18:53:06
なんで今時98とか気にしてるの?こいつ

31:デフォルトの名無しさん
09/09/25 18:56:20
5年前からタイムスリップしてきた人だろう。

32:デフォルトの名無しさん
09/09/25 20:12:38
一昔前は98も現役っていわれてたけど
この期に及んでもうそれはないだろうw

33:デフォルトの名無しさん
09/09/26 01:11:31
98を気にしてるんじゃなくて、今時のソフトを気にしてるんだが

34:デフォルトの名無しさん
09/09/26 06:29:32
今時のソフトはXP/Vistaしか対応して無いだろ。

35:デフォルトの名無しさん
09/09/26 08:23:53
エロゲーマー界では98SEが現役

36:デフォルトの名無しさん
09/09/26 08:43:21
いつの時代だよ

37:デフォルトの名無しさん
09/09/26 11:53:14
エロゲーマーとか全員焼却処分しても誰も文句言わないレベル

38:デフォルトの名無しさん
09/09/26 11:56:34
XP > Vista > 2000 >>>越えられない壁>>> Me > 98SE
対応の優先順位はこんな感じ。ほぼXP≒Vistaで、3D重視な所は2000も切っている。
9x系については、実際はMe≒98SEだろうけどそれでも2割あるかどうか。

Win95はDirectX9.0がインストールできない時点で論外だが、
OSR2でないとFAT16しか使えないのが致命的かもしれない。

39:デフォルトの名無しさん
09/09/26 12:19:44
>>38
98SE>MEだろうしWin9xは2割どころか2%未満ではないか?

40:デフォルトの名無しさん
09/09/26 12:23:00
俺はUnicodeビルドするかどうか、だな。
ANSIビルドでいい場合は98以降で、Unicodeな場合は2000以降っていう感じ。

でも最近2000ももういいと思うようになった。だってLinuxよりシェア低いしw
WINEに対応した方が良さげ?

41:デフォルトの名無しさん
09/09/26 20:31:23
4,5年ほど前は結構な割合で9xあったな。確かgoogleにアクセスしたOSで。
XPもリリース当時は結構重たかったらしいし(でもvistaほどじゃないと記憶)、
ゲームしたいとなると98seくらいしか選択肢がなかった。当時はその影響がまだある。

でも、もう探してもなかなかでてこねーだろうなぁ。

42:デフォルトの名無しさん
09/09/27 02:58:10
スクリーン座標で(-1, -1)は存在しないんですか?
WM_CONTEXTMENUはキーボード/マウスを区別するために、キーボードの場合は(-1,-1)を使うようですが、
複数のディスプレイを使ってる環境だと、負のx,y座標も存在するのかな?と思いました。

43:デフォルトの名無しさん
09/09/27 03:50:49
存在するよ。
座標が-1,-1の場合はWM_CONTEXTMENUではキーボード/マウスを区別できない。

44:デフォルトの名無しさん
09/09/27 06:38:30
キーボードを考慮してなくて、画面の左上にメニューが出てくるソフトなら見たことあるw

45:デフォルトの名無しさん
09/09/27 09:11:49
これって、64bitだとLPARAMは0xffffffffffffffff/0x00000000ffffffffどっちになるの?

後者だと
case WM_CONTEXTMENU:
 if(lParam==-1)
 ...
みたいなコードは破綻するけど。

46:デフォルトの名無しさん
09/09/27 12:37:49
てか、32bitだと上位/下位ワードで分割して使うのが普通なのだが。
64bitも同じように分割(上位下位Dワード?下位Dワードからワード分割?)してから
比較するのが当然。

で、実際64bitはWM_CONTEXTMENUの場合どうしてるの?

47:デフォルトの名無しさん
09/09/27 12:40:23
>>46
馬鹿は黙ってろ

48:デフォルトの名無しさん
09/09/27 12:57:40
>>46
オマエ頭悪いな

49:デフォルトの名無しさん
09/09/27 14:51:43
LOWORD
HIWORD
LODWORD
HIDWORD

50:デフォルトの名無しさん
09/09/27 15:32:28
LOQWORD
HIQWORD
LOOWORD
HIOWORD

51:デフォルトの名無しさん
09/09/27 15:33:42
いい加減にしろくそが

52:デフォルトの名無しさん
09/09/27 16:46:34
結局、64bitでのLPARAMの値を答えられるやつは居ないって事か

53:デフォルトの名無しさん
09/09/27 16:59:10
答えられるやつは居ないって事か(キリッ)
      ↓
早く答え教えてください

54:デフォルトの名無しさん
09/09/27 17:32:04
int64_tでF/A

55:デフォルトの名無しさん
09/09/27 17:33:28
__int64 はだめなの?

56:デフォルトの名無しさん
09/09/27 17:59:07
>>45
そんなやつは、(long)lParam == -1でいいよ。

>>46
MSDNライブラリにはGET_X_LPARAM/GET_Y_LPARAMで座標を取得しろと書いてある。
こいつ使っておけば、64ビットでもうまくいくさ。
URLリンク(msdn.microsoft.com)

57:デフォルトの名無しさん
09/09/27 21:05:45
>>56
そうじゃない
論点は64bitでLPARAMの値がどうなのかという事だ
つーか、64bitで開発してる奴このスレにいないのか?

58:デフォルトの名無しさん
09/09/27 21:32:29
どうなのと言われてもintptr_t(=__int64)じゃねぇの

59:デフォルトの名無しさん
09/09/27 21:38:04
>>58
>>45に対する答えはどっちだということでは?
ま、GET_X_LPARAM/GET_Y_LPARAMを使ってればどっちでもいいんだけどな。

60:デフォルトの名無しさん
09/09/27 21:43:55
普通に考えて
0x00000000ffffffff
はないだろと思うけど俺64bitマシン持ってないからわかんね

64bitプログラムのスレとか無かったっけ

61:デフォルトの名無しさん
09/09/27 21:47:07
64 はスレ違い。

62:デフォルトの名無しさん
09/09/27 21:59:35
>>57
64bit上でSpy++して確かめたら、0x00000000ffffffffだったぞ。

63:デフォルトの名無しさん
09/09/27 22:11:58
x64版Windows7だと0xFFFFFFFFFFFFFFFFが入るな。
互換性を考えれば、まあ当然の選択だろう。
だからといって、上位32bitが何の保証も無い事実は変わらないだろうけど。

64:63
09/09/27 22:25:32
メモ帳でShift+F10を押して試したのだが……
もしかしてOSで違う?

65:62
09/09/27 22:34:01
>>64
俺はWindows Server R2で、やはりメモ帳にて試した。
Shift-F10とAPPキーの両方ともにやってみたが同じだった。

66:62
09/09/27 22:35:31
Windows Server 2008 R2だった、すまん。

67:デフォルトの名無しさん
09/09/27 23:08:30
>>62
Spy++って32bitじゃないの?
64bit版なんてあったか?

68:デフォルトの名無しさん
09/09/27 23:11:49
あるよ。

69:デフォルトの名無しさん
09/09/27 23:19:08
VS2005には無いな。

70:デフォルトの名無しさん
09/09/28 00:03:24
>>47,48
理解できない単語が出てきたらググれ

>>56
そんなマクロがあったのか、thx

>>57
マクロの定義を見れば分かると思うが。
と思って自分のの環境見たけど32bit版しかないな。
やっぱり64bit開発環境がないと分からんのか。

71:デフォルトの名無しさん
09/09/28 00:19:27
>>70
インポートライブラリは違うけど、ヘッダはx86/x64で共通だよ。
で、コンパイルされる際には_WIN32に加えて_WIN64も定義される。

72:デフォルトの名無しさん
09/09/28 00:20:05
>>70
理解できてないのはお前だよ

73:デフォルトの名無しさん
09/09/28 00:26:04
>>70
0xffffffffffffffff か 0x00000000ffffffff かは64bit環境で確かめないと分からんだろが

マクロの定義を見れば分かるとか頓珍漢にも程がある。

74:デフォルトの名無しさん
09/09/28 00:33:02
>>70
たとえ理解してるつもりでもググれ

75:デフォルトの名無しさん
09/09/28 00:40:36
マクロの定義を見れば分かるのでググれません。

76:デフォルトの名無しさん
09/09/28 01:30:50
Windows7とServer2008R2で違うのは興味深いな。
元々の実装に、互換性向上を狙って上位32bitにもあえて拡張したのがWin7ってところか。

77:デフォルトの名無しさん
09/09/28 12:58:50
>>76
多分バグ

78:デフォルトの名無しさん
09/09/28 13:10:47
>>77
多分違う

79:デフォルトの名無しさん
09/09/28 14:12:57
いやバグだろ。
まだSP0だからその程度のバグが残っていても不思議ではない。

80:デフォルトの名無しさん
09/09/28 14:28:14
VS6のころのドキュメントだとCreateFileMappingに(HANDLE)0xFFFFFFFFを渡すように書いてあったりするし

81:デフォルトの名無しさん
09/09/28 16:47:35
XP/Server2003/Vistaのx64で試した人は居ないのか。

82:デフォルトの名無しさん
09/09/28 17:04:22
何を?

83:デフォルトの名無しさん
09/09/28 17:12:10
結論:.NETを使えば32bit/64bitで困らない

84:デフォルトの名無しさん
09/09/28 17:28:50
そう思っていた時期が私にもありました

85:デフォルトの名無しさん
09/09/28 18:36:05
OSによって上位32bitが違うとかアホすぎるだろ・・・
てか、モニターが高解像度化して16bitに収まらなくなったらどうするつもりなのだろう。

86:デフォルトの名無しさん
09/09/28 18:43:17
>>73
まともな実装なら関係のないbitにはデータは入れないと思うが。
まあ何だかんだ言っても、実際にspy++で確認した>>62,63辺りが正解か。

87:デフォルトの名無しさん
09/09/28 20:08:16
>>86
馬鹿はレスしなくていいよ

88:デフォルトの名無しさん
09/09/28 20:12:05
>>87
馬鹿はレスしなくていいよ

89:デフォルトの名無しさん
09/09/28 20:13:13
>>70
>>86
>>88

悔しそうだな。

90:デフォルトの名無しさん
09/09/28 20:18:12
そもそも64bit環境持ってる人に実際に確認してほしいという質問だったから。
確認した奴が正解つうより、確認してなくてマクロの定義うんぬん言ってる奴が馬鹿なだけ。

91:デフォルトの名無しさん
09/09/28 22:26:11
>>89
馬鹿はレスしなくていいよ

92:デフォルトの名無しさん
09/09/28 23:16:18
>>90
馬鹿はレスしなくていいよ

93:デフォルトの名無しさん
09/09/28 23:26:55
馬鹿はレスしたくなるのです

94:デフォルトの名無しさん
09/09/28 23:39:55
>>46=>>70=>>86=馬鹿

95:デフォルトの名無しさん
09/09/28 23:44:42
馬鹿はお前だよ。マクロの定義を見れば分かる。

96:デフォルトの名無しさん
09/09/28 23:48:11
>>95
馬鹿はレスしなくていいよ

97:デフォルトの名無しさん
09/09/29 01:15:50
また目覚ましか?
荒らしてる暇があるならさっさと目覚ましと時計をうpしろよ。

98:デフォルトの名無しさん
09/09/29 09:20:02
マクロの定義を見て分かるのは上位32bitの値は無視するべきことだけ

99:デフォルトの名無しさん
09/09/29 12:17:08
つまり上位32bitには何が入ってるのかは不定だから、
それに依存したコードを書くのは馬鹿、で終わり

100:デフォルトの名無しさん
09/09/29 12:19:18
まだやってんのかよレヴェルの低いスレだな

101:片山博文MZ ◆BVYGEn4LD2
09/09/29 13:03:24
今、CellSheetという、DataGridView風のGUIを作っている。
URLリンク(www1.axfc.net)

感想をよろしく。

102:デフォルトの名無しさん
09/09/29 13:12:22
つってもなあ
lParamを-1と比較するコードはMSだって書いてるんだがw

103:デフォルトの名無しさん
09/09/29 13:14:03
で?

104:デフォルトの名無しさん
09/09/29 13:15:55
MSが書いてるので全く問題無いということだ

105:デフォルトの名無しさん
09/09/29 13:22:25
問題が出たからWindows7で対策したんだろうな

106:デフォルトの名無しさん
09/09/29 13:25:07
ま、既存のコードをx64コンパイラでリビルドしただけで何の問題も無く正常に動くなんて有り得ないからな。
MSでさえLPARAMをLONGにキャストするコードとか平気で書いてるので気にしなくていい。

107:デフォルトの名無しさん
09/09/29 13:31:39
7とServer2008R2で違うなんておかしくないか?
同じカーネルだろ。

>>62>>63どっちかが間違ってるor何らかの外的要因があると考えた方が自然。

108:デフォルトの名無しさん
09/09/29 21:17:36
GetSystemInfo()で得られるSYSTEM_INFOの内容についての質問です。

GetSystemInfo()を実行したプロセス内でユーザーモードでアクセスできる資源は
lpMinimumApplicationAddress 〜 lpMaximumApplicationAddress の間に
コード、ヒープ、スタック、API関数のエントリポイントなど、
すべてあると考えていいんでしょうか?

なんらかのAPI関数のエントリポイントがその範囲外にあるなんて可能性は
ありませんかね?

109:デフォルトの名無しさん
09/09/29 21:45:40
9xだとほとんどのAPIが範囲外にある。

110:デフォルトの名無しさん
09/09/30 00:31:32
ファイルの先頭に追記する方法ありませんか?
ファイルにindex + データ の様に記録したいのですが。
indexは最後にならないと決定できません。データは1Gとかあるとします。

111:デフォルトの名無しさん
09/09/30 00:48:22
スレ違い

112:デフォルトの名無しさん
09/09/30 00:49:17
>>110
fseek(fp, 0L, SEEK_SET);
みたいなのを使う

113:デフォルトの名無しさん
09/09/30 00:52:32
>>110
先頭にデータを挿入するには、ファイル全体を書き直す必要がある。
固定長のデータを書き換えるだけなら、普通に書き換えるだけ。

114:片山博文MZ ◆BVYGEn4LD2
09/09/30 13:34:17
CellSheetがここまでできた。
URLリンク(www1.axfc.net)
感想をよろ

115:デフォルトの名無しさん
09/09/30 16:33:04
>>110
ファイルシステムを直接弄れば可能。

116:デフォルトの名無しさん
09/09/30 17:14:15
きえろぶっとばされんうちにな

117:デフォルトの名無しさん
09/09/30 17:19:57
きえろぶっとばされんうちにな(笑)

118:デフォルトの名無しさん
09/09/30 17:22:08
きえろぶっとばされんうちにな(涙)

119:デフォルトの名無しさん
09/09/30 17:27:10
(悲)

120:デフォルトの名無しさん
09/09/30 17:46:12
きえろぶっとばされんうちにな(´・ω・`)

121:デフォルトの名無しさん
09/09/30 18:13:56
きえろぶっとばされんうちにな(hWnd, Msg, wParam, lParam);

122:デフォルトの名無しさん
09/09/30 20:22:02
>>121
ちげえだろ!!!

(*きえろぶっとばされんうちにな)(hWnd, Msg, wParam, lParam);

123:デフォルトの名無しさん
09/09/30 21:23:14
PostThreadMessage(GetCurrentThreadId(), きえろぶっとばされんうちにな, 0, 0);

124:デフォルトの名無しさん
09/09/30 21:57:05
トランジスタ技術のムック
パソコンのコモンセンスってのが出てたのでてたので読んだ
(最後の三章くらい)

GDIとかAPIとか
自作のテキストボックスってどうやってつくるのとかつか作れるのかとか
コンソールアプリのチュートリアルからWin32に入門したばかりの
自分みたいな人間には有用だった

感動したので報告しとく

125:デフォルトの名無しさん
09/09/30 22:45:08
> 出てたのでてたので
> つくるのとかつか作れるのかとか

なんで文章にエコーかかってるんだよ

126:デフォルトの名無しさん
09/09/30 23:06:21
エコーw

127:デフォルトの名無しさん
09/09/30 23:21:32
>>110
可能ならデータファイルとindexファイルに分ける。

128:デフォルトの名無しさん
09/09/30 23:32:35
>>110
不可能なら諦める。

129:デフォルトの名無しさん
09/09/30 23:42:46
>>110
俺ならこうする、という話でいくと、
SQLiteのDBを一時ファイルにして作業を行い、
ファイルへの書き出しは最後にまとめてやる。

130:デフォルトの名無しさん
09/09/30 23:48:53
教えてください

Wikipedia項目リンク
↑のクリティカルセクションのwikiにて
「クリティカルセクションの排他制御ではデッドロックに注意する必要がある。」

と記述されているのですが、クリティカルセクションの排他は
具体的にどういった処理を行っていてどういうことをやっているから
こういう状況になりデッドロックが生じるのでしょうか?

131:デフォルトの名無しさん
09/10/01 00:03:55
リソースA,B,、それらに対応させているクリティカルセクションA,Bがある。2つのスレッドが動いているとして、

1. スレッド1がAに対して操作を行うために、クリティカルセクションAに入る
2. スレッド2がBに対して操作を行うために、クリティカルセクションBに入る
3. スレッド1がBに対して操作を行うために、クリティカルセクションAに入ろうとして、デッドロック

132:デフォルトの名無しさん
09/10/01 00:03:57
>>130
クリティカルセクションに限らず2つ以上のリソースをロックする処理は
それぞれのリソースをロックする順番が逆のスレッドと競合すると
どちらも相手の解放待ちになってデッドロックが生じる。

133:131
09/10/01 00:04:35
3のところ、クリティカルセクションAじゃなくてBね

134:131
09/10/01 00:07:51
4. スレッド2がAに対して操作を行うために、クリティカルセクションAに入ろうとして、デッドロック

だorz 3の段階じゃまだロックされないね

135:デフォルトの名無しさん
09/10/01 00:11:33
GDGD

136:130
09/10/01 00:18:22
>>131-134
ありがとうございます

自分的には別スレッド同士が同時に一つのクリティカルセクションに
入ろうとして稀にデッドロックに陥る可能性があるのかと思っていたのですが、
そういうことなのですね。

137:デフォルトの名無しさん
09/10/01 01:00:03
そういえばクリティカルセクションってロックした順番に起きないのだったな

138:デフォルトの名無しさん
09/10/01 16:07:17
きえろぶっとばされんうちにな

139:デフォルトの名無しさん
09/10/01 16:33:36
きえろぶっとばされんうちにな(笑)

140:デフォルトの名無しさん
09/10/01 18:01:31
きさっれえうちろにとんばぶな

141:デフォルトの名無しさん
09/10/01 18:16:24
きえろぶっとばされんうちにな(完)

142:デフォルトの名無しさん
09/10/01 18:18:50
きえろぶっとばされんうちになEx

143:デフォルトの名無しさん
09/10/01 18:32:00
きえろぶっとばされんうちにな32

144:デフォルトの名無しさん
09/10/01 18:34:49
きえろぶっとばされんうちにな.cbSize = sizeof(きえろぶっとばされんうちにな);

145:デフォルトの名無しさん
09/10/01 18:39:35
きえろぶっとばされんうちにな(NULL)

146:デフォルトの名無しさん
09/10/01 18:42:23
goto きえろぶっとばされんうちにな;

147:デフォルトの名無しさん
09/10/01 18:43:20
CreateきえろぶっとばされんうちになIndirect(&きえろぶっとばされんうちにな);

148:デフォルトの名無しさん
09/10/01 18:47:06
荒らしウザイ

149:デフォルトの名無しさん
09/10/01 18:57:17
#include "きえろぶっとばされんうちにな.h"

150:デフォルトの名無しさん
09/10/02 00:19:09
C++ == おちんちんプラプラ

151:デフォルトの名無しさん
09/10/02 00:24:05
いや、つまんないから

152:片山博文MZ ◆BVYGEn4LD2
09/10/02 12:47:32
CellSheet
URLリンク(www1.axfc.net)
バグ報告よろしく。

153:デフォルトの名無しさん
09/10/02 12:48:04
IEのHTMLレンダリングエンジンを自分のウィンドウにくっつけて操作する方法を教えてくれ

154:デフォルトの名無しさん
09/10/02 14:03:48
きえろぶっとばされんうちにな

155:デフォルトの名無しさん
09/10/02 16:32:58
APIと直接関係ないです

156:デフォルトの名無しさん
09/10/02 17:01:15
WindowsAPIでウィンドウを作成した時にウィンドウサイズの変更を禁止したいのですがどうしたらいいんでしょうか?
WM_SIZEのメッセージ処理で何もしないようにしてみましたがだめでした

157:デフォルトの名無しさん
09/10/02 17:04:10
ウィンドウスタイルから WS_THICKFRAME を外す

158:デフォルトの名無しさん
09/10/02 17:04:58
ウィンドウスタイルからWS_THICKFRAME、WS_MAXIMIZEBOXを引く

159:デフォルトの名無しさん
09/10/02 17:13:59
WM_GETMINMAXINFOとかWM_WINDOWPOSCHANGINGで適当に処理する


160:デフォルトの名無しさん
09/10/02 17:33:19
きえろぶっとばされんうちにな

161:デフォルトの名無しさん
09/10/02 17:38:07
きえろぶっとばされんうちにな

162:デフォルトの名無しさん
09/10/02 17:59:25
関数で処理を行った後に表示を変更しようと
UpdateWindowを呼び出して処理させているのですが、ウィンドウを一度隠してから
再描画させないと表示が更新されません・・・。
なぜでしょうか?

163:デフォルトの名無しさん
09/10/02 18:07:34
InvalidateRect

164:デフォルトの名無しさん
09/10/02 18:07:45
すでに表示されているから
UpdateWindowは、ウィンドウに無効領域があってメッセージループに戻れば更新されるはずの状況で、
メッセージループに戻るまで待てず今すぐ更新したいという場合に、すぐにWM_PAINTを届けてくれる関数
無効領域がない場合は何もしない

InvalidateRectで無効化すればおk

165:デフォルトの名無しさん
09/10/02 19:20:42
UpdateWindow+InvalidateRect=RedrawWindow

166:デフォルトの名無しさん
09/10/02 19:22:58
>>165
不正解

167:デフォルトの名無しさん
09/10/02 19:31:15
>>166
何が違うのさ

168:デフォルトの名無しさん
09/10/02 20:28:26
MSDN読んで来い

RedrawWindowはリージョンも指定できるし有効化もできるし非クライアント領域や子ウィンドウに最描画を促すこともできる

169:デフォルトの名無しさん
09/10/03 01:21:36
コンソールAPIについての質問なんですが、cmd.exeでF2やF4、F7キーを押した時のように
矩形の枠を表示してキー入力をプロンプトからそちらに移すといった処理のコードサンプルを教えてください

170:デフォルトの名無しさん
09/10/03 01:25:04
きえろぶっとばされんうちにな

171:デフォルトの名無しさん
09/10/03 03:53:09
きえろぶっとばされんうちにな

172:デフォルトの名無しさん
09/10/03 03:57:00
きえました

173:デフォルトの名無しさん
09/10/03 05:00:35
あらわれました

174:デフォルトの名無しさん
09/10/03 05:20:27
きえるぶっとばされんうちにな

175:デフォルトの名無しさん
09/10/03 13:13:52
きえろぶっとばされんうちにな

176:デフォルトの名無しさん
09/10/03 15:35:25
ファイルを削除(DeleteFile)することなく、削除が可能かを判断したいのですが、
よい方法はあるでしょうか。

権限やファイルがオープン済みである場合はCreateFileが失敗するかで判断出来そうなのですが、
実行中のEXEやロード済みのDLLではCreateFileが成功してしまいます。

削除可能かを知りたい理由ですが、利用しているライブラリで要求されているためです。
よろしくおねがいします。

177:デフォルトの名無しさん
09/10/03 15:47:16
きえろぶっとばされんうちにな

178:デフォルトの名無しさん
09/10/03 15:51:11
>>176
ない。

179:デフォルトの名無しさん
09/10/03 16:03:52
確認した直後に別の誰かが削除不可にセットするかもしれないしな

180:デフォルトの名無しさん
09/10/03 16:37:27
きえろぶっとばされんうちにな

181:デフォルトの名無しさん
09/10/03 17:02:17
>>178
諦めがつきます。すっきりしました。

>>179
確かにそうですね。

182:デフォルトの名無しさん
09/10/03 17:12:15
SFGAO_CANDELETEはどう?
APIじゃなくてIShellFolder::GetAttributesOf のCOMつかうけど

183:デフォルトの名無しさん
09/10/03 18:32:26
ハズレ

184:デフォルトの名無しさん
09/10/03 18:51:48
FILE_SHARE_DELETEつけて開ければ消せるんじゃ

185:デフォルトの名無しさん
09/10/03 19:03:51
きえろぶっとばされんうちにな

186:デフォルトの名無しさん
09/10/03 19:20:01
>>182
情報ありがとです。まだ試せておらず、ぐぐり中です。
ただ、エクスプローラのメニュー上では実行中EXEも削除が選べるので、厳しそうに見えました。
試せましたら、報告します。

>>184
実行中のEXEやロード済みのDLLは削除には失敗しますが、
FILE_SHARE_DELETEをつけてもつけなくても開けてしまうので困ってます。

187:デフォルトの名無しさん
09/10/03 20:40:39
きえろぶっとばされんうちにな

188:デフォルトの名無しさん
09/10/03 20:55:23
エロぶっとばされんうちにな

189:デフォルトの名無しさん
09/10/03 20:58:04
>>182
試しましたら、実行中のEXEでもSFGAO_CANDELETEが有効でした。
情報ありがとうございました。諦めたいと思います。

190:デフォルトの名無しさん
09/10/03 21:19:36
きえろぶっとばされんうちにな

191:デフォルトの名無しさん
09/10/03 21:38:20
ぴえろぶっとばされんうちにな

192:デフォルトの名無しさん
09/10/03 21:52:04
きえろぶっとばされんうちにな

193:デフォルトの名無しさん
09/10/03 22:01:11
もえろぶっとばされんうちにな

194:デフォルトの名無しさん
09/10/03 22:15:29
GENERIC_WRITEのみでCreateFileして
INVALID_HANDLE_VALUEが返るなら起動してるのでは?

195:デフォルトの名無しさん
09/10/04 09:59:54
>>194
これでいけそうです。有難うございます。
(試していたときはGENERIC_WRITEではなくてDELETEを使ってました。)

196:デフォルトの名無しさん
09/10/04 10:56:02
VSS に対応できる?

197:デフォルトの名無しさん
09/10/04 11:54:42
readonly属性がついてるとGENERIC_WRITEは失敗するが削除はできるだろ

198:片山博文MZ ◆BVYGEn4LD2
09/10/04 14:00:23
CellSheet ver. 0.0
URLリンク(www1.axfc.net)

すごいものを完成した。
ExcelやDataGridViewみたいなGUIがC++で簡単に実現できちゃう。

199:デフォルトの名無しさん
09/10/04 14:30:53
>>176
コイツ、

> 諦めたいと思います
と言っておきながら何時まで粘着してんだ

200:デフォルトの名無しさん
09/10/04 14:35:00
DB のトランザクションみたいなことはできないんだから、
仮に判定に成功したからって、実際に削除するまでの間に
状況が変わることはありうるだろ?

何度も言われてるけど、「削除できるか?」なんてのは、意味のない判定なんだよ。

201:デフォルトの名無しさん
09/10/04 14:35:03
そのものズバリなAPIがあるのに誰も教えてあげなくてワロタw

202:デフォルトの名無しさん
09/10/04 14:36:15
>>201
自己紹介乙

203:デフォルトの名無しさん
09/10/04 14:37:29
>>200
> DB のトランザクションみたいなことはできないんだから、
DeleteFileTransactedも知らんのか。

204:デフォルトの名無しさん
09/10/04 14:39:20
今時TxFも知らないなんてWin32プログラマとしては恥だな

205:デフォルトの名無しさん
09/10/04 14:41:34
諦めないのはいいことだ

206:デフォルトの名無しさん
09/10/04 14:48:18
へー、Vista 以降で使えるのか。勉強になった。dクス。

207:片山博文MZ ◆BVYGEn4LD2
09/10/04 14:51:36
>>198
起動して位置を移動させずに最初に日本語を入力したときの、
CompositionWindowの位置がおかしいのだけど、どうすれば、
セルの上にCompositionWindowを表示させればいいでしょうか?
URLリンク(www1.axfc.net)

208:デフォルトの名無しさん
09/10/04 15:07:19
ふと思ったんだけど、
CreateFile等のAPIをフックして〜Transacted系へリダイレクトするソフトを作ったら
サンドボックス的なものが出来そう?

209:デフォルトの名無しさん
09/10/04 15:33:06
>>199
回答をもらっておいて、諦めてるからもういいです、とは言えないので。

>>200
ライブラリで要求されていたので。
ライブラリのサンプルでも起動中EXEは考慮されてなかったんで、しょうがないですね。

210:デフォルトの名無しさん
09/10/04 15:45:46
>>208
commitはどうすんだ?

211:デフォルトの名無しさん
09/10/04 15:50:17
コミットしないんだろ、サンドボックスだから
実行終了したらすべてロールバック

212:デフォルトの名無しさん
09/10/04 15:52:39
CommitTransactionがあるだろ

213:デフォルトの名無しさん
09/10/04 22:00:15
↑話を理解しないバカ

214:デフォルトの名無しさん
09/10/05 00:45:10
_UNICODEってどういう状況で定義されるの?

215:デフォルトの名無しさん
09/10/05 00:46:32
Windows環境内で言うなら取り扱いはすべてうにこーどのはず

216:デフォルトの名無しさん
09/10/05 00:55:38
じゃ、APIに渡す文字列を書くときにLが必須になるということ?


217:デフォルトの名無しさん
09/10/05 00:56:51
>>214
UNICODEを定義していたら。
もっとも、普通はUNICODEと共に両方定義するほうが普通(Visual Studioではそうなる)。

218:デフォルトの名無しさん
09/10/05 01:18:07
質問をしっかりかかなくてすみません。
_Tというマクロがあっても無くても動いているように見えるんだけど、
そもそもなぜこんなマクロが必要なのか、それを調べていてはまってしまいました。

ここでいうUNICODEってUTF8とは違うよね?

219:デフォルトの名無しさん
09/10/05 01:34:12
Windows で Unicode といったら大体は UTF-16LE のことを指す

_T は文字列定数を ANSI と UNICODE の両対応にするためのマクロ
ANSI ビルド場合 _T("foo") → "foo"
UNICODE ビルドの場合 _T("foo") → L"foo"
のように展開される

220:デフォルトの名無しさん
09/10/05 01:43:29
>>219
ANSIビルドとUNICODEビルドはどう違うんですか?
例えばgccでコンパイルするときはANSIだと思うけど、WindowsXPでは動いているし…

221:デフォルトの名無しさん
09/10/05 01:45:01
自己解決しました、質問する前に検索すべきでした。すみません。

URLリンク(ambiesoft.ddo.jp)
------------------------------
UNICODEでビルドする利点と欠点
利点

NT系OSで速くなる?NT系OSは内部的にUNICODEを使っているので、ANSI→UNICODEの変換が不要になる。
韓国語や中国語が使えるようになる。
日本語以外のNT系OSでも文字化けしないで実行できる。(フォントがある場合)
欠点

98系OSで動かなくなる。
Visual Studio 2008からデフォルトでUNICODEビルドになった。
------------------------------

日本人相手にしているだけなら、ANSIでいいわけですね

222:デフォルトの名無しさん
09/10/05 02:15:37
日本人相手こそUNICODEだろ。
Shift_JISの2バイト文字よりUTF-16のほうが楽とは言えなくなってきたけど。
Windowsの場合、第三水準/第四水準漢字なんかはUnicodeでないと使えないし、
最近はMS-IMEもATOKもそんなShift_JIS外の文字を使った言葉も注意付きながら候補に表示するようになってきたし。

223:デフォルトの名無しさん
09/10/05 03:02:54
うにこーどうめぇ

224:デフォルトの名無しさん
09/10/05 03:15:33
>>218 >>220

MessageBoxA()

MessageBoxW()


225:デフォルトの名無しさん
09/10/05 03:24:15
非表示状態のwウィンドウを表示させようと、自プロセス内の他スレッドからShowWindow(hwnd, SW_SHOW)と呼んでも、
ウィンドウが非アクティブの状態で表示されてしまいますが、なんらかの制約が働いているんでしょうか。

226:デフォルトの名無しさん
09/10/05 03:28:30
スレッドまたいでる場合は制約が働いています

227:デフォルトの名無しさん
09/10/05 03:34:35
ありがとうございます。
AttachThreadInputかSetForegroundWindowなどを別に呼ぶ必要がありそうです。

228:デフォルトの名無しさん
09/10/05 07:57:34
ぶっとばされろきえんうちにな

229:デフォルトの名無しさん
09/10/05 08:16:21
あ?やんのか?

230:デフォルトの名無しさん
09/10/05 14:03:50
きえろぶっとばされんうちにな

231:デフォルトの名無しさん
09/10/05 14:24:41
はい

232:デフォルトの名無しさん
09/10/05 15:40:35
きえろぶっとばされんうちにな

233:デフォルトの名無しさん
09/10/05 15:43:43
はい

234:デフォルトの名無しさん
09/10/05 16:01:37
あ?やんのか?

235:デフォルトの名無しさん
09/10/05 16:04:17
はい

236:デフォルトの名無しさん
09/10/05 16:43:47
きえろぶっとばされんうちにな

237:デフォルトの名無しさん
09/10/05 17:04:23
はい

238:デフォルトの名無しさん
09/10/05 17:21:15
はい

239:デフォルトの名無しさん
09/10/05 18:02:45
はいじゃないが

240:デフォルトの名無しさん
09/10/05 18:08:18
きえろぶっとばされんうちにな

241:デフォルトの名無しさん
09/10/05 18:27:05
きえました

242:デフォルトの名無しさん
09/10/05 20:07:42
ぶっとばされろきえんうちにな

243:デフォルトの名無しさん
09/10/05 20:32:01
何か裏技の発動条件みたいだw

244:デフォルトの名無しさん
09/10/05 21:59:59
ほーっ ほーっ

245:デフォルトの名無しさん
09/10/05 22:00:13
ほーたる来い

246:デフォルトの名無しさん
09/10/05 22:00:23
こっちのみーずは

247:デフォルトの名無しさん
09/10/05 22:00:31
中国産


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5394日前に更新/85 KB
担当:undef