Win32API質問箱 Build81 at TECH
[2ch|▼Menu]
[1からを表示]
50:デフォルトの名無しさん
09/08/04 09:08:02
互換性でトンデモ仕様になっていく

51:デフォルトの名無しさん
09/08/04 09:46:46
便乗質問なんだが
100*100がメイン画面の大きさの場合、タブとかツールバーとかを付けると
若干画面大きくなるよね?
その場合、タブとかツールバーの大きさも100*100に含めてAdjustに渡さないと駄目?

52:デフォルトの名無しさん
09/08/04 09:53:32
どこが便乗なんだか

53:デフォルトの名無しさん
09/08/04 10:21:03
つーかAero有効にしてるとGetWindowRect等で正確なサイズを返さない事があるのが不便だなあ
なんか互換性の為らしいが・・・

54:デフォルトの名無しさん
09/08/04 12:30:08
互換性でトンデモ仕様になっていく

55:デフォルトの名無しさん
09/08/04 12:32:37
便乗質問なんだが
100*100がメイン画面の大きさの場合、タブとかツールバーとかを付けると
若干画面大きくなるよね?
その場合、タブとかツールバーの大きさも100*100に含めてAdjustに渡さないと駄目?

56:デフォルトの名無しさん
09/08/04 14:13:41
何だこの流れ

57:デフォルトの名無しさん
09/08/04 14:20:36
つーかAero有効にしてるとGetWindowRect等で正確なサイズを返さない事があるのが不便だなあ
なんか互換性の為らしいが・・・

58:デフォルトの名無しさん
09/08/04 15:27:42
互換性でトンデモ仕様になっていく

59:デフォルトの名無しさん
09/08/04 15:32:00
だって互換性取れってうるさいんだもん

60:デフォルトの名無しさん
09/08/04 15:32:47
便乗質問なんだが
100*100がメイン画面の大きさの場合、タブとかツールバーとかを付けると
若干画面大きくなるよね?
その場合、タブとかツールバーの大きさも100*100に含めてAdjustに渡さないと駄目?

61:デフォルトの名無しさん
09/08/04 15:34:46
便乗質問なんだが
Aero有効にしてるとタブとかツールバーとかトンデモ仕様になっていくのが不便だなあ
なんか互換性の為らしいが・・・

62:デフォルトの名無しさん
09/08/04 15:36:40
>>61
えーと、どのへんが質問?

63:デフォルトの名無しさん
09/08/04 15:41:04
知らないならレスしないで下さい。ウザイだけです。

64:デフォルトの名無しさん
09/08/04 16:12:30
だって互換性取れってうるさいんだもん

65:デフォルトの名無しさん
09/08/04 16:14:23
dgtu

66:デフォルトの名無しさん
09/08/04 16:14:35
互換性でトンデモ仕様になっていく

67:デフォルトの名無しさん
09/08/04 16:15:05
いつまで続けるのこれ

68:デフォルトの名無しさん
09/08/04 16:49:16
15498回

69:デフォルトの名無しさん
09/08/04 18:50:38
夏休みが終わるまで続けるよ!

70:デフォルトの名無しさん
09/08/04 19:04:23
つーかAero有効にしてるとGetWindowRect等で正確なサイズを返さない事があるのが不便だなあ
なんか互換性の為らしいが・・・

71:デフォルトの名無しさん
09/08/04 19:05:22
Aeroを無効にすればよい

72:デフォルトの名無しさん
09/08/04 19:05:23
dgtu

73:デフォルトの名無しさん
09/08/04 19:06:40
>>67
涼宮さんが満足する何かがわかるまでです。

74:デフォルトの名無しさん
09/08/04 19:07:32
ネバーエンディング

ム板的にはwhile(true)

75:デフォルトの名無しさん
09/08/04 19:10:34
break;

76:デフォルトの名無しさん
09/08/04 19:11:40
便乗質問なんだが
100*100がメイン画面の大きさの場合、タブとかツールバーとかを付けると
若干画面大きくなるよね?
その場合、タブとかツールバーの大きさも100*100に含めてAdjustに渡さないと駄目?

77:デフォルトの名無しさん
09/08/04 19:13:16
>>74
警告:条件式が定数です

78:デフォルトの名無しさん
09/08/04 19:14:51
volatile boolean flag;

79:デフォルトの名無しさん
09/08/04 19:16:40
何の言語だよ

80:デフォルトの名無しさん
09/08/04 19:16:43
APIと関係ない話すんな

81:デフォルトの名無しさん
09/08/04 19:20:36
A Pocotan Inshitao

82:デフォルトの名無しさん
09/08/04 19:21:03
Aero有効にしていてGetWindowRect等で正確なサイズを得る方法を教えろ

83:デフォルトの名無しさん
09/08/04 19:26:17
ThemeAPIで頑張って計測、とかいう話じゃなかったっけ?

>>76
タブとかツールバーはクライアント領域の載せているものだから、
その上で空き領域を一定サイズ確保したいというなら当然必要。

84:デフォルトの名無しさん
09/08/04 19:59:08
>>ThemeAPIで頑張って計測
ハズレ

85:デフォルトの名無しさん
09/08/04 20:04:29
うそつくなよw

86:デフォルトの名無しさん
09/08/04 20:15:48
知らないならレスしないで下さい。ウザイだけです。

87:デフォルトの名無しさん
09/08/04 21:45:04
URLリンク(msdn.microsoft.com)(en-us,VS.85,loband).aspx

88:デフォルトの名無しさん
09/08/04 21:50:14
VistaとXPではステータスバーの大きさが異なるんだけど
ステータスバーの大きさって変えられない?
自分でステータスバーもどきのウィンドウ作った方が速いかな?

89:デフォルトの名無しさん
09/08/04 21:55:00
デバッグビルドでLoadLibraryA("MSVCP90.dll")実行するとNULLが返ってくるんだけど、MSってバカなの?何なの?

90:デフォルトの名無しさん
09/08/04 21:58:05
>>88
SB_SETMINHEIGHTとか

91:デフォルトの名無しさん
09/08/04 22:40:01
>>89
side-by-sideアセンブリ

92:デフォルトの名無しさん
09/08/04 23:21:42
CランタイムをLoadLibraryする方がバカ

93:デフォルトの名無しさん
09/08/05 04:12:25
ネットで公開されているAPIってサイドパーティ含めてどのくらいか?
把握している人はエロい

