[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 06/22 14:31 / Filesize : 90 KB / Number-of Response : 427
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build55



1 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:57:45 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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


136 名前:デフォルトの名無しさん [2007/07/23(月) 19:10:08 ]
あるよん

137 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:11:14 ]
コマンドでよけりゃcacls

138 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:11:58 ]
>>112

時代遅れなのでは?

139 名前:135 mailto:sage [2007/07/23(月) 19:15:11 ]
自己解決しました

140 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:18:14 ]
作成と同時でよければ、CreateFileのSECURITY_ATTRIBUTESへのポインタ型の引数で指定できる。
後からなら、SetSecurityInfoやSetNamedSecurityInfoなど。

141 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 19:47:47 ]
>>112
Sleep挟むなりしないとノートPCの寿命縮めたりでえらいことになる

142 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:05:23 ]
>>141
112のコードにはSleepは必要ないが。

143 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:08:45 ]
ど素人かPeekMessageと間違えてるかのどちらか

144 名前:110 [2007/07/23(月) 21:47:08 ]
>>112さん
遅レスですみません。
ありがとうございます。できました。
(ショックです。でも、本当にありがとうございます。)
DirectXのレンダリングを挟むので、>>112さんのコードをまねて、

ZeroMemory( &msg, sizeof(msg) );
while( msg.message!=WM_QUIT ) {
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else {
Render();
}
}

なんて感じにしたうまくいきました。
ただ、>>143さんのコメントが気になります。
PeekMessageはまずいんでしょうか?
教えて君ですみません。



145 名前:110 [2007/07/23(月) 22:00:44 ]
>>141
ど素人の勘違いかもしれないのですが、Sleepを実行しても、CPUは休んでない
のではないでしょうか。すると、PeekMessageでも、Sleepをする意味はないように
思うのですが。どうなんでしょう?

146 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:08:40 ]
睡眠関数入れないと中央演算装置使用率十割になるんじゃ

147 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:15:25 ]
Sleepしたからといって全てのプログラムでCPUが休むわけではない。

148 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:38:50 ]
結論、sleepいれないとノートPCの液晶の寿命が縮む

149 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:39:08 ]
そもそもCPUの使用率が十割になるとまずいの?
ほんとに寿命が縮むの?

150 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:40:42 ]
縮みません

151 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:41:08 ]
>>148
なぜ液晶が?

152 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:41:40 ]
CPUの使用率10割になると
限界をこえたことによって
CPU内部のトランジスタが痛むって141がいってた

153 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:42:39 ]
言ってません

154 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:52:03 ]
でも常に10割いってたらどっかは痛む罠。電源とか



155 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:56:54 ]
レンダーを別スレッドで行うのが定石

156 名前:110 mailto:sage [2007/07/23(月) 23:02:25 ]
みなさん、ありがとうございます。
やってみたら、CPUの使用率は50%ちょいになりました。
確かに、普段と比べると多いかも。
でも、ゲームをやるなら仕方が無いようにも思います。
よくわかりませんが。
いずれにしても、勉強になりました。ありがとうございます。

157 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:09:05 ]
>>144
そういう風にメッセージが来なかったときにやることがあるなど、
必要があってPeekMessageを使うこと自体はまずくはない。

GetMessageはメッセージが来るまでスレッドを休ませる効果があるが、
PeekMessageではそれがないので、メッセージが来ないときに何もやらない場合、
(そのコードで言うとRenderの呼出がなくしたようなコード)
無駄にループが回ってCPUの無駄遣いになるというだけのこと。

それが寿命に悪影響なのかどうかは知らないが、そんなこと気にするなんて話は聞いたことがない。
俺としては寿命よりも他のプログラムがCPUに飢える事態を心配してやれと言いたい。

あと、お前らSleepばっか言ってないでたまにはWaitMessageも思い出してやれ。



158 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:11:56 ]
そういやsleepってミリ秒単位らしいけど1を指定しても一秒近く停止するのはなんで?

159 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:13:13 ]
Sleepの分解能って10msが最小で10ms単位じゃないっけか?

160 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:13:15 ]
君のトロいコードで999ミリ秒掛かってるから

161 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:13:22 ]
WindowsOSの場合


162 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:28:32 ]
WindowSOS

163 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:31:08 ]
リアルタイムOSじゃないから当たり前。


164 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:35:21 ]
>>160 つまらん。おまえのレスはつまらん。



165 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:35:49 ]
WindowsEx

166 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:46:23 ]
Sleep(1);
で普通に1000分の1秒停まるぜ

167 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:48:58 ]
うそぉん

168 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:03:54 ]
>>158
優先度が高いほかのスレッドが1秒近くCPUを使っているとかそういうことはない?

169 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:06:40 ]
>>160-165
つまらん。

170 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:08:22 ]
>>166
あれを呼んでおけば止まるね。あれを。

171 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:12:17 ]
どれ?

172 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:17:07 ]
10ms以上(だっけ)のSleepの場合は気にする必要ないけど
それ以下の精度が必要なら

timeBeginPeriod(1)

以下、検索したらTOPに出た↓サイトの抜粋
Win95,98,Me では、この関数の実行とかかわりなく精度は
1ミリ秒になっている。WinNT,2000,XP では、ちゃんと
精度を設定する必要がある。



173 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:25:34 ]
その手の話ならこれだな
ttp://www.emit.jp/prog/prog_t1.html

174 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:56:18 ]
メディアプレイヤーとか動かしながら動かすと動作が変わるソフトはtimeBeginPeriodを使ってないかららしいな。



175 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 06:48:24 ]
木屋さんってバイク好きの木屋さん?

176 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 08:16:57 ]
ドラスレだったりしてw

177 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 08:36:49 ]
ドラスレやんw

178 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:22:19 ]
>>173
>ttp://www.emit.jp/prog/prog_t1.html

>>175-177
正解

179 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 02:24:56 ]
質問です。
vfwを使ってaviからビットマップは取り出すことが出来たのですが、
オーディオを無圧縮PCMで取り出すにはどのようにしたらいいでしょうか?
単純にヘッダをくっつけただけだとファイルが壊れてますと言われるのですが…

180 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:15:25 ]
>>179
もう一声分の詳しさが欲しいな。

いわんとする事はわかるけど、
もうちょい詳しく書けば、回答が早いと思う。

181 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:27:24 ]
え、君が回答すればいいのに

182 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:35:10 ]
え、もうちょい詳しく書かないと分からないんだろ

183 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 09:00:15 ]
え、言わんとすることは分かるって

184 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 09:24:05 ]
え、そんなんできるんですか



185 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 09:36:01 ]
無圧縮PCMなら、ヘッダさえ正しければどんな出鱈目なデータでも再生はできるから、
くっつけたヘッダが間違ってるんでないの。

186 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 10:04:43 ]
え、?

187 名前:179 mailto:sage [2007/07/25(水) 10:44:19 ]
>>180
vfwを使ってオーディオストリームは取り出せるのですが、
常に無圧縮のデータを吐き出してくれるわけではないみたいで、
ReadFormatで得られたPCMWAVEFORMATとRIFFなどの
決まり文句をくっつけただけじゃだめみたいなので、
どのようにしたら無圧縮の状態で取り出せるようになるのかなと
思い質問させていただきました。
圧縮されたまま書き出せばwavファイルには出来るみたいなのですが、
それだと次の編集が出来なくなるので…

188 名前:179 mailto:sage [2007/07/25(水) 10:45:41 ]
>>187
圧縮されたまま書き出せば   → ×
取り出したデータをいじらずに → ○

189 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 10:59:24 ]
ここの第4章は?
www.ecoop.net/coop/vfw/avi.html

190 名前:179 mailto:sage [2007/07/25(水) 11:44:34 ]
>>189
そんな方法が…
ありがとうございます。

//ただ解凍するだけなのになんかものすごいことに…

191 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:48:49 ]
自分のウインドウがアクティブじゃなくても
ボタン入力を受け取る方法ってありますか?
ブラウジングなどで大量にできたウインドウを
マウス真ん中クリックで次々消したいなと思いまして

192 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:50:46 ]
便乗ですが、WMVファイルやMPGファイル(要はWMPで再生できる形式)でAVIStreamGetFrameと同じようなことがしたい場合、
どんなAPIを使えばいいのでしょうか。
それらしきものが探しても見つからず、キーワードだけでも頂ければあとは調査したいと思います。

193 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:51:11 ]
>>191
ジャーナルフック

194 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:56:58 ]
>>192
DirectShow