94:デフォルトの名無しさん
09/08/05 06:51:42
は?

95:デフォルトの名無しさん
09/08/05 08:14:32
URLリンク(www.google.com)

Google先生は把握してますが何か?

96:デフォルトの名無しさん
09/08/05 15:58:10
質問です。

ウインドウメッセージを解決するProcの中で、SendMessageをすると、即座に処理される理由がいまいちわかりません。
MessageBoxでも似たような疑問を持った際は「勝手にメッセージ解決ループを作って裏でまわしてくれるんだよ」
といった説明を受けて納得したのですが、今回の件も同様なのでしょうか?

97:デフォルトの名無しさん
09/08/05 16:02:50
>1 つまたは複数のウィンドウへ、指定されたメッセージを送信します。
>この関数は、指定されたウィンドウのウィンドウプロシージャを呼び出し、
>そのウィンドウプロシージャがメッセージを処理し終わった後で、制御を返します。

98:デフォルトの名無しさん
09/08/05 16:03:19
SendMessageが発行したメッセージはちゃんとOSのメッセージキューに入れられて、
該当するウインドウのメッセージループに通知され、
その後メッセージハンドラがコールバックされて
対応するコード上で処理されてるから、即座じゃなくない?

MessageBoxの方も同様で、メッセージボックスがクリエイトされた後、
OS経由でメッセージがMessageBoxのメッセージハンドラに通知されてるよ。
Spy++みるとメッセージの応酬が見られるし。

99:デフォルトの名無しさん
09/08/05 16:16:14
96です。
>>97-98
お返事ありがとうございます。
MSDNの説明を妙に勘違いしていたようです。

::SendMessageはウィンドウプロシージャを直接呼び出すのですね。
実は困っていたのは
case WM_CLOSE:
の中で別のワーカースレッドに停止命令を出し、ワーカースレッドの停止を確認するまでSleepする。
という処理でした。

このとき、ワーカースレッド側でSendMessageされると、フリーズしてしまいます。

これは、メインスレッドがプロシージャで処理中(Sleep中)なのに、他スレッドがプロシージャを呼ぼうとしたので、排他制御された。
ということで合っているでしょうか?

100:デフォルトの名無しさん
09/08/05 16:36:52
>>99
そんな感じ。
URLリンク(msdn.microsoft.com)
のMessage Deadlocksに詳しく書いてある。

101:デフォルトの名無しさん
09/08/05 16:48:44
>>100
ありがとうございます。
・・・そのページ、日本語版のMSDNでは省かれてますね・・・

102:デフォルトの名無しさん
09/08/05 16:50:16
メッセージプロシージャを待ちたくないのなら、PostMessageを使ってみては

103:デフォルトの名無しさん
09/08/05 16:51:04
メッセージプロシージャってなんだ・・・ウィンドウプロシージャでした

104:デフォルトの名無しさん
09/08/05 16:58:57
>>102
色々アドバイスありがとうございます。
タイトルバーの書き換えが目的のため、ポインタ渡しが必要となり、PostMessageでは行えませんでした。
(SetWindowTextは、内部でSendMesssageを呼んでるっぽいですね)

ついでに、報告。
>>100の文書のおかげで
SendMessageTimeout
なる関数を知りました。
タイムアウト値を10msくらいにしておけば、デッドロックが起こらずに済みますね。

こんな関数知りませんでしたわ

105:デフォルトの名無しさん
09/08/05 18:17:49
>>91
winsxsはside by sideで使われてたのか、MSめ・・・

106:デフォルトの名無しさん
09/08/05 20:27:52
>>104
UIの更新はUIスレッドにやらせるのが基本。
文字列は別の場所に置いておいて、
PostMessageでタイトルバーの更新を指示、といった感じで。

107:デフォルトの名無しさん
09/08/06 09:28:29
>>106
いちいちクリティカルセクション使って、文字列渡し合うのか?

108:デフォルトの名無しさん
09/08/06 09:42:38
ロストを許すことなく、きっちり伝えようとするべくクリティカルセクションの出し入れすると
結局 SendMessage のブロッキングと同じでデッドロックにならない?

109:デフォルトの名無しさん
09/08/06 11:28:21
C言語にfopenという関数があるのに
windows APIにもCreateFileという関数があって

どちらを使えばいいのかわかりません。
CreateFileのほうが細かく設定できるという認識だけで
よろしいのでしょうか?

110:デフォルトの名無しさん
09/08/06 11:40:39
ファイルハンドル取得のためには必須なんじゃないの?
勉強中の身だからなんとも言えんけど、
プロに任せれば正しい回答が来るはず

111:デフォルトの名無しさん
09/08/06 11:48:33
fopenはC言語の関数。
C言語が仕様を決め、Windowsが従ってる。
そのため(C言語の仕様が古いため)2GBまでのファイルしか扱えない。

CreateFileはWindowsが提供している関数。
Windows以外で使えないけど、代わりに2GBを超えるファイルも扱えるし、Windows特有のファイル属性なども操作できる。

112:デフォルトの名無しさん
09/08/06 12:33:14
つまりWindows環境ならfopenよりもCreateFileのほうがいいってことか

113:デフォルトの名無しさん
09/08/06 13:07:04
まぁそう考えてもOK
ただし、色々できる=複雑ってことだからそのあたりは臨機応変で。

114:デフォルトの名無しさん
09/08/06 14:15:59
毎回引数7個も書いてるとうざいぜ
fopenで間に合うときはそっちのがシンプルでいいよ

115:デフォルトの名無しさん
09/08/06 17:36:58
>>111
以下コードで 4 GB のファイルが生成できる件について

#include <stdio.h>
#define MEGA_BUF_SIZE (1024 * 1024)
#define OUT_FILE "test.dat"
int main(void)
{
static char buf[MEGA_BUF_SIZE] = { 0 };
int i;
FILE *oFP = fopen(OUT_FILE, "wb");
if(oFP == NULL)
{
perror(OUT_FILE);
return -1;
}
for(i = 0; i < 1024 * 4; i++)
fwrite(buf, 1, sizeof(buf), oFP);
fclose(oFP);
return 0;
}

116:デフォルトの名無しさん
09/08/06 18:15:32
つーかfopenも最終的にはCreateFileを呼んでるんだから当然だろ

>>111こいつバカじゃねーの?

117:デフォルトの名無しさん
09/08/06 19:23:44
fopen で開いたファイル(FILE*)にランダムアクセスする際にfseekでは
32bit幅しか考慮されていないので、2Gの範囲しかアクセスできないと言う
点について、>>111がちょびっとだけカスってる。

#まあ、そもそも fopen の仕様を決めているのはC言語ではないけどね…。

fopen が CreateFile呼んでるから当然使えるってのは、標準関数の仕様と
比べてどうかと言う方向からみるべきなので、短絡的な意見だとは思うが。


118:デフォルトの名無しさん
09/08/06 20:16:53
SEEK_CURを使って2GBずつ進んでいくってのは無理?

119:デフォルトの名無しさん
09/08/06 20:21:26
規格上はその辺り何も規定されてないので処理系に依存する。

120:デフォルトの名無しさん
09/08/06 20:39:15
>>118
VC2008だと、0x7FFFFFFFより後への移動はエラーになって返ってくる。
関数内で、SetFilePointerを上位32ビットを指定せずに呼んでいる為に、
オフセット位置の範囲に制限がかけられている所為だな。

121:デフォルトの名無しさん
09/08/06 20:46:08
使えねー

122:デフォルトの名無しさん
09/08/06 21:25:26
つーか、CreateFileをラップしたクラスを作っとけばいいだろ・・・

そもそもクロスプラットフォーム開発してる訳でもなけりゃわざわざfopenなんて使う理由が無い