195 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:58:15 ]
とうとうフックに手を出さないといけないのか・・・難しそう
グローバルな感じのlParamだかなんだかに
格納されたりしてすぐに取り出せたりとかは不可能でしょうか?

196 名前:192 mailto:sage [2007/07/25(水) 15:03:36 ]
まいどどうもです。
調べた結果このへん参考になりそう。
ttp://www.geekpage.jp/programming/directshow/samplegrabber.php

197 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 15:03:38 ]
フックほど簡単なものはない

198 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 15:08:47 ]
グローバルフックでHHOOKの保持にハマることが多かったが、最近はそれも無いみたいだしなぁ

199 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 15:21:19 ]
グローバルフックでHHOOKの保持にハマるなんて都市伝説

200 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 15:25:30 ]
しかしフックというのは
チートだのキーロガーだの悪の技術
手を出してはいけないと教わりました

201 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 16:01:41 ]
まあいつでもマウスで呼び出したいというのなら、タスクトレイに入れとくと言う手もあるしなあ

202 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:03:47 ]
ごめん。
悪の技術に関する質問です。
Office 2003でImm*を使ったグローバルフックが問題なく動いてたんだが、
Office 2003 sp2にしたところ動かなくなりました。
原因分かる人いますか。

Office2003_SP2Changes(英語)に該当する情報ってありますか?
support.microsoft.com/default.aspx?scid=kb;ja;887616

203 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:06:46 ]
Office2003_SP2Changes(英語)

204 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:13:10 ]
>>203
ありますか?
すんません、英語じゃなくてもいいです。
っていうか、英語じゃないほうがいいです。




205 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:18:25 ]
英語じゃないとダメです。
英語を勉強して下さい。

206 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:26:54 ]
じゃあ、英語でも良いです。
「Office 2003 Service Pack 2 - Changes」
の原文のほうに目を通しましたが、、、




207 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:27:11 ]
一番の近道は留学だな

208 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:31:18 ]

           /.n l  /⌒ヽ
             | l l | ,' /7 ,'
        , '' ` ー ' '-' /
       /  、_,       `ヽ  
         l   , .-. 、`´    l
         ヽ  ヽ ̄フ     /
        丶、 ̄____,/
         /  ,. - 、  )
      (( ( n ([N],ハ_う
         ゝ)ノ  ̄   ヽ
            /   _   l ))
            〈__ノ´   `(_ノ

209 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:41:00 ]
セキュリティレベルが上がったから!?

210 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 18:10:12 ]
単にImm32が呼ばれてなかっただけだったりして。
TSF経由とか。

211 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:01:45 ]
WM_CREATEでウィンドウ位置を変更してから
タブコントロールを作るとタブコントロールが正しく表示されないんですが
ヒントでいいので何かもえませんか?

ウィンドウ位置変更を抜いたり、WM_SIZE後は正しく表示されるので
何かサイズ関係なんだと思って
SendとかPostとかしてみたんですがどうも上手くいきません

212 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:18:04 ]
何も萌えません

213 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:51:20 ]
>>210
とりあえず、回避方法は分かった。
ありがとう。
210は良い奴。


214 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:57:01 ]
213は悪い奴。



215 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:57:41 ]
214 は普通の奴。

216 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:02:32 ]
普通の奴です、すいません。

217 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:08:44 ]
普通のヤツの反応じゃねぇ....

218 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:45:12 ]
>>211
「正しく表示されない」とは?

219 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:56:06 ]
>>212
orz もらえませんかでお願いします

>>218
クリックで反応するので
多分タブコントロールの一部分だけ描画されてるみたいです

220 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:14:36 ]
VIP uploaderという所にプリントスクリーンしたのをあげてみました
4M(Nullpo)のga7919こんなのですっていうのです

221 名前:デフォルトの名無しさん [2007/07/25(水) 22:21:11 ]
nullpo.vip2ch.com/ga7919.bmp

222 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:19:53 ]
コマンドプロンプトが対応しているロケールは、日本語圏の環境だ
とJapanese_Japan.932ですが、これをプロンプト上で実行したアプ
リの方で取得する術を探しています。
ご存知の方はいらっしゃいませんか?

223 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:21:50 ]
プロセスの現在値ならGetThreadLocaleかな
システム全体ならGetSystemDefault***系