123:デフォルトの名無しさん
09/08/06 21:49:47
そもそもクロスプラットフォーム開発してる訳でもなけりゃわざわざfopenなんて使う理由が無い(キリッ

124:デフォルトの名無しさん
09/08/06 21:54:12
そもそもクロスプラットフォーム開発してる訳でもなけりゃわざわざfopenなんて使う理由が無い(ヌルポ

125:デフォルトの名無しさん
09/08/06 21:57:04
>>124
がっ

126:デフォルトの名無しさん
09/08/06 22:10:06
fopen (笑)

127:デフォルトの名無しさん
09/08/06 22:12:36
C言語 (笑)

128:デフォルトの名無しさん
09/08/06 22:16:42
今時マルチスレッドや巨大ファイルの扱いが規格外なプログラミング言語なんてゴミ

129:デフォルトの名無しさん
09/08/06 22:16:44
ヌルポ (笑)

130:デフォルトの名無しさん
09/08/06 23:04:30
今時ポインタがあるプログラミング言語なんてゴミ

131:デフォルトの名無しさん
09/08/06 23:11:25
と思ってるお前がゴミ

132:デフォルトの名無しさん
09/08/06 23:22:58
ふぉぺん

133:デフォルトの名無しさん
09/08/06 23:26:21
その辺にしとけ

134:デフォルトの名無しさん
09/08/06 23:39:51
何を?

135:デフォルトの名無しさん
09/08/07 00:43:08
ネットワークディレクトリをsamba(smb)共有させる場合、
IEのURL打ち込み欄で

\\hostname.com

で、、このあとアカウントとパスワードを入力するダイアログが表示され
進めるとネットワークディレクトリがマウントできますが、
(Vistaの場合、レジストリを変更してセキュリティポリシーの書き換え必要)

この一連の流れをC++/MFCの環境で記述してマウントさせたいのです。
具体的にどういうAPIを使えばよいか、どういうサイトを参照すればよいか
など教えていただけますでしょうか。

よろしくお願いします。



136:デフォルトの名無しさん
09/08/07 00:53:01
>>135
URLリンク(msdn.microsoft.com)

137:デフォルトの名無しさん
09/08/07 03:59:35
マウントといったら、WNetAddConnection2しか思いつかん

138:デフォルトの名無しさん
09/08/07 06:05:30
それでいい。WebDAV のフォルダもマウントできるし。

139:デフォルトの名無しさん
09/08/07 11:42:31
>>99
なんか微妙に誤解があるような気が……
ウィンドウプロシージャをメッセージ経由で実行する場合は、
必ずウィンドウを作成したスレッドで実行されるのがwindowsの仕様です。
その場合は、このスレッドがSleepさせられているため、SendMessageで
デッドロックするわけです。

140:デフォルトの名無しさん
09/08/07 12:17:19
スレッド間でSendし合うからだろ

141:デフォルトの名無しさん
09/08/07 14:29:26
sendし合うのは問題ない。
別スレッドにSendMessageして、send先から返ってくるのを待ってる間は
別スレッドからのSendMessageを受け付ける事ができる。

142:デフォルトの名無しさん
09/08/07 14:58:05
色んなスレッドからキューに積むだけなら可能

だが、sendされた側がメッセージループでキューを喰い実行してくれないと
呼び出し側はブロックされっぱなしで SendMessage から戻ってこれない

143:デフォルトの名無しさん
09/08/07 15:14:37
141のがあってると思う。
SendMessageから戻って来ない間も、別スレッドからのSendMessageには
即呼び出される。殆ど相手のコンテキストで動いてる感じ。

SendMessageなら戻ってくるまでは他のメッセージが来ないので安心、
と言うことではない。


144:デフォルトの名無しさん
09/08/07 15:19:14
ここのバカ共はReplyMessageも知らんのか

145:デフォルトの名無しさん
09/08/07 15:45:30
ReplyMessage関係あんの?

146:デフォルトの名無しさん
09/08/07 16:08:31
コモンコントロールのウィンドウデータ、端的に言うとGWLP_USERDATAの領域にSetWindowLongPtrで
アプリケーション側の値を設定しているコードがあったんですけど、これって有効なんでしょうか。
ずっとコントロール側が使ってるものと思い込んでいたのですが。。。

147:デフォルトの名無しさん
09/08/07 16:58:33
MSDNくらい読めよ低脳
URLリンク(msdn.microsoft.com)

148:デフォルトの名無しさん
09/08/07 17:05:07
低脳はお前の方だろ

149:デフォルトの名無しさん
09/08/07 17:08:04
いやアナタです

150:デフォルトの名無しさん
09/08/07 17:09:51
いや、俺だ!

151:デフォルトの名無しさん
09/08/07 17:20:31
マジで!?

152:146
09/08/07 17:58:31
タブコントロールとかだと各タブ要素のデータがウィンドウごとに確保されますけど、
GWLP_USERDATAとは全く別の領域に確保されてるんでしょうか。
コモンコントロールをspy++で見ると、ウィンドウバイトが割り当てられていて
それがコントロールが使っているものなのか、アプリケーションに任せているのか僕では判断できません。

コモンコントロールのクラスが定義済みなので、MSの配慮としてアプリケーション用に確保されているのかと
考えてしまいますが、明記されてる記事を見つけることができませんでした。

153:デフォルトの名無しさん
09/08/07 18:04:44
>GWLP_USERDATA
>ウィンドウに関連付けられた値を設定します。
>この 32 ビット値は、<<<<ウィンドウを作成したアプリケーションで使用する目的で>>>>各ウィンドウが持っているものです。
>この値の初期値は 0 です。

この程度の日本語の解釈もできないの?
あんた小学生?
馬鹿なの?
死ねよ

154:デフォルトの名無しさん
09/08/07 18:06:03
おちつけちゃ〜ん

155:146
09/08/07 18:08:25
普通のウィンドウの拡張と同じように、コモンコントロールも後付で作られたクラスなので、
そのアプリケーション用というのが、本当に自作アプリケーションのためなのか、
コモンコントロールの拡張用なのかよくわかりません。
言葉どおり受け取るならそういうことなんですが。。。

156:デフォルトの名無しさん
09/08/07 18:11:57
コモンコントールは拡張ウィンドウメモリを使っていてGWLP_USERDATAは使ってないはず。
でもサードパーティ製のコントロール等はGWLP_USERDATAを使ってる物もある。
Spy++で見れば分かる。

いずれにしろ自作コントロール以外ではプロパティリストを使う方が安全。

157:デフォルトの名無しさん
09/08/07 18:19:05
ま、サブクラスする時はSetWindowSubclass()でいいから
GWLP_USERDATAの使い道なんてほとんど無いけどな

158:デフォルトの名無しさん
09/08/07 18:38:07
スレッドの中で自分で作った関数を呼びまくってるんですが
その関数内でオート変数を使ってるんですが
メモリリークとか大丈夫なんですかね?

159:デフォルトの名無しさん
09/08/07 18:42:10
Win32APIになんか関係あるん?

160:デフォルトの名無しさん
09/08/07 18:47:19
いやごめんなさいくずまったくかんけいないですがごみきいてみたかったんですよ

161:デフォルトの名無しさん
09/08/07 19:29:53
いつの間にかWindows 7 SDKがRMTに

162:デフォルトの名無しさん
09/08/07 19:32:20
アドレス忘れた
URLリンク(www.microsoft.com)

163:デフォルトの名無しさん
09/08/07 19:34:42
RMTじゃリアルマネートレードだろ

164:デフォルトの名無しさん
09/08/07 19:56:01
いつの間にかWindows 7 SKDがRTMに

これでいい?

165:デフォルトの名無しさん
09/08/07 19:58:14
>>163-164
RTM じゃリアルタイムマネーだろ!

166:デフォルトの名無しさん
09/08/07 20:00:09
いつの間にかWindows 7 SDKがATMに

167:デフォルトの名無しさん
09/08/07 20:11:40
それじゃオートメーテッドテラーマシーンだろ

168:デフォルトの名無しさん
09/08/07 22:31:42
もうだめだこのスレ

169:デフォルトの名無しさん
09/08/07 22:37:46
dumpbin /DEPENDENTS みたいに依存するDLL名って、Win32APIではどのように取得するんでしょうか

170:デフォルトの名無しさん
09/08/07 22:58:48
API レベルで用意してるのかなぁ?
PEフォーマットの仕様ははっきりしてるし、
依存DLL名だけ調べるくらいならそんなに難しくないよ。
PEフォーマットについてかなりわかりやすく解説したページが以前はあったんだけど、
今は消滅しちゃってるな。 まぁ、マイクロソフトのページに行けばキッチリした仕様書が入手できる。

171:デフォルトの名無しさん
09/08/07 23:25:37
解説も何も、PEフォーマットなんてせいぜいRVAがウザい程度でしょ
それもimagehlp.dllのAPIを使えば簡単だし

172:デフォルトの名無しさん
09/08/07 23:34:12
>>157
それって、Xp以降専用になるんじゃ……
まあ、それも時代か。

173:デフォルトの名無しさん
09/08/07 23:36:35
2000ってそろそろサポ切れるよな

174:デフォルトの名無しさん
09/08/08 00:06:36
>>170-
ImageDirectoryEntryToDataEx使ってそれっぽいのとれたんですけど、RVAからVAの変換でミスg・・・
よくわかんねー

175:デフォルトの名無しさん
09/08/08 00:52:59
>>172
MSDNにはXP以降と書かれてるけど実際には2000でも使える。

176:デフォルトの名無しさん
09/08/08 08:04:08
Windows7 SDK のISOイメージは、まだx86版しか上がってないのか。
今までと違って、x64環境にはx64用のイメージが必要なのに気付かなかったぜ。

177:デフォルトの名無しさん
09/08/08 09:41:58
>>176
試してないけど、ファイルはあるみたい。
URLリンク(download.microsoft.com)

178:135
09/08/08 16:14:41
>>135のものですが、>>137さんありがとうございます。
その方法で試みていますが、うまくいきません。
具体的には、
LPNETRESOURCE netResource = new NETRESOURCE();
netResource->dwScope = 0;
netResource->dwType = RESOURCETYPE_DISK;
netResource->dwDisplayType = 0;
netResource->dwUsage = 0;
netResource->lpLocalName = ""; // ネットワークドライブにする場合は"z:"などドライブレター設定
netResource->lpRemoteName = "\\\\hostname.com";
netResource->lpProvider = "";
DWORD err = WNetAddConnection2(netResource, "password", "account", CONNECT_UPDATE_PROFILE);
で、戻り値のerrは0になったのですが、マウントがされません。
netResource->lpLocalName = "Z:";
のようにしても、Zドライブに割り当てられません。
何が原因でマウントされないのでしょうか?
マウントされたボリュームが表示されるようにしたいのですが、
どうすればよいか教えてください。
よろしくお願いします。


179:デフォルトの名無しさん
09/08/08 17:59:47
>>177
サンクス。ハッシュも一致していたし、それでOKみたいだ。

180:デフォルトの名無しさん
09/08/08 18:00:32
lpRemoteNameにホスト名だけを指定しているのがまずいような
多分\\\\hostname.com\\folderのようにするはず
で、folderは共有されていなければならなかったはず

181:デフォルトの名無しさん
09/08/08 22:49:32
7で目覚まし動かん

182:デフォルトの名無しさん
09/08/08 23:01:41
相変わらずSDKでけぇなー
.NETとかイラネーし別ファイルにしてくれよ・・・

183:デフォルトの名無しさん
09/08/08 23:04:10
別ファイルにしたら誰も使ってくれなくなるだろ…

VC++ しか使わないのに VB も VC# もついてくるのは抱合せ販売では?
とか思ったけど、いまの Visual Studio って、過去のVisual C++単体と同じくらいの金額なんだよな。

184:デフォルトの名無しさん
09/08/08 23:09:40
それを言ったら昔はSDKやDDKだって有償だったでしょうに

185:デフォルトの名無しさん
09/08/08 23:11:47
無料で何でも揃う割にクリエイティブなティーンが少ない件

186:デフォルトの名無しさん
09/08/08 23:33:24
>>182
ウェブセットアップ版ではだめですか?

187:デフォルトの名無しさん
09/08/08 23:40:10
>>186
> Error: Setup determined that the Microsoft .NET Framework 2.0 is not present or could not be detected.
> Navigate to the Microsoft Download Center, search for .NET Framework 2.0 redistributable, and download the version appropriate for your platform

うぜーーーーーーーーー

188:デフォルトの名無しさん
09/08/09 00:43:32
いいかげんMINMAXマクロ定義するのやめてほしい

189:デフォルトの名無しさん
09/08/09 01:06:45
今更やめられないのは少し考えれば判るだろ

190:デフォルトの名無しさん
09/08/09 01:22:41
NOMINMAXで我慢してください。

191:デフォルトの名無しさん
09/08/09 01:33:08
事情はわかってるがそういう上塗りでのごまかしにはウンザリなんだよ。
ちょっとグチらせてくれや。

192:デフォルトの名無しさん
09/08/09 01:34:28
#include <cstdlib>
#include <limits>
#define NOMINMAX
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
#include <shlobj.h>
#include <shlwapi.h>
#define STRSAFE_NO_DEPRECATE
#include <strsafe.h>
#pragma comment(lib, "comctl32.lib")
#pragma comment(lib, "shlwapi.lib")

こういうのをcommon.hみたいな名前で%include%に放り込んでおけば

#include <common.h>
だけで万事解決

193:デフォルトの名無しさん
09/08/10 13:12:16
LEAN AND MEANもdefineしようぜ

194:デフォルトの名無しさん
09/08/10 13:42:19
windef.hだけインクルードしようとするとコンパイルエラーになるんだがなんでだろう

195:デフォルトの名無しさん
09/08/10 14:25:22
>>193
ソレつけるとかえって#includeの行数が増える事になるし面倒じゃね?
今時の計算機ならコンパイル時間の短縮にほとんど貢献しなさそう

196:デフォルトの名無しさん
09/08/11 10:43:43
メニューを作る際、リソースファイルなどで、「INACTIVE」を指定すると、
選択できない項目にすることができますが、
これを、アプリケーションからInsertMenuItem関数などで動的に追加するときに
適用することはできないでしょうか?
InsertMenuItem関数で使用するMENUITEMUINFO構造体を見ても、
該当するような項目は見当たりませんでした。

よろしくお願いします。 m(_ _)m

197:デフォルトの名無しさん
09/08/11 10:56:45
fState = MFS_DISABLED

198:デフォルトの名無しさん
09/08/11 11:11:44
MFS_DISABLED だとグレーアウトした選択不可
グレーアウトなしの選択不可は MF_DISABLED っぽいが…

# リソースで作ったメニューを GetMenuItemInfo で fState 取得したら 2 だった
# 2 相当のマクロを winuser.h で探すと… MFS_xxx は存在しないっぽい

199:196
09/08/11 11:15:57
>>197
>>198
ありがとうございましたぁ!! 。゜( ゜´∀`゜)゜。

200:デフォルトの名無しさん
09/08/11 15:33:56
MF_DISABLEDはdeprecatedなんだろ
そもそもグレーアウトしないのに選択できないなんてUIとしておかしいし
キーボード操作だと選択できないのが分からない

201:デフォルトの名無しさん
09/08/11 21:24:00
教えてください。レバーコントロールの勉強中です。
レバーコントロールの背景についてです。
エクスプローラみたいにグラデーションのかかった背景にするには
どうしたらできるんですか?
背景としてビットマップを指定できるのは分かったんですけど、
エクスプローラの場合、ウィンドウのサイズを変えると、
背景のグラデーションも動的に変わるようにしたいんです。


202:デフォルトの名無しさん
09/08/11 21:32:55
また肝臓コントロールかよ

203:デフォルトの名無しさん
09/08/11 21:38:11
XPスタイルのコモンコントロールとかなんとかでぐぐれ

204:デフォルトの名無しさん
09/08/11 21:47:38
最近のVCだと自動でXPスタイルのmanifest付けてくれるんじゃないの?

205:デフォルトの名無しさん
09/08/11 22:04:11
デフォ設定だとマニフェストは埋め込まれる

206:デフォルトの名無しさん
09/08/11 22:40:13
マニフェストは埋め込まれるけど、comctl32のバージョン6を使う指定は自分で追加しないといけない。
その最近のVCだとこんな風にpragmaでも書ける。もちろん、リソースでもリンカオプションでも可能。

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' "\
"version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

207:デフォルトの名無しさん
09/08/11 23:47:01
面倒だなあ

#pragma comment(linker,"/manifest:comctlv6")
みたいなオプション用意してくれればいいのに

208:デフォルトの名無しさん
09/08/12 00:19:40
>>192に書いとけばいいよ

209:デフォルトの名無しさん
09/08/12 02:29:38
よく使う割に長いオプションは短縮系的なものが用意されてそうな気はするんだが。
(/nodefaultlib → /nod みたいな)
今度link.exeを逆汗して調べてみるか。

<チラシの裏>
cl.exeに/Bzか/Bdをつけてコンパイるとc1.dllやc2.dllに渡してるコマンドラインが見れる。
</チラシの裏>

210:デフォルトの名無しさん
09/08/12 12:27:53
>>209
マニュアル見ろよ。

211:201
09/08/12 12:34:05
XPスタイルというものだったんですね。
マニフェストのおかげで実現できました。
ありがとうございました。

212:デフォルトの名無しさん
09/08/12 14:02:13
WM_NCPAINTで(HRGN)wParamからGetDCEx取得したHDCを使って描画すると、
思った位置に描画できないのですが、どうしてなんでしょうか。

URLリンク(msdn.microsoft.com)

ここの0x10000を足すやり方でhdcを求めてFillRgnで塗りつぶすと、
クライアント領域にずれ込んでウィンドウフレームの形に塗りつぶされてしまいます・・・

213:デフォルトの名無しさん
09/08/12 17:46:56
>>210
マニュアルに載ってないオプションが大量にあるのを知らないのか
平和な奴だな

214:デフォルトの名無しさん
09/08/12 18:06:50
煽るな

215:デフォルトの名無しさん
09/08/12 18:54:54
ごめんなさい

216:デフォルトの名無しさん
09/08/12 19:32:00
>>213
あるだろうな。 それがどうした。
公開してないのをむやみに使うんじゃないよ。

217:デフォルトの名無しさん
09/08/12 21:27:51
ウィンドウメッセージでマウスカーソルが入ってくるのはわかるんですが
出て行くのを知る手段はありますか?

218:デフォルトの名無しさん
09/08/12 21:44:39
>>217
入ってきたときMOUSEMOVEをキャプチャするとか。
または入ってきたときタイマで確認し始めるとか。
で、出たらどちらも初期化するとか。

いずれにしても自前で処理する必要がある。

219:デフォルトの名無しさん
09/08/12 21:59:29
WM_MOUSELEAVEはだめ?

220:デフォルトの名無しさん
09/08/12 22:07:32
それが、MOUSEMOVEのキャプチャじゃない?
入ってきたとき、TrackMouseEvent()実行しないとだめだよね。

221:デフォルトの名無しさん
09/08/12 22:11:05
>>218-220
キャプチャってボタン押さなくてもいけるんですね
それとWM_MOUSELEAVEも知らなかったのでその二つを色々試してやってみようと思います
ありがとう

222:デフォルトの名無しさん
09/08/13 20:40:36
上のWM_MOUSELEAVEなのですが
ALT+キーにも反応してしまうのを抑制することは出来ますか

223:デフォルトの名無しさん
09/08/13 21:55:58
出来ます

224:デフォルトの名無しさん
09/08/13 22:12:02
確かに良く考えれば出来ました
LEAVEの中で座標調べて必要ならEvent設定しなおしてやりましたが
何故キーに反応するのかわからない…

225:デフォルトの名無しさん
09/08/14 10:53:15
SPY++が無いため質問させて頂けます
ポップアップメニューを選択した時、メッセージの流れは

WM_EXITMENULOOP
WM_COMMAND

の順になるんですが
WM_EXITMENULOOPがくるまえに確実に選択したメッセージは来ないんでしょうか?

226:デフォルトの名無しさん
09/08/14 20:58:55
Spy++で見れば分かるだろ

227:デフォルトの名無しさん
09/08/14 23:00:09
だからないって言ってんだよ、このスカポンタン。
ボヤッキー、やっちまいな。

228:デフォルトの名無しさん
09/08/14 23:01:44
入れればいいだろうが。

229:デフォルトの名無しさん
09/08/14 23:17:19
Spy++ってネットから落とせたっけ?
俺はVC6買ったら入ってたから、今もそれ使ってるけど

230:デフォルトの名無しさん
09/08/15 00:52:42
VC++をネットから落としてきたら入ってるよ。

231:デフォルトの名無しさん
09/08/15 01:27:20
なんか人聞きが悪いな

232:デフォルトの名無しさん
09/08/15 01:32:20
???

233:デフォルトの名無しさん
09/08/15 01:33:16
プログラマなんだから作れよ

234:デフォルトの名無しさん
09/08/15 01:46:37
自作するとフックやプロセス間通信の勉強になるよね。

235:231
09/08/15 01:49:10
>>232
ネットで落とすってなんか割る感じに聞こえたから


236:デフォルトの名無しさん
09/08/15 01:52:36
今のVisual StudioはExpressのつく製品なら無料でDLできるからなあ

237:231
09/08/15 01:57:13
いや、dreamsparkでってことでしょ
expressionじゃspy++付いてこないし

238:デフォルトの名無しさん
09/08/15 02:05:26
あ…dreamsparkってもう終わってたのね

239:デフォルトの名無しさん
09/08/15 02:59:21
           \
            \
          ∧ニユ/ ̄ヽ
\        ( ´∀/)    i
\.\    _(」つ/とl) .  | \
;::;::\i\  匚レ| .〈/ )    |  \
 。::;;:'\.\   (_,)ー'    |_,, -'''"!
^人;:'::;゚:;.\l\     _,,, -''"|_,, -''"|
 ^^从::;;:。':\.\_,, -''"|_,, -''"|   . :|
 へ ^へ;;::';;:'\l_,, -''" .   | 从^    〜
 ^ ^ヘ^人从::;;;:|    ,ィ人^. |  ^ ^へ^^
  〜 ^.へ' ^':レ^从 へ'  | 〜   ^
 へ ^^ へ 〜人^ ^  へ〜  〜

240:デフォルトの名無しさん
09/08/15 04:00:00
スレリンク(tech板)

241:デフォルトの名無しさん
09/08/15 06:15:12
>>231
この馬鹿はmsdnサブスクリプション知らないの?

242:デフォルトの名無しさん
09/08/15 07:21:18
今少し調べてみたんだが、Spy++に代わりとなるアプリって無いな
あっても正直ショボいから、自分で作ったほうがいいかもな

243:デフォルトの名無しさん
09/08/15 08:43:19
ハァ?Spy++より高機能なアプリなんて山ほどあるだろ

244:デフォルトの名無しさん
09/08/15 09:13:09
そんなことは知ってる
探すぐらいなら自分で作ったほうがいいということだ

245:デフォルトの名無しさん
09/08/15 09:15:41
キャタピラでも再発明しますか

246:デフォルトの名無しさん
09/08/15 09:21:02
>>243
あるなら教えてくれよ。軽く調べたけど俺は見つけられなかった

後、質問なんだが
マウスフックしてる時に、クリックされたウィンドウがポップアップなら処理しない用にしたいんだが
FindWindow( TEXT("#32768"), NULL )で取得したハンドルと
フックで渡されたハンドルが一致しないんだが、何か良い解決策ないかな?

247:デフォルトの名無しさん
09/08/15 12:43:14
>>246
Spy++互換ならWinspectorとか?
高機能かどうかは保証しないけど。

248:デフォルトの名無しさん
09/08/15 21:07:38
>>246
お前の調べ方が悪いだけ

249:デフォルトの名無しさん
09/08/15 21:23:10
2chはツンデレが多いな

250:デフォルトの名無しさん
09/08/15 23:36:19
>>246
>FindWindow( TEXT("#32768"), NULL )
文字列を渡すのが間違いじゃないかな。
MAKEINTATOM(32768)とか。

251:デフォルトの名無しさん
09/08/16 01:52:59
「山田って名前のやつが来たら門前払いしたいんだけど
"山田"で検索したのと顔が一致しないんだが、何か良い解決策ないかな?」
「そいつに名前聞けよ」

252:デフォルトの名無しさん
09/08/16 02:53:09
クラス名が "#32768" ってポップアップメニューなんだけど(ちなみに"#32770"はダイアログ)
>>246 で書いてある「クリックされたウィンドウがポップアップなら」って条件に当てはまるはずがない


253:デフォルトの名無しさん
09/08/16 06:50:20
マウスフックで、クリックされたハンドルがポップアップメニューの場合
#32768でおk?

254:デフォルトの名無しさん
09/08/16 07:22:47
クラスアトムでチェックすればいいだろ
if(GetClassWord(hwnd,GCW_ATOM)==32768){
 //メニュー
}

255:デフォルトの名無しさん
09/08/16 08:46:22
表示してる全てのポップアップメニューの領域を取得する方法ないかな?
単体なら取れるんだけど
MF_POPUPして複数になると、新しく表示されたポップアップメニューしか領域が取れない

256:デフォルトの名無しさん
09/08/16 10:02:07
#32768の全ウィンドウに対してUnionRectすれば求まるだろ
頭使おうな

257:デフォルトの名無しさん
09/08/16 10:34:25
>>256
有難う
#32768の全列挙ってFindWindowEx使う?
一々全ウィンドウを列挙してクラス名を使わないと駄目かな?

258:デフォルトの名無しさん
09/08/16 11:48:11
EnumWindowsを使う方がいいよ
ウィンドウの判別は>>254でもおk

259:デフォルトの名無しさん
09/08/16 14:33:51
>>258
有難うっ
Findで複数32768を取れないか試したけど駄目だった
全列挙してやります

260:デフォルトの名無しさん
09/08/16 16:10:38
ボタンの見た目をサブクラス化してWM_PAINT乗っ取りで変更したいんだけど、ボタンを押したときにデフォルトの描画をされてしまいます。
BM_SETSTATE時にウィンドウプロシジャを介さずに描画してるからっぽいんですが、これを止める方法ありますか?
BM_SETSTATE時に再描画させると一瞬ちらつくし、オーナードローだとプッシュボタン以外使えないし。。。

261:デフォルトの名無しさん
09/08/16 16:55:38
>>260
XP以降かつ、comctl6.0以降を使っていれば、
NM_CUSTOMDRAWが送られてくるから、そこで描画したらどう?

262:デフォルトの名無しさん
09/08/16 23:02:14
>>455
いや、ホントうまいって、騙されたと思って食ってみ
最近嫁に内緒で夜にこれ入れて1合だけ炊いて食べてたんだけど、それがバレて早朝ランニングさせられるようになった…
けど今日も頃合いを見計らって炊くつもり^^あー想像しただけで武者震いがw

断っておくけど、俺の嫁は鬼嫁とかそういうのじゃないからな

263:デフォルトの名無しさん
09/08/16 23:02:55
誤爆

264:デフォルトの名無しさん
09/08/16 23:09:51
脳内嫁ですね分かります

265:デフォルトの名無しさん
09/08/17 00:37:16
バージョン情報って1.01とかあらわすけど
メジャー、マイナー以降のバージョンの名称って何かな?

266:デフォルトの名無しさん
09/08/17 00:50:47
ビルド、リビジョン

267:デフォルトの名無しさん
09/08/17 05:04:37
ビルド番号ってどうやって決まってんの?
単純にビルドした回数にしては1998とか6000とか狙ったような番号だし

268:デフォルトの名無しさん
09/08/17 06:59:42
お好きにどうぞ

269:デフォルトの名無しさん
09/08/17 08:31:54
知らないならレスしないで下さい。ウザイだけです。

270:デフォルトの名無しさん
09/08/17 13:15:28
親ウィンドウ(スレッドA) -子ウィンドウ1(スレッドAの派生スレッドB)
               -子ウィンドウ2(スレッドAの派生スレッドC)
みたいな感じでウィンドウを生成してメッセージ処理させてるんだけど、
子ウィンドウ/スレッドに投げられたメッセージキューを、親ウィンドウ/スレッドに送らないor認識させない方法ってないかな?
親ウィンドウのGet/PeekMessageで、親ウィンドウのハンドルを指定すればいいとか聞いたんだけど
そうするとWM_DESTROYメッセージが送られてきた時点でウィンドウが消滅しててメッセージが取得不能→終了不能になるみたいで。

271:デフォルトの名無しさん
09/08/17 13:49:56
別スレッド上でCreateWindowすればメッセージキュー自体別々になるから
GetMessageでハンドル指定だの気にしなくても親から認識できないのでは

272:デフォルトの名無しさん
09/08/17 16:03:12
自作ファイルを自作プログラムへ関連付けの
設定及び削除ということをやりたいのですが、
(もちろんオプションです)
Winのバージョン違いを吸収するようなAPIはありませんか?

273:デフォルトの名無しさん
09/08/17 16:06:00
関連付けのレジストリなんてWin95以降変わってないだろ

274:272
09/08/17 16:13:31
>>273
.* の位置が
(2k)HKEY_CLASSES_ROOT\
(xp)HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
と、違うようなのですが・・・
調べが足りないのでしょうか?

275:デフォルトの名無しさん
09/08/17 16:18:12
それより知能を補給してください

276:デフォルトの名無しさん
09/08/17 16:24:21
全然調べてないみたいだな

277:272
09/08/17 16:28:09
>>276
全然ですか・・・
もう少し調べてみます

278:デフォルトの名無しさん
09/08/17 16:37:42
>>275-276
失せろゴミ

279:デフォルトの名無しさん
09/08/17 16:46:08
そもそもグローバルで効くHKEY_CLASSES_ROOTとユーザーごとのHKEY_CURRENT_USER
なのがおかしいと思わないのかね。

280:デフォルトの名無しさん
09/08/17 16:46:49
GetOpenFileNameを呼んでも、何故かダイアログが表示されません。
一瞬ウィンドウが点滅するだけです。
ソースは以下のものです。erには0が入っています。
原因が分かる方いましたら教えてください。お願いします。

void OpenAviFile(HWND hwnd)
{
  OPENFILENAME openFileName;
  WCHAR filePath[MAX_PATH];
  int er;

  ZeroMemory(&openFileName, sizeof(openFileName));
  openFileName.hwndOwner = hwnd;
  openFileName.lStructSize = sizeof(openFileName);
  openFileName.lpstrFilter = TEXT("AVI files (*.avi)\0*.avi\0")
                   TEXT("すべてのファイル(*.*)\0*.*\0\0");
  openFileName.lpstrFile = filePath;
  openFileName.nMaxFile = MAX_PATH;
  openFileName.Flags = OFN_FILEMUSTEXIST;

  if(er = GetOpenFileName(&openFileName)){
    MessageBox(NULL, filePath, TEXT("成功"), MB_OK);
  }
}

281:デフォルトの名無しさん
09/08/17 16:53:01
未初期化の filePath[] が ゴミで
いきなり OFN_FILEMUSTEXIST から外れているから FALSE で抜ける

282:272
09/08/17 16:53:52
>>279
私が見たサイトの1つでは、
xpになってから HKEY_CURRENT_USER 以下に
関連付けを記述するようになったと書かれていました
95等にも対応するにはバージョンを判別する必要がありそうなので、
APIがあるのかな、と思った次第です

283:280
09/08/17 17:02:10
>>281
指摘された部分を直すと、きちんと動作しました。
本当に助かりました。ありがとうございます。

284:デフォルトの名無しさん
09/08/17 17:31:11
InternetSetOptionのタイムアウトってInternetReadFileにも有効ですか?
InternetOpenのハンドルを使って設定しているのですが、設定時間を
無視してるので教えて下さい。

285:106.79-160-162.customer.lyse.net
09/08/17 17:53:44
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その3
『いつもサボってばかりのキャップがウゼえ』

スレリンク(news4vip板) ID:PVAf+dux0 = 自動焼人 ★
> 71 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:58:57.28 ID:PVAf+dux0
> >>69
> 大変って言うか
> 毎日、報告されたのを見て、判断して、処理して、完了報告して、以下ループ。
> ちょっとでもミスすると、普段は作業もしてないキャップさんたちがさんざん文句言ってきて
> その言いわけを考えないと、キャップはく奪されたりアカウント凍結されたりするから
>
> 登録されてから一年以上経って、やっといいたいこと言えるようになってきたよ。



----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
スレリンク(sec2chd板)
にて自動焼人 ★までご連絡ください

286:デフォルトの名無しさん
09/08/17 17:56:48
>>282
URLリンク(support.microsoft.com)
Windows2000からユーザー単位での指定もできるようになった。
関連付けは英語だと「File Associations」だから、
それでSDKのドキュメントなりググるなりすれば良い。

287:デフォルトの名無しさん
09/08/17 18:32:42
今どき95に対応するつもりかよw
使えるAPI制限されまくりで大変だろ

288:272
09/08/17 18:40:00
>>286
便利なAPIはないようですね
教えていただいたワードでも調べてみます
ありがとうございました

>>287
私のpcの1つが98seなので
対応しておきたいなぁ、と思いまして・・・

289:デフォルトの名無しさん
09/08/17 18:45:44
HKEY_CLASSES_ROOT以下でいいだろ
XPやVistaでも使える

290:デフォルトの名無しさん
09/08/17 18:58:44
xp以降はHKEY_CLASSES_ROOTに書いても関連付けできないと思っていそうだなw

291:デフォルトの名無しさん
09/08/17 19:17:19
コントロールパネルを列挙する画面を作りたいんだが
コントロールパネルの情報(コメントやファイル名)って全部レジストリ?

292:デフォルトの名無しさん
09/08/17 19:21:24
コントロールパネルのIShellFolderを取ってきてEnumObjectsでおk

293:デフォルトの名無しさん
09/08/17 19:27:31
>>292
有難う!調べてみる!

294:デフォルトの名無しさん
09/08/17 20:24:50
C++でWin32アプリケーションを作っています
下の画像のようなツリービューを作成したいのですがどうすればいいでしょうか?
URLリンク(www.codeproject.com)

295:294
09/08/17 20:30:29
ダイアログならちゃんとツールボックスに用意されてますね
よくも調べもせずスレ汚しました、すみません

296:デフォルトの名無しさん
09/08/18 11:30:31
非同期的なファイルの読み書き
URLリンク(www.geocities.jp)

上のサイトのサンプルをReadFile→WriteFileに変更して(ReadFileだとキャッシュされる?ので非同期の確認ができない)
実行しても非同期にならない
ソース、WriteFile、環境 何が原因?

297:デフォルトの名無しさん
09/08/18 11:49:40
>>296
#define ASYNC_MODE
してるか?

298:296
09/08/18 12:01:19
してる

299:デフォルトの名無しさん
09/08/18 12:27:41
FILE_FLAG_NO_BUFFERINGかFlushFileBuffers を使わないと

300:デフォルトの名無しさん
09/08/18 16:25:30
またソコのHPか

301:デフォルトの名無しさん
09/08/18 19:29:59
猫でも〜
WisdomSoft
Programing Place
はよくお世話になっております

302:デフォルトの名無しさん
09/08/18 19:39:47
Programing(笑)

プログラミングの綴りを間違えるサイトは100パーセント糞であるという法則

303:デフォルトの名無しさん
09/08/18 19:41:46
前スレまで貼ってあったのに>>1がテンプレから外すからだろ・・・

つーか「サンプルコードの質問は書いた奴に訊け(ここで訊くな)」をテンプレに入れとけっつーの


304:デフォルトの名無しさん
09/08/18 19:55:38
>>302 が恥をかいてはかわいそうなので一応教えておいてやるが、

programming だけだと思っていたら時代に取り残されるぞ。
今は、programing もあるんだぞ。誤りだと嘲笑すると恥ずかしい目にあうぞ。
嫌いだと主張するのはら抜きと同じで構わないが。


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

4920日前に更新/100 KB
担当:undef