224 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 08:34:48 ]
APIじゃないんだけどWin限定だしMFCじゃないのでここに質問してみる。

ttp://www2s.biglobe.ne.jp/~ragnarok/program/win32/class_of_cpp_in_dll.htm

ここを見ながら、簡単なサンプルを作っていろいろ試してみたのだけど、

1. Exportクラスを純粋仮想クラスにした場合、dllexport無しでも正常に動作するっぽい。
(ヘッダはどのみち必要なので、どの関数が存在しているかはわかっている
& virtual ついてれば exportされてない関数もちゃんと呼んでくれる)

2. Exportのデストラクタをちゃんとvirtualで宣言しておけば、exe側でdeleteしても
dll側のデストラクタおよびdeleteが呼ばれるっぽい。
(virtual無しだとexe側が呼ばれてしまいクラッシュ)

という2つの考察結果を得ました。

これがどちらもOKなら、DLL越しにクラス使うのがかなり気楽になるんだけど、
潜在的なトラブルの可能性とかあったら教えてくださいエロい方々。



225 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 08:42:17 ]
C言語の方から使っても大丈夫か

226 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:03:30 ]
すいません。またvfw関係なんですが…
AVIStreamRead(pstm, i, AVISTREAMREAD_CONVENIENT, NULL, 0, &lLength, &lSample)
としてストリームのサンプル数を取得しようとしたのですが、AVIERR_ERROR
が発生してサンプル数が取得できません。
どこか間違っている場所があれば教えていただきたいのですが…

227 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:44:52 ]
>>226
エスパーが必要そうですね


228 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:51:57 ]
>>226
どこと指摘できるほど十分な情報を提示してないのに
その質問文でわかってもらえると思ってる所を間違えてる。
もっと広範囲のソース晒すとかすれば?

229 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 10:09:37 ]
>>221
タブコントロールのサイズがおかしくなってるとか
WS_CLIPCHILDREN付けてないからタブの領域塗りつぶしちゃってるとか

230 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 10:18:15 ]
もしかして、AVIStreamRead後のlLengthとlSampleは変化してる?


231 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 10:22:25 ]
ほかのウィンドウにCtrlやAltといったModifierKeyと通常のキーを
同時に送信するにはどうすればいいのでしょうか?
試しにWM_KEYDOWNを送信してみたのですが
Ctrl+Vのイベントは起こりませんでした。

232 名前:226 mailto:sage [2007/07/26(木) 10:37:48 ]
>>228
>>189のTEST05.Cのコードとほぼ同じで、
int WINAPI WinMain()のところをwchar_t*型の引数2つ(入力avi名、出力wav名)の
関数に変更して、AVIFileOpenのファイル名の部分を先の引数に変更、
ビデオ部分の出力処理をまるまるカットしただけです。

>>230
本当なら変化しているはずらしい(上記リンク先TEST04.CのCopyStream内
の条件より)のですが、全く変化なしです。

233 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 11:01:00 ]
_tWinMainとかwWinMain とかあったなー
(某

234 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 11:28:21 ]
>>224
君の考察結果は間違ってないと思うが(とは言ってもVC++とかの話な。
DLL絡みは結局処理系に依存するところが多いだろ)、果たして
「気楽」かね?

要は必ずインタフェースクラスとファクトリを作らなきゃいかん、
それは面倒だし、全てが仮想関数呼び出しになることで効率も犠牲になる、
そこまで頑張ってもABIが処理系依存なせいで、昔ながらのCのDLLとは違って
他の言語どころか他のコンパイラからさえ利用できない、
テンプレートはどのみちDLL化できない(特殊化バージョンを入れることは
出来るが)、バージョンコントロールを厳密に意識するなら
引数や戻り値にも気楽にクラスを使えない(std::basic_string<>とか
使えないのは結構致命的では?)、といった問題があるだろう。



235 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 12:08:28 ]
>>224
つCOM
www.ascii.co.jp/pb/bookmart/pdf/47561/4756130666.pdf

Windows用の処理系ならまず間違いなくCOMが使えるようなABIになっているため、
多少はCOMでないクラスも結構やり取りできてしまう。

236 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 12:11:44 ]
>>224
結局、劣化COMを実装しているだけじゃないか。
DirectXのようにCOMの最低限のルールだけ借りて使う方がいいかと。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<90KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef