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


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

Win32API質問箱 Build86



1 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 15:23:00 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

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

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

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

Win32API質問箱 Build85
pc12.2ch.net/test/read.cgi/tech/1262430441/

175 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:19:25 ]
>>171
コンソールアプリを起動してAttachConsole

176 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 23:06:55 ]
>>175
ありがとうございました。

177 名前:デフォルトの名無しさん [2010/02/17(水) 15:33:54 ]
editウィンドウをただの黒い線の枠じゃなく
立体的なデザインにするには?

178 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 15:56:11 ]
テキストエディタ作ると結構奥が深いんぜ
最大の敵は垂直スクロールバーとウィンドウ幅に合わせた行折り返し

179 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 17:20:51 ]
えっ

180 名前:デフォルトの名無しさん [2010/02/17(水) 18:40:12 ]
ええっ

181 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:20:25 ]
・・・そんなに難しいか?

182 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 20:21:48 ]
テキスト編集は編集中のデータ管理だろう
まあListと同じで部品化すれば問題ないか

183 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 22:55:56 ]
メモ帳みたいにテキストボックス貼り付けるだけなら簡単だが、
秀丸みたいに内部データ管理から画面描画まで全部作って実用的な速度で動かすのはかなり大変
まあ最近はCPUが速いしメモリも大量に積んでるから、そういう環境限定なら難易度は下がるけど



184 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:30:23 ]
逆。難易度は逆に上がる。手に馴染むのが決め手なコントロール系
の製品開発は、遅いプロセッサで負荷をかけた状態でテストされ
プロトタイプが出来てからも何回も書き直される。
速いマシンで製品レベルのものが作れるのは余程の経験者か天才。

185 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:35:36 ]
お前らが作ったことが無いのは分かった


186 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 23:57:10 ]
俺ちょうど今作っててやとスクロールできるようになったぐらいなんだけど
>>178の言ってることはわかるような気がするよ、場合分け増えるし

たとえば一行が長くて折り返しがある行の時に右端にカーソルがある時
折り返す前の行の右端と折り返した後の行の左端は(ドキュメント的には)同じ位置
しかし画面では別の位置なのでカーソルを移動させたときに
前行の一文字手前で次の行にいくか、
次行の先頭行の最初の位置にカーソルがいかないようにするか
改行で表示行が変わってるときとでは動作が異なるから場合分けが増える

この辺ソフトによって動作が違ってて、GreenPadは後者、Terapadは前者だった

187 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 07:41:17 ]
両方に表示しちゃえばいいじゃない

188 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 08:43:33 ]
貴様らスレ違い


189 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 17:22:09 ]
スレ違いを承知で質問です。
(A) と (B) で見る AppriData構造体のデータは、整合性が取れてると思うのですが違いますか??
***** Main.c ****
struct AppriData;
main() {
  funcA();
}
*****************

**** funcA.c ****
extern struct AppriData;
funcA(VOID) {
  AppriDataを処理;     (A)
  ……
  funcB();
}
*****************

**** funcB.c ****
extern struct AppriData;
funcB(VOID) {
  ……
  AppriDataを処理;     (B)
}
*****************

190 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 17:43:10 ]
>>189
スレ違いと分かってて質問するなよ

191 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:35:31 ]
すいません、、、他所のスレがあまりに下らないので、みなさんにお願いします。

192 名前:デフォルトの名無しさん [2010/02/18(木) 18:45:01 ]
m9(^Д^)プギャーーーッ

193 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 18:57:09 ]
appliだろjk



194 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 20:39:03 ]
まずは変数宣言しろよ

195 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 21:38:49 ]
>>189
>整合性が取れてる
の意味がわかりません

196 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 22:09:57 ]
構造体はヘッダに書いて include 汁

197 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:47:47 ]
もうだめだこのスレ

198 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 08:55:47 ]
まじでか

199 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 09:50:19 ]
スレの存在自体無理がある
まともな質問の回答はMSDNに書いてある
MSDNに回答が無い質問は環境依存

200 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 10:02:06 ]
まじでか

201 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:28:26 ]
>>199

それマジで言ったん?ソースあんならすぐ出せ
マジなら2ちゃんねら総力を上げて潰すが


202 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:30:08 ]
MSDNを潰すのは勘弁してくれw

203 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:31:54 ]
総力ってお前誰だよ
今ふと思ったが
妙に「ねらー」とか「2ちゃんねら」とか言うの多いな
なんつうかν速慣れしてなそうな感じの




204 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:36:40 ]
一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?

205 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:44:39 ]
しらんかった。

206 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 11:53:21 ]
一応突っ込んどくがそれ最近どころか数年前に流行ったコピペなんだぜ・・・釣りだったかな?

207 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:10:12 ]
>>201,>>203-204の流れまでがコピペなんだぜ・・・釣りだったかな?

208 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:11:20 ]
最初に言った人はマジなんだろうな

209 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 13:15:18 ]
はじめに見たのは1年半くらい前だった希ガス

210 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 17:27:27 ]
一応突っ込んどくがそれ最近流行ってるコピペなんだぜ・・・釣りだったかな?

211 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 18:42:30 ]
「総力を上げて潰す」は2007年7月頃に流行

212 名前:デフォルトの名無しさん [2010/02/19(金) 18:49:20 ]
ウィンドウサイズの変更時などノ時
ステータスバーに表示された文字が再描画されないんですが
どうしたらいいの?

213 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:44:36 ]




214 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 21:45:57 ]
おっ、書けた。

それでは質問させてください。
Windows Vista以降で、タイトルバーに3つのシステムボタンに加えて独自のボタンを自分のアプリのウィンドウに表示したいのですが、
どういう風に書けばいいでしょうか?
C#で書いてますが、C/C++の書き方で構いません。

215 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:14:50 ]
WM_NCPAINTで描く。

216 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:18:40 ]
>>215
それは最初に試しましたが、
Aeroが有効時にはDefWindowProcの呼び出しで完全に描画されてしまい、
その後から書いても書き込んだ内容が見えません。

217 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:27:55 ]
keybd_eventでalt+numpadの文字入力はできないの?

218 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:57:08 ]
>>217
Altキーはメニューが受け取るようにWindows自体が作られているから、
そういうショートカットキーは避けた方がいいんじゃね?

219 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 22:59:19 ]
>>214
BITMAP作ってリソース読み込めばいいんじゃない?

220 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:01:53 ]
>>219
おっしゃることがよく分かりません。
タイトルバーをなるべくOS標準のまま、必要最小限のカスタマイズをしたいのですが。
描画さえちゃんとできれば、クリックの受け取りはさほど難しくなさそうです。

221 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:30:54 ]
あーすまん
ツールバーと勘違いしてた

222 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 00:18:36 ]
>>216
msdn.microsoft.com/en-us/library/bb688195(VS.85).aspx
これの「Drawing in the Extended Frame Window」のところ。
DWM (Aero)環境下で、ウィンドウ全体をクライアント領域にするという方法がある。
これで、ウィンドウ全体を好きに描画できるようになる。
引き替えに、WM_NCHITTESTを自分で処理しなければいけないのが面倒。

その記事にもあるように、MS Office 2007も
これを使ってタイトルバー部分に食い込んで描画している。

223 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 00:47:18 ]
GDI製のボーダーを持たないWindow(ガクブチ)を作って
独自のボーダー(ボタン付き)にする。
クライアント領域は下のウィンドウをそのまま
書く。(Timerで定期的に下のウィンドウの更新を
チェック。自分のウィンドウに来たメッセージは
下のWindowに当然SEND)
この方法ってWindowが動いた時とかサイズが変わった
時、ちょっとみっともないこともなくもないけど
手軽でイくね?(もちょっとイイ小技もあるらしいが)



224 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 02:25:01 ]
>>222
おおっ! これぞドンピシャ!
しかし紹介いただいたサンプルを動かしてみてるところですが、
挙動が摩訶不思議でまだ大意がつかめてません。
(特にウィンドウメニューと組み合わせると……)
コードだけじゃなくて記事本文も読まないといけないみたい。
でもこの延長線上でなんとかなりそうです。フレームの挙動がちゃんと変わってるし。

>>223
そういう方法もありだとは思います。GOMプレーヤーとかスキンを活用する系統では
そちらの方が逆にスマートかもしれないし。
でも面倒くさそう……。
今予定してるのはボタンを1個追加するだけなので。

225 名前:デフォルトの名無しさん [2010/02/20(土) 12:28:03 ]
全角文字の1バイト目かどうかを判断するAPIを教えてください

226 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:30:40 ]
文字コードは?

227 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:01:17 ]
CharNext(p) - p >= 2

228 名前:デフォルトの名無しさん [2010/02/20(土) 13:09:47 ]
しふとJISですぅ

229 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:16:57 ]
S-JISなんてAPIいらねーだろ
半角はアスキーコード互換、全角用もアスキーコードの空き部分の
コードを利用してるだけなんだし

230 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:38:43 ]
IsDBCSLeadByte
IsDBCSLeadByteEx

231 名前:デフォルトの名無しさん [2010/02/20(土) 13:41:37 ]
>>230
ありがとうございます。>>229のクズとは大違いで助かりました。

232 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 13:57:30 ]
複素数を表現するクラスMultiElemNumを作りました。
APIでは、どうするのです。か

233 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 14:18:50 ]
何をどう答えればよいのです。か



234 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 15:39:15 ]
単語「API」の用例と
あとは・・正しい日本語の使い方日本語をお願いします。

235 名前:デフォルトの名無しさん [2010/02/20(土) 16:58:41 ]
>>232
MultiElemNumが英語になっていない。Complexが正しい。

236 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:17:54 ]
printfだって英語になってないがな
もしかして「適切な訳語」のことを言いたかったのか

237 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:29:02 ]
>>225
マルチすんな

238 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:29:17 ]
わかってるんなら、わざわざ聞くなよ。

239 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:36:08 ]
開き直ってその態度。笑っちゃうね。笑わないけど。

240 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:37:46 ]
>>225>>232は同じ人間のような気がする

241 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:38:10 ]
何言ってんだ。

242 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:41:43 ]
>>241

243 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:44:32 ]
条件反射的に一言多いというかなんとうか
そういう人間がそうそう近い時間に複数来るってのは無いしな



244 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:47:08 ]
>>242
241は239当てな。

245 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:48:50 ]
何言ってんの

246 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:51:26 ]
条件反射的に一言多いというかなんというか
そういう人間がそうそう近い時に複数来るってのは無いしな

247 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:52:09 ]
>>245
いや、「開き直って」とか言われたから、何考えてるんだろうと思って、241のレスしただけのこと。

248 名前:デフォルトの名無しさん [2010/02/20(土) 18:53:22 ]
ではやはり上げておくべきですね。

249 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:56:45 ]
いいからAPI出せや

250 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:06:38 ]
APIを出す話だったのか

251 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:11:07 ]
わろた >>249は天然


252 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:19:06 ]
ふぁびょおおおおってんなよ

253 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:21:56 ]
>>252
API



254 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 19:49:39 ]
>>253
API

255 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:02:23 ]
>>254
あぴ

256 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:16:19 ]
>>255
AIP

257 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:41:53 ]
A・P・I!A・P・I!

258 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:42:36 ]
次世代型匂い付きAPI

259 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 20:43:14 ]
>>249
そういうのはID出る板でスレ立ててやれ
ここじゃ一生apiなんて出ないぞ

260 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 22:01:04 ]
↑ちなみにこれは「IDに〜〜を出す」系のスレに掛けている

261 名前:デフォルトの名無しさん [2010/02/21(日) 05:28:41 ]
質問です。

LPCWSTR型の文字列を返却する関数を、
TextOut関数で画面に表示すると、文字化けしてしまいます。

問題となっている関数の中身をコピーして、

TextOut関数の存在する関数の中にペーストし、

返却する変数をそのまま表示するようにした場合は、正しく表示されます。

色々試行錯誤しましたが、見当が付かないので教えていただけるとありがたいです。


---参考 問題の関数---

LPCWSTR get_chart_size(void){
  char dataBuff[] = "alphabet0123カタカナひらがな漢字";
  wchar_t pwsz[sizeof(dataBuff)*2];

  std::locale::global(std::locale("japanese"));

  MultiByteToWideChar(CP_ACP, 0, dataBuff, strlen(dataBuff)+1, pwsz, sizeof(pwsz));

  LPCWSTR Data = pwsz;

  return Data;
}

262 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:33:41 ]
関数出たら解放されてしまってるんだろう
malloc 汁

263 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:34:14 ]
char dataBuff
これはマルチバイト

wchar_t pwsz
これはワイド文字

文字コードが違う

MultiByteToWideChar
これはマルチバイトからワイド文字に変換する関数?



264 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:36:00 ]
>>261
pwszは非静的な局所変数なので、returnした時点で無効になる。

265 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:37:42 ]
呼ぶ方
  wchar_t pwsz[sizeof(dataBuff)*2];
  pwsz = get_chart_size(pwsz, sizeof(pwsz));
  TextOut(hogehoge);

呼ばれる方
LPCWSTR get_chart_size(wchar_t *pwsz, size_t size){
  char dataBuff[] = "alphabet0123カタカナひらがな漢字";
  std::locale::global(std::locale("japanese"));
  MultiByteToWideChar(CP_ACP, 0, dataBuff, strlen(dataBuff)+1, pwsz, size);
  return (LPCWSTR)pwsz;
}

266 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 05:57:19 ]
というか、char、wchar、TCHARはちゃんと区別しようね。みんな。

267 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 08:23:56 ]
       /|
       |/__
       ヽ| l l│<ハーイ
       ┷┷┷

268 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 09:05:42 ]
間違えた、wchar_tだった

269 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 12:42:28 ]
>>261
スレ違い。C言語質問スレに池

270 名前:デフォルトの名無しさん [2010/02/21(日) 13:01:11 ]
以下のような例で、vdCreateToolBar(VOID) と hdCreateToolBar(HWND hwndParent) とで
関数の中身は全く同一で、親ウィンドウのハンドルにグローバル変数を使うのと、関数の
引数を使うのとでは、作成されるツールバーの表示が (1) と (2) で異なるのですが、
なぜでしょうか???
HWND g_hMain;
WinMain() {
  HWND hMain;
  hMain = CreateWindowEX();
  g_hMain = hMain;
  vdCreateToolBar();-------------------(1)
  hdCreateToolBar(hMain);--------------(2)
  …
}
vdCreateToolBar(VOID) {
  g_hMain; グローバル変数でツールバー作成 (1)
}
hdCreateToolBar(HWND hwndParent) {
  hwndParent; 引数を使ってツールバー作成 (2)
}

271 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 13:25:42 ]
ちなみに、vdCreateToolBar(VOID) と hdCreateToolBar(HWND hwndParent) は,
WinMain() とは別の C ファイルです。

vdCreateToolBar(VOID) の g_hMain は extern で取得してます。

272 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 13:26:51 ]
vdCreateToolBarとhdCreateToolBarの内容が違うから

273 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 13:30:43 ]
デバッガで動きを比べてみな。



274 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 14:30:18 ]
キャストしたらどうなりますか?APIを教えてくだしあい

275 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:30:42 ]
extern "C" {} の内か外かで、結果が違ってくるとかありますか?

276 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:33:16 ]
呼び出し規約の不整合があると、どうなるんでしょう??

277 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:57:28 ]
>>274
キャスト用のAPIなんてない

>>275
ある可能性は否定できないんじゃない?

>>276
最悪の場合、期待どおりの動作にならない

278 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:01:18 ]
なんでキャストがでてくるんだ
キャストなんて
「俺(プログラム書いてる人)は型が違うのわかってて書いてる
からお前(コンパイラ)は気にしなくていいよ。」と教えてるだけなのに
(厳密にはいろいろあるようだが

279 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:46:44 ]
たまに>>278みたいな対して上手くもない例え話を載せてる入門書ってあるよね!(* ゜∀゜)ムッハー!!

280 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:51:06 ]
>>279
事実そうじゃん
関数の引数でconst char* hogeとかやるけどあれだって
書き換えするようなコードを書かないようにする安全策なだけだし
アセンブラレベルで考えればconst とか知ったことじゃねえって
感じだしなあ

281 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 16:55:52 ]
「俺」とか「お前」にご丁寧に括弧書きで想定する対象を書いてるのがダサいねぇ
人間が読むのに、わざわざキャストしてどうすんの

282 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:27:59 ]
キャストするAPIがないとか(笑)

283 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:29:25 ]
>>282
あるなら紹介してあげなよ。



284 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:40:11 ]
>>281
俺は逆で型変換でキャストなしソースのほうが読みにくくて初心者乙だなぁ
コンパイラの警告レベル上げたとたん警告が何百も出てくるとかだせぇってなる

285 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:44:22 ]
何言ってんだお前

286 名前:270 mailto:sage [2010/02/21(日) 17:44:25 ]
270 ですが、xxCreateToolBar() で関数が引数をとる形にすると、グローバル変数でも
引数渡しでも、ツールバーの動作が”不安定?”になります。

原因のヒントだけでも、ないでしょうか…、、、、

287 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:45:36 ]
知るかハゲ
ソースもなんも出さずに。

288 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:48:23 ]
すべてAPIが悪い

289 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:56:09 ]
APIが何の略かも知らないくせに

290 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:57:15 ]
あぴのせいにするな!大抵手落ちは自分にあるんだ!

291 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:00:02 ]
そうですねWindowsに欠陥があるわけないですね^^

292 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:04:48 ]
こういうキチガイがマジ多くて困る。

293 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:08:15 ]
>>270>>271の情報だけで原因を特定できるエスパーなんていないだろ



294 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:10:34 ]
こういうキチガイがマジ多くて困る。

295 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:14:41 ]
  ▄▄      ▄▄▄     █  ▄█
▄██▄▄   ▄▄▄▄▄  ▀▀▀▀▀▀█▄▄▄▄▄  █
▄█▄▄▄▄  ▀   █   ▀▀▀▀▀▀  █    █
 █▄         █   ▀▀▀▀ ▀▀▀█▀▀▀ █
  █▄  █    ▄█   █▀▀█    █    █▄
   ▀▀▀   ▀▀▀    ▀▀▀▀    ▀     ▀▀
    ▄▄▄▄▄▄      ▄▄▄
 ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀    █
     █▀        █    ▀▀█▀      ▀▄
     █         █▀▀▀   █   █▄   ▀
     █▄▄▄      █  ▄▄▄      ▀▀
               ▀    ▀▀▀


296 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:17:06 ]
vbとhdが何の意味なのかわかればエスパーが出てきてくれるかもしれん、ちょっと気になった

297 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 18:17:56 ]
Visual Basic

298 名前:デフォルトの名無しさん [2010/02/21(日) 18:23:23 ]
あげとくよー

299 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 00:31:39 ]
あげた途端レスストップとかw


300 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 00:40:04 ]
一通り語り終わった後に上げるのが悪い

301 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 09:01:37 ]
VerticalとHorizontalだろ……常考

302 名前:デフォルトの名無しさん [2010/02/22(月) 09:48:55 ]
p

303 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:52:16 ]
GDI+でアルファ値を含むbmpファイルをロードして描画すると
透明になるべき部分が真っ黒になってしまいます。
Image::GetPixelFormat()でARGBではなくRGB形式となってました。

LoadImageで読み込んだ後、GetObjectで生データを取り出して
ARGB形式での生成も試したのですが
生成はできたもの描画ができない状態です。

LoadImageとAlphaBlendではうまくできたのですが‥‥
GDI+でアルファ値のbmpは駄目なのでしょうか?



304 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:55:02 ]
bmpの32bitはそもそもリザーブになってるはず
本気でアルファを考えるならpngを読ませないとだめなんじゃないの?

305 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 01:56:27 ]
>bmpの32bitはそもそもリザーブになってるはず
bmpの32bitのアルファにあたる部分はそもそもリザーブになってるはず

306 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 02:54:46 ]
>>303
そもそもARGBなフォーマットがBITMAP形式では定義されてない。

307 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 03:22:16 ]
ビットマップにアルファは仕様外って事でしょうか。
ヘッダをBITMAPV4HEADERにしてもGDI+では駄目でした。
LoadImage/AlphaBlendを使うか、GDI+/pngで行く事にします。

308 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 04:19:49 ]
BITMAPがアルファをサポートしたとか聞いたことないしなあ
vistaとか7のペイントは知らんけど、xpのペイントはアルファをきっちり潰してくれるしな・・・
そういう状況を見るとサポートしてないと考えるしかないだろ
それにpngがあるんだしわざわざbmpがサポートする必要もないしな

309 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 08:41:52 ]
一般的な画像で透明度を持ってるのってgifかpngだけだろ。
ビットマップの場合は「この色だけ描画しない」って指定してやって、
画像側ではなくアプリケーション側で透明度を調節するタイプじゃね?

310 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 10:15:51 ]
>>309
カラーキーは別に後でも指定できるはずだよ
一時期のゲームなのどでは原色の緑をカラーキーに使ったりしてたはず

311 名前:デフォルトの名無しさん [2010/02/23(火) 11:23:12 ]
フォームを最善面に表示するAPIを教えてください

312 名前:デフォルトの名無しさん [2010/02/23(火) 11:36:55 ]
もういいです役に立たないクズ共だなあ

313 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 11:38:46 ]
フォームを最善面に表示するAPIを教えてくださいを解決するAPI

つ ぐぐれカス



314 名前:デフォルトの名無しさん [2010/02/23(火) 12:34:41 ]
ここって>>313みたいなゴミしかいないのかな?

315 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 13:11:53 ]
>>314
つ 鏡

316 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 13:29:14 ]
レス乞食乙

317 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:24:13 ]
GDIにおけるビットマップの扱いがWin3.1の頃と変わってないんですね‥‥
ペイントが出力するファイルもWin3.1のビットマップ形式でした。

BITMAPV4HEADER.bV4AlphaMask
BITMAPV5HEADER.bV5AlphaMask

Win9xの時からこういうのがあったもんで、てっきりOKかと思ってました。
腑に落ちなかったので、あれからいろいろ試していましたが
自前でbmpファイルを読み込み、生データをARGB形式として
直接GDI+に食わす方法が一番でした。

318 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:40:36 ]
>>317
別にそれでいいというのなら止めはしないけど、
正しい方法が分かってるなら正しい方法を採った方がいいよ。

BITMAPがARGBを正式にサポートしてないことには変わりがないので、
TIFFやPNGなど正式にサポートしている画像形式を使うのがこの場合は正しい。

最初にも言ったけど、動けばいい、という態度なら止めはしない。

319 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:50:10 ]
え、MSDNにもしっかり載ってるのに正式じゃないの?

ttp://msdn.microsoft.com/en-us/library/dd183380(VS.85).aspx
ttp://msdn.microsoft.com/en-us/library/dd183381(VS.85).aspx

Photoshopの起動ロゴのような変形レイヤードウィンドウも
アルファチャンネルのあるビットマップを使うみたいだし‥‥
ttp://www.yoshibaworks.com/Ayacy/INASOFT/wpt/ulw.html

320 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:57:35 ]
>>317
そもそもビットマップ形式自体が変化してないからでは?
そこが変わっちゃうと互換性問題が強く出る気がする。

それが指してるアルファマスクって、二値の情報で黒いところだけマスクする奴じゃね?

321 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 22:55:36 ]
>>319
>The high byte in each DWORD is not used.

これどういう意味

322 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:08:07 ]
>>319
32bitの色情報を格納する構造体RGBQUADを調べてみるといいよ
ヘッダにアルファの文字があっても多分古い規格のカラーキーについてだと思うよ
pngのような最大で1バイトまるまるアルファとかはサポートしてないはず

323 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:14:23 ]
あと>>317もpng使えっていわれてるのになんで自前でbmp読み込むことにこだわる
pngだって所定のデコード処理を施せばメモリ上に置かれてるのはbmpと同等だよ



324 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:23:24 ]
>>319
後半に関してはDIBにはAlphaがあるがBITMAPにはAlphaが無いってだけ
GDI+の内部では元が何であろうがDIBで扱ってるからAlphaがないと困る

msdn.microsoft.com/en-us/library/ms534412%28VS.85%29.aspx

325 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 23:29:34 ]
1ピクセル64bitとか誰が要求してんだ

326 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:12:54 ]
別に叩かれてるわけでもないのに>>319がふるぼっこすぎる

327 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:19:46 ]
叩かれてないならいいじゃねえか

328 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:23:01 ]
>>325
なんか業界団体はRGBで96bit目指してるらしいけど…。

329 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:24:35 ]
そんな細かくグラデーションしてどうすんだよ

330 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:34:04 ]
普通ならいらないけど、B/Wな画像(レントゲンとかCTとか)では実質1/3になっちゃうんで、
そういう分野では必要なのかも。

331 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:48:45 ]
モノクロ環境は考えてなかったな
なるほどな

332 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 02:14:10 ]
>>284
キャストを全然つけなくてちょいちょい泣いてるのが初心者
泣きたくないのでキャストつけまくるのがトラウマを抱えた初心者
大人になれば必要なとこだけキャストをつけるようになるよ

333 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 06:43:30 ]
複数のダイアログを使いたいんだけど
1つのダイアログごとにプロシージャを別にすることは出来ないの?



334 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 08:53:47 ]
CreateDialog()の第四引数に個々のプロシージャ指定すれば出来るお

ttp://msdn.microsoft.com/ja-jp/library/cc410690.aspx

335 名前:デフォルトの名無しさん [2010/02/24(水) 10:19:03 ]
自分のPCに入ってるSNMPの指定オブジェクトIDに値を書くAPIを教えてください。。

336 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 11:02:01 ]
URLエンコード用のAPIってありますか?

337 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 11:21:01 ]
>>335 SnmpSetVb
>>336 UrlEscape
ここに書き込むより自分で探した方が早いはず

338 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 11:28:35 ]
>>330
本当にモノクロなら
16bitでは重複が許されないが
32bitのBI_BITFIELDSならRedMaskとGreenMaskとBlueMaskに同じ値をセットするだけで規格上は問題ないはずなのだが

339 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 12:20:50 ]
DDSでやるとか

340 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:04:39 ]
3時間程度でwin32apiが使えるようになるサイト教えてください。
当方VB.NETが使えます。

341 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:10:11 ]
ttp://msdn.microsoft.com/ja-jp/library/aa139672.aspx

342 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:11:22 ]
>>340
www.nicovideo.jp/watch/sm8517855

343 名前:デフォルトの名無しさん [2010/02/24(水) 14:12:38 ]
>>337
ありがとうございます。
SnmpSetVbはwsnmp32.dllを使うみたいでこのdllは発見したのですが
これのヘッダーファイルはどこにあるのでしょうか?



344 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:15:29 ]
ファイル名聞いてるの?
そのものズバリWinSnmp.hだよ、PlatformSDKのディレクトリにあるよ

345 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:32:58 ]
>>340
www.google.co.jp/
このサイトなら3時間かからん

346 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 14:49:41 ]
msdnみればわかる事を聞くな。

347 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 15:48:41 ]
>>344
ありがとうございます。
C++Builderを使っているのですが、WinSnmp.hを発見しました。
libは発見済みだったのでこれでリンクもできます。

すみません、最後にSnmpSetVbとかの関数の使い方を書いてるサイトありますか?
初期化とか使うまでの一連の流れというか・・・

348 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 15:58:33 ]
msdn.microsoft.com/en-us/library/aa379207%28VS.85%29.aspx

349 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:25:18 ]
どうしても見つからない場合はSourceForgeあたりでコードを漁る

350 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:25:41 ]
何真面目に答えてんだカス

351 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:54:02 ]
そしてGPL汚染と

352 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 16:56:30 ]
>>337で、自分で探せば?といわれるが、懲りずに質問をし
>>346で、msdnみなよ、といわれ、懲りずに質問をし
>>348で、msdnへのリンクを貼られた

>>335は次に英語がよく分からないです。一連の流れのサンプルはないですか?と聞く。

353 名前:デフォルトの名無しさん [2010/02/24(水) 17:52:01 ]
あれwwwwwwwwwwwwwww

ここって質問スレだよなwwwwwwwwwwwwww

よく>>352みたいなクズが沸くけどなんだろうなw

つーかもうこのスレいらなくね?
誰かが質問したらググれしか言わない奴が張り付いてるし
珍しく誰かが答えたら基地外が沸くしw



354 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 17:54:03 ]
質問スレって宿題スレだったのか

355 名前:デフォルトの名無しさん [2010/02/24(水) 17:54:35 ]
こんなレスしたら今度は俺が>>335だって基地外に言われるんだよなww

このスレも酷くなったもんだよなあ

356 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 18:40:43 ]
>>353
そんなこといったら2ちゃんがいらないってことになる
実際いらないけどw

357 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 18:44:43 ]
まぁ粘着だろうな、このスレも人に恨まれる程になったとw
人生無駄に削ってくれとしか言えんな( ´ω`)

358 名前:デフォルトの名無しさん [2010/02/24(水) 19:25:12 ]
windows 7 Home premium x64
Visual C++ 2008 Express Edition
アクティブソリューションプラットフォーム: Win32
で作業しています。

実行中のプロセスが WOW64 か Native64 かを判定しようと
以下のように記述しましたが、kernel32.dll 内に GetNativeSystemInfo 関数が無いと
いう結果になってしまいます。

typedef void (WINAPI *FPGETNATIVESYSTEMINFO)(LPSYSTEM_INFO lpSystemInfo);

FPGETNATIVESYSTEMINFO GetNativeSystemInfo =
    (FPGETNATIVESYSTEMINFO)GetProcAddress(
    GetModuleHandle(TEXT("karnel32.dll")), "GetNativeSystemInfo");


if (GetNativeSystemInfo != NULL) {
  GetNativeSystemInfo(&systemInfo);
} else {
  GetSystemInfo(&systemInfo);    <--- デバッグすると、こちらに入ります
}

win7なのに GetNativeSystemInfo関数が使えないのは
どうしてなのでしょうか?ご教授お願いいたします。

359 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 19:28:02 ]
GetModuleHandleが失敗してるだろそのコード

360 名前:358 mailto:sage [2010/02/24(水) 19:36:11 ]
>>359
ありがとうございます。
GetModuleHandleのエラー情報を取得する関数を調べる過程で、
kernel32.dll と karnel32.dll を見間違えていたことが分かりました。

GetModuleHandle(TEXT("kernel32.dll")) と修正したところ、
WOW64判定ができました。

簡単なミスでお恥ずかしいです。失礼します。


361 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 20:43:54 ]
ウィンドウスタイル"EDIT"のウィンドウをfor文で10個一気に作ろうとすると
処理が間に合わずプログラムが「応答なし」になるのですが、どうにか出来ませんか?

362 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:02:40 ]
>>361
ソースコードを晒せば?

363 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:33:44 ]
>>362
すみません、自己解決しました
スレ汚し本当に申し訳ないです



364 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 21:36:43 ]
>>353
MSDNのSnmpSetVbについてのページが見つからないので教えてください

365 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:26:30 ]
>>364
msdn.microsoft.com/en-us/library/aa378268%28VS.85%29.aspx

366 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:29:45 ]
ttp://nienie.com/~masapico/api_CreateDesktop.html

のサンプルを動かしてみたんですが、デスクトップはできるものの、
新しいデスクトップ上にメッセージボックスが表示されません。

環境は Windows XP SP2 です。どうしてでしょうか?

367 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:49:49 ]
>>365
ありがとうございます。
がんばって読んでるのですが、難しいです。日本語のコメント付き使用例などはないのでしょうか。。

368 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:51:31 ]
もう日本の公用語英語にするしかねえな

369 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 22:58:13 ]
>>367
夜間中学にでも入ってやり直せ。

370 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:04:56 ]
The high byte in each DWORD is not used.

が読めない人のいるスレだからしょうがない。

371 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:07:03 ]
>>367
>>352

372 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:21:28 ]
なんという。
>>353が変なこと書くから回答してもらえると思っちゃったんじゃないか?

373 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:32:52 ]
英語ができない奴はなでしこでもやってればいいと思うよ



374 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 23:44:48 ]
>>366
自己レス。SetThreadDesktop() が 170 で失敗してました。
ググって見ると、呼び出し元スレッドにウィンドウとかが存在するときは失敗するそうで。
前にうまくいったのは、コンソールアプリだったのを忘れてました・・・。

375 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 07:19:37 ]
>>370
その記述がBI_RGBの場合だけという事を理解できない人のいるスレだからしょうがない

376 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 14:44:17 ]

GetOpenFileName関数でコモンダイアログを用いた処理で、
ファイルを選択後、「開く(O)」ボタンを押した時、
そのファイルを判定し、有効ならばそのままダイアログを閉じ、
無効ならば、再度ファイルを促したいと思っています。
OFN_ENABLEHOOKを利用してフックし、WM_NOTIFYメッセージの時、
lpOfNotify->hdr.code == CDN_FILEOKの時に判定することまでは出来ました。
ここで、無効なファイルだった場合はCDN_FILEOKをキャンセルし、
「開く(O)」ボタンを押す前の状態に戻りたい場合、
どうするんでしょうか?



377 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 14:47:47 ]
ググれかす

378 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:03:22 ]
>>376
普通にMSDNに書いてある方法では駄目なの?
msdn.microsoft.com/en-us/library/ms646931%28VS.85%29.aspx

379 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:11:31 ]
!0

380 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:35:27 ]
WindowsのIEコンポーネントブラウザでドラッグアンドドロップを不許可にしたいんですが
なにか良い方法無いでしょうか?
DragAcceptFilesで上から順に全部FLASEにしてみましたが、効果ありませんでした。

381 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:36:00 ]
ぐぐれよぅ

382 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:41:43 ]
>>381
何時間ぐぐっても見つからないので検索ワードだけでも教えてください。

383 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:45:43 ]
>>380
ほい
hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt



384 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:49:09 ]
>>382
はい
hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200510/05100013.txt


385 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 15:55:47 ]
>>383
どうやらドラッグアンドドロップについての文章じゃないようですね。
ソースコードをじっくり読んでみます。

386 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:05:24 ]
本来なら数時間ぐぐっただけでぐぐった気になるのは
許せないところだけどな。
俺なんて目から血が出るくらいぐぐるからな。

387 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:09:50 ]
そのまま死ねばいいのにね

388 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:10:53 ]
はい

389 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:11:16 ]
ここはもう機能してないスレだから他行った方が良いよ

390 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 16:19:59 ]
D&Dもイベントが発生するけどイベント処理ロジックがなかったら何もおきない・・・ってことはないのかな?

391 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:05:04 ]
registerasdroptarget

392 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:03:59 ]
MN_GETHMENUは、何故MN_から始まってるんでしょう。

393 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:10:33 ]
Menu Notify



394 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:10:58 ]
何も思わずMeNuだと思っていたが、それならMMのほうがよくね?って話かな

395 名前:デフォルトの名無しさん mailto:sage [2010/02/26(金) 00:17:45 ]
わかりました。

396 名前:デフォルトの名無しさん [2010/02/27(土) 04:00:07 ]
MessageBoxについて質問します。
タスクマネージャーを監視しているとMessageBoxを呼び出すごとにGDIオブジェクトが増えているのですが、
これはいったいなぜでしょうか?
MessageBoxを呼び出して、たとえばMB_OKでOKを押させて消させた場合もGDIオブジェクトの数が減ることがありません。
非常に気になるので、MessageBoxを呼び出しおわったあとにGDIオブジェクトをクローズする方法を教えてもらえませんか?

397 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 04:18:44 ]
ソース

398 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 04:27:29 ]
しょうゆ


399 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 05:01:50 ]
ソース

400 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 05:22:33 ]
しーそー

401 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 11:42:29 ]
ソース

402 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 17:23:50 ]
まぁMessageBox以外を疑うべきでは?Box出さないでウィンドウサイズ変更とかグリグリしながら監視推奨

403 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 06:04:33 ]
CreateDialogで作ったダイアログ内のコンボボックスに
項目を追加するにはWM_INITDIALOG内で
SendDlgItemMessage(hDlg, コンボボックスの識別子, CB_ADDSTRING , 0 , (LPARAM)"text");
これでいいんだよな?
何も起こらないんだけど



404 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 10:54:05 ]
同じコードでやって、それがリストボックス(LB_ADDSTRING)で動くなら
コンボボックスでもいけると思うが
まさかF4キーでドロップダウンしてないってオチじゃないよね

405 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 11:36:06 ]
リストボックスは出来た
コンボは追加されてないっぽい

406 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 14:58:12 ]
コンボボックスの高さが足りてないオチは?

407 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:08:08 ]
実際に追加されていないのか、単に表示がされないのか切り分けだな。

あとはSendMessageで試すとか

408 名前:デフォルトの名無しさん [2010/03/01(月) 05:39:41 ]
リソースエディッタで作ったダイアログを
トップレベルウィンドウとして扱うことって出来ないんでしょうか?

409 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 05:43:54 ]
>>408
WinMain以下でいきなりダイアログを開けば勝手にトップレベルウィンドウになると思うが?

410 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 05:51:37 ]
教師をしているんだが、生徒が勝手に他人の文書をコピペできない
ようにクリップボードを定期的にクリアするサービスアプリケーション
を作ってるんだがどのようにすればいいか教えてくれないかい?
サイズが0のウィンドウを開いてタイマーを1秒に
設定して、1秒ごとにEmptyClipBoadを発行するものを
作ったんだが、タスクバーで右クリックすれば終了できて
しまうんだ。タスクバーにアプリケーション名を出さずに
実行するのはどのようにすればいい?

411 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:09:32 ]
>>410
そんなアプリを生徒に強制的に使わせるのはヤメレ。

412 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:18:17 ]
>>410
悪意無しで本当にコピペしたいって時はどうさせるのですか先生


413 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:26:07 ]
>>410
それなんてウィルス



414 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:28:38 ]
教師が考えそうな低俗で下劣なアプリだな

415 名前:410 mailto:sage [2010/03/01(月) 06:45:04 ]
>>412
自前のクリップボードビューワーのついたテキストエディターも
作ってみようとと思ってる。タブ方式とする予定。
他の文書でマウスで一部をハイライト状態にすると、
自動的にビューワーのほうに転送されるようにしてあげる。
それを見ながら、手打ちするわけだ。タブを切り替えたり
スクロールさせなくていいわけだ。優しいだろ?
このトランスクリプトモードに入ったら、それまで入力された
箇所の不用意な変更を防止してあげる。そして
ビューワーの文字列を端から順番通りちゃんとミスタッチ無く
入力できるようにしてあげる予定(ミスタッチしたらBSを
入力したのと同じ効果にしてあげるとか)

416 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:47:11 ]
そこらにあるクリップボード支援ツール使われて即死と見た

417 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 06:49:53 ]
>>415
そんな最上級のウザソフト作って何がしたいの?w

418 名前:410 mailto:sage [2010/03/01(月) 06:54:04 ]
で、タスクバーに表示させない方法は知ってるかい?

419 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:00:17 ]
何が目的か分からんが、PC使う以上はコピペは推奨すべき。
タイピングさせたいならタイピングオブザデッドでも買い与えてやれ。

420 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:14:01 ]
馬鹿のオナニーに付き合わされて、本当に貴重な10代での学習機会を棒に振られる生徒が可哀想・・・

421 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:24:16 ]
教師がこんな無知なわけないだろ
素直にウィルス作ってますと言えよ

422 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:26:49 ]
こんな無知が担当の生徒が可哀想。

423 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:34:30 ]
Adomin権限で実行すれば一般権限のユーザーからは見れないぞ。
まさか生徒にAdomin権限使わせてるってことはないだろう?さすがに。



使わせてるとしたらバカ教師クオリティ。



424 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:37:50 ]
adominって何すか?
中学生かお前

425 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:50:42 ]
もう許してください

426 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:54:47 ]
コピペした時にクリップボードの内容を生徒別にリストする方がいいんでないの
どこで(URLとかPathとか)コピーしてどこへペーストしたかって


427 名前:410 mailto:sage [2010/03/01(月) 07:56:24 ]
要するにここの人は貴重な10代での学習機会を
貧弱なソフト環境だったWin9xとかで棒に振られた
可哀想な世代だってことですね。 理解できました。
どうも傷ついてしまったようですみません。
訊いたのが間違いでした。

428 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 07:59:19 ]
2時間掛けてようやく気付いたのか馬鹿

429 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:01:29 ]
いいえ、パンチカード世代です

430 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:20:47 ]
こんな無能の自称教師にオナニー環境押し付けられるくらいなら
黒板にググレカスとだけ書いて自習させた方が遥かに有意義だわな

431 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:24:47 ]
>>427
この簡単に答えられる質問を、誰にも答えてもらえない

お前さん人に物を教える前に、人に物を教えてもらう方法を学ぶべきじゃないか?w

432 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:40:02 ]
おい、電車下りる時間。

433 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 08:46:49 ]
www.ikuyama.net/ryo/mfc/mfc03.html



434 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:45:00 ]
ユトリが教師になると碌なことが無いという良い見本だな。

435 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:47:44 ]
いつの時代も馬鹿はいるもんだ

436 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:53:04 ]
だがしかし
もう世の中には
ゆとりの教師かゆとりを育てた教師しかいないという絶望感

437 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 10:59:14 ]
ruffnex.oc.to/kenji/thekeylogger/KeyLogger.html

438 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 12:20:12 ]
非クライアント領域を自分好みに変形させることってどうやったらできます?

439 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 12:30:29 ]
無理です

440 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 13:13:41 ]
EmptyClipBoad じゃなくて EmptyClipboard だろ

441 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 13:55:57 ]
教師をしているんだが
EmptyClipBoad

442 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 15:15:36 ]

”ウィンドウが最大化されるとき”は、どうやって知ればよいのでしょうか?

443 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 15:29:16 ]
WM_SHOWWINDOW



444 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 16:45:04 ]
すいません、、、聞き方が悪かったのですが、

アプリ・ウィンドウを最大化状態で起動したとき、右上の”Resize”ボタン?を
押したときに、前回アプリ実行時のリサイズ状態に戻したいのですが、どうすれば
よいのでしょ〜か?

445 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 16:57:07 ]
SetWindowPlacement
GetWindowPlacement


446 名前:444 mailto:sage [2010/03/01(月) 19:47:43 ]
なるほど、、、同じような名前でわけ分かりませんでしたが、そういう意味だったのか、

と納得しました。

447 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 19:59:09 ]
WM_SYSCOMMANDの(wParam & 0xfff0) == SC_MAXIMIZE
このタイミングで最大化する前のウィンドウサイズを保持して
次回起動後、SC_RESTOREが来たら保存したサイズにリサイズすればいいかと

448 名前:デフォルトの名無しさん [2010/03/03(水) 05:07:10 ]
非アクティブ状態でもキー入力を受け付けるには?

449 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 07:06:25 ]
フック、ホットキー

450 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 08:41:04 ]
WINDOWS終了時に、ファイルに設定を保存する時って
直接そのファイルに書きこむのと、一度適当なファイル作って書き込み
それを本来のファイルにリネームするのでは、どちらが良い?

451 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 08:49:03 ]
正しいのは書き換え
大昔の容量比の名残りでMS謹製ソフトでもオリジナルをリネーム後に新規作成してるのがあるけど

452 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 09:19:44 ]
>>451
サンクス!直接書き換えます

453 名前:デフォルトの名無しさん [2010/03/03(水) 10:12:15 ]
>>449
ホットキーというのを試して成功したけど
入力が無効化されてしまうのはどうにかできないの?



454 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 11:43:13 ]
>>453
非アクティブなプロセスにどんな処理させてるのかによる
単一キーじゃなくてもいいなら普段使わないキーの組み合わせで回避したらどうかな
MODあたり使って


455 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 13:45:04 ]
Raw Input
RIDEV_INPUTSINK

456 名前:デフォルトの名無しさん [2010/03/03(水) 23:33:01 ]
PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。
MSG::messageの中にWM_QUITが来てた時に、メッセージループから抜けようとしたんだけど、
メインウィンドウのハンドルを引数にしてたら、なぜか×ボタンとか押したとき(WM_CLOSEやWM_DESTROYでPostQuitMessage()を呼ぶようにしてる)
プログラムが終了しないんだけど、第二引数にNULLを与えたらうまくいくんだけど…。
NULLを与えても大丈夫なの?
全てのメッセージを取得するようになると勝手に思ってるんだけど…。

457 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:38:56 ]
日本語のでいいからMSDN嫁カス

458 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:44:55 ]
>PeekMessage()やGetMessage()の第二引数って、ウィンドウハンドルを渡すんだよね。

ダウト。普通はNULLにする。
ウィンドウハンドルを指定したらそのウィンドウへのメッセージしか取れないだろ。
子ウィンドウ作る場合とかどうすんだ。

そもそもお前の場合GetMessageでWM_QUITを取得しようとした時点で
WM_DESTROY実行済みでウィンドウが無効になってるから失敗して当然。
勝手に思い込む前に頭のバグ直しとけ。

459 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 23:47:41 ]
なにこのひとこわい

460 名前:デフォルトの名無しさん [2010/03/04(木) 00:30:47 ]
>>458
了解。
Win32APIを学ぶために読んだページにウィンドウハンドルを渡すって書いてあったから、鵜呑みにしてた。申し訳ない。


461 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 04:12:41 ]
>>458
「ダウト」の意味を調べとこうな。

462 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 08:11:22 ]
↑どうしても書き込みたくて仕方がなかった

463 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 10:06:50 ]
↑うん



464 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 13:26:49 ]
XPでExplorerをアイコン表示にした時、ファイルの位置を自由に変えられますが
あの位置情報をファイルの絶対パスなどから取得するのはどうすればいいんでしょうか。

465 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 19:25:01 ]
IShellFolderインターフェイスを使うんだろうなぁ

466 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 20:25:56 ]
IFolderView:GetItemPosition

467 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:03:50 ]
質問です。
アプリの二重起動を防止したいと考えています。
それだけならMutexを使うだけなのですが、コマンドライン引数を
最初に起動したアプリに渡した後で、終了させたいと思ってます。
(最初に起動したアプリは常駐し、以後は常駐アプリにのみ処理させたい)

このような場合に、データ(コマンドライン引数)の受け渡しを
行うには、どのような機能/APIを使うべきでしょうか?

468 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:16:30 ]
そのプログラムがスレッド持ってるならPostしとけばいいのではないですか

469 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:22:09 ]
それとグローバルアトム。

470 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:13 ]
VirtualAllocExとか

471 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:23:47 ]
ファイルマッピングオブジェクト使うのはどうかな

472 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:26:24 ]
CreateProcessでexeを起動する処理を含むプログラムを作ったのですが、
自分のPCではちゃんと動くのに、知り合いのPCでは動かないみたいです。

呼び出されるexeの内部でファイルを書き出す処理をしているのですが、
ファイルが書き出されないようなので、CreateProcessの部分が原因ではないかと思っています。
またexeを直接起動したときの動作は問題ないようです。

自分のPCでは再現しないので、環境による影響があるのではないかと疑っているのですが、
環境によってCreateProcessがうまく動かないということは考えられるでしょうか?
自分のPCはWin7、知り合いのPCはWinXPです。

473 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:32:54 ]
Roming関係とか考えられること多すぎて困る



474 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:35:58 ]
そんな漠然とした情報じゃ何もわからん。
OutputDebugStringやログ吐きまくってどのAPIがどんなエラーコードで失敗しているかを根性で調査するしか。

475 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:53:28 ]
CPUの温度とか湿度とかメモリ周りBIOS設定を確かめてみて
あとCPUクーラーは良く利いているかな?クーラーは
消耗品や劣化する製品なので、メンテは必須だよん

他人が作ったアプリやOSが動作しない時は意外にありがち
なのがそういった問題

476 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:03:05 ]
ドライブ文字ベタ書きとかそんなオチだろうさ

477 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:15:12 ]
Win7で有効な構造体のメンバがXPではリザーブとか。

478 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:24:26 ]
>>473-475
いろいろ原因は考えられるんですね。
自分のPCでは再現しないので、デバッグもしづらいのがつらいところです。

>>476
exeのファイル名指定は相対パスで書いてあります。

>>477
CreateProcessの部分はネットで調べて書いたのですが、Win7発売より古い情報なので、それもなさそうです。

知り合いに協力してもらいながら調査してみます。
どうもでした。

479 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:42:06 ]
あるアプリを複数起動させ、それぞれの保存ダイアログを同時に表示させた
時にどのダイアログがどのアプリのものか外部アプリから識別する方法って
有りますか?

480 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:47:38 ]
コモンダイアログだって呼び出し元スレッドとプロセスに所属してるんだからその辺紐付ければ取れるでしょうよ

481 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 00:59:25 ]
こんな時間に有り難うございます。
複数起動したアプリのハンドルは区別できてるんですけど、
例えば1番目に起動したハンドルで保存ダイアログを探して、
外部アプリから操作しようとすると、2番目に起動したアプリの
保存ダイアログにメッセージが飛ぶ現象が起きてしまってどうしたもんかと。

482 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:15:58 ]
Windowをスクリーンの中央に表示するコードをください、この私に。

483 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:17:05 ]
>>481
オーナーウインドウを調べれば分からない?



484 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:21:31 ]
確かHWNDからプロセスIDは調べられたと思うんだけど。

485 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 01:28:11 ]
>>482
中華は引っ込んでろ

486 名前:479 mailto:sage [2010/03/05(金) 11:21:04 ]
皆さん、有り難うございました。
FindWindowExで調べていたからまずかったみたいです。
Owner,Ownerdを調べていったら出来ました。
ダイアログと親ウィンドウの関係が今回のことで分かりました。
また、よろしくお願いします。

487 名前:デフォルトの名無しさん [2010/03/05(金) 17:40:26 ]
bitmapをjpgに変換するAPI教えて

488 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:42:02 ]
www.geocities.jp/katayama_hirofumi_mz/win32/savepic.htm

489 名前:467 mailto:sage [2010/03/05(金) 22:27:15 ]
お返事ありがとうございます。

>>468
すみません、理解できませんでした。
スレッドを利用したプロセス間でのデータ受け渡しがあるのでしょうか??

>>469 >>470 >>471
最初のアプリが常駐した後、同時に複数の同アプリが起動した場合でも
うまくいくような仕掛け(排他制御)を考える必要がありそうですね。

490 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 23:01:50 ]
単に既に起動しているプロセスに対して
コマンドライン引数をSendすればいいだけじゃだめなの?

491 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 00:20:13 ]
WM_COPYDATAで十分そうだな。
後はカレントディレクトリも送っといたほうがいいんじゃないかな。
相対パスくらいはちゃんと扱ってもらわないと。

492 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:24:20 ]
日本語でOkay.

493 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:34:47 ]
問題は質問者の書き込みではウィンドウがあるのかどうか分からないことだ



494 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:37:11 ]
ウィンドウをクラス化するところまでできました。
次にリストビューあたりをクラス化したいと思うのですが、
検索してもなかなかそういうのが見つかりません。
こう作るのがセオリーというのがあれば知りたいのですが、
参考になるサイトやソースコードがあれば教えて欲しいです。
特に、ウィンドウプロシージャとのやりとりが煩雑なので
それをクラスにまとめる方法が知りたいです。
よろしくお願いします。

495 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:50:48 ]
クラスにまとめるほうが煩雑になるの法則

496 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 02:53:19 ]
WTLとかのコード見て見れば
俺は見たときないけど

497 名前:494 mailto:sage [2010/03/06(土) 03:13:33 ]
やはりWTLになりますか。評判はいいのですが、解析となると気が引けて
しまって。手っ取り早く説明しているところがあればなと思って質問しました。
やっぱりこういうのは自作するよりも利用するものなんですかね。

498 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:21:58 ]
サブクラス化で検索したら

499 名前:494 mailto:sage [2010/03/06(土) 03:36:51 ]
サブクラス化はコントロール自体の機能を拡張するために使う手法という理解でいました。
そうではなくて、メインからコントロールを利用しやすくするためにクラス化
したかったのです。サブクラス化することでそういうメリットが得られるのでしょうか?

500 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:56:43 ]
clistviewctrl

501 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 03:59:59 ]
一番わかってないのは、自分が何をしたいのかだろう

502 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:14:20 ]
誰もが一度は通る道

503 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 04:25:55 ]
私のクラスは53万です。



504 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 12:43:49 ]
MFCとかWinFormsとかWPFをパクる

505 名前:デフォルトの名無しさん [2010/03/06(土) 17:28:13 ]
>>488
ありがとうございます。
当方C++Builder2007を使っていて、それ用のヘッダ当ありますが
エラーが出まくってまともにコンパイルができませんでした・・・

506 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 23:17:57 ]
とあるアプリを外部から操作するアプリを作成して一応望み通りに作れたのですが、
コンボボックスのことで教えて欲しいことがあって来ました。
CB_SETCURSELでアイテムを選択すると思うのですが、このAPIでアイテムを選択しても
一旦は切り替わるのですが、その後必ず先頭のアイテムが選択されてしまい、アイテム変更後
クリックメッセージを送ってやると選択したアイテムで処理が進んでくれるということになって
しまいました。
これって、使っているAPIが悪いのでしょうか?
それとも、操作しようとしているアプリの作り方(仕様?)の問題でどうしようもないことなのでしょうか?

よろしくお願いします


507 名前:494 mailto:sage [2010/03/06(土) 23:35:15 ]
皆さんありがとうございます。こういうのは定番の手法が確立されているか
と思ったのですが、意外とそうでもないようで。
とりあえずWTLやMFCとかの定番ライブラリのソースを調べてみることにします。

508 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 11:58:58 ]
EnumProcesModules→GetModuleFileNameExでファイル名を取得したいのですが
64bitアプリケーションに対してEnumProcessModulesしてもうまく取得できずGetModuleFileNameExが失敗してしまいます
何が原因なんでしょうか?

509 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 14:51:07 ]
このスレの人はそんな難しい質問には答えられないの

510 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 15:01:07 ]
32/64 で別管理なんじゃね?

511 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 16:17:06 ]
64bitビルドだと失敗しない

512 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 17:13:27 ]
HANDLEの大きさが違うからでしょ

513 名前:508 mailto:sage [2010/03/07(日) 17:14:22 ]
ありがとうございます
32bitでは64bitアプリケーションに対して一部の操作が無効なんですね・・



514 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:37:02 ]
HANDLEが別物なんだから当たり前やが

515 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:18:56 ]
UNICODE でプログラミングしてるのですが、ある関数の終了と同時に異常終了してしまいます。
以下の部分が怪しいのですが、勘違いしてないでしょうか、、、(Borland C++)

LOGFONT logfont;
const TCHAR *facename = _T("MS ゴシック");

_tmemset(&logfont,0,sizeof(LOGFONT));
_tmemcpy(&logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));
_tmemcpy(&save.logfont,&logfont,sizeof(LOGFONT));

516 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:27:44 ]
デバッガで追跡した?
_tmemset(&logfont,0,sizeof(LOGFONT));
memset( &logfont,0,sizeof(LOGFONT));
これってどう違うの?UNICODEに合わせて用意された関数?

それと
_tmemcpy(&logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));
ここで、logfont.ltFaceNameのアドレスを渡してる
logfont.ltFaceNameは配列なので
正しくは
_tmemcpy(logfont.lfFaceName,facename,_tcslen(facename)*sizeof(TCHAR));

517 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 09:28:40 ]
こっちでもおk
_tmemcpy(&logfont.lfFaceName[0],facename,_tcslen(facename)*sizeof(TCHAR));
只の勘違いだろうけど、ポインタ周りを理解してないうちはUNICODEは控えた方が

518 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 11:33:51 ]
CRTとか…

LOGFONT logfont;
::SecureZeroMemory( &logfont, sizeof( logfont ) );
::lstrcpy( logfont.lfFaceName, _T("MS ゴシック") );


519 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:33:56 ]
SecureZeroMemoryはコンパイラの最適化を受けずに、確実にゼロクリアされるけど
memsetでゼロクリアって確実にされないの?

520 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:46:59 ]
今日の1行
LOGFONT logfont = {0};

521 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:32:14 ]

WaitForSingleObject()ついて質問があります。

パイプを使用してアプリ間で双方向通信を行うプログラムを作成しています。
www.kumei.ne.jp/c_lang/sdk3/sdk_248.htm これを参考にしています。

アプリ間で共有しているイベントオブジェクトを使用してパイプへの書き込み読込みの排他処理を行っています。

正常に動作している場合は問題はないのですが、
仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません
これを回避する方法はあるでしょうか?

522 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:51:44 ]
>>512
・片方がアボートした段階で管理者に連絡する
・タイムアウト処理を実装する

523 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:52:39 ]
>>512
>>521 の間違い



524 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 16:10:40 ]
未処理例外キャチとかでアボートする前にイベント発行とかで通知
1つでもシグナル状態になったら制御を返すWaitForMultipleObject()を使用する

525 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:16:54 ]
GUI操作された処理で、それらの実行/終了した事を知るにはどうしたらいいですか?

526 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:54:28 ]
GUI操作の質問は、521-524と同じ質問なのかな?
>>524のレスの通り、CreateEventでイベントオブジェクトを作成する。
なお、CreateEventの第一引数の名前をユニークなものとし、
両方のアプリで認識できる事とする。
あとは、プロセスが終了する段階でSetEventを指定すれば、
待ち合わせ側でもWaitForMultipleObjectで知る事ができる。

521-524以外なら、WM_KILLFOCUSが操作を終了したヒントの一つなのでは?
※但し、コントロールによってはCBN_SELCHANGEなどもあり、
 一概とはいえない。


527 名前:521 mailto:sage [2010/03/08(月) 18:01:35 ]
>>523, 524
返信ありがとうございます。
アボートする前にイベント発行の方法で考えてみます。

パイプの双方向通信て微妙に難しくありませんか?
今まで、送信と受信の2本のパイプで双方向通信してましたが、どうもスマートに見えないので
改良しましたが、今度はイベントの開放時に下手するとWaitForMultipleObject()でとまりますね・・・
なにか、いいオープンソースあったら教えてほしい・・・

528 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:31:11 ]
>>526
521-524とは異なる質問です
バッチ処理を行うアプリを作りたいのですが
例えばGUIアプリの、AアプリとBアプリがあるとし
Aアプリで処理を実行し、終了ー>その後にBアプリを実行させたいと思っています
アプリ自体は、作者が異なる者を想定していますので、イベント名などは合わせることは出来ません
この状態で対応出来ますか?

529 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:52:34 ]
エスパー

530 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:52:54 ]
>>521
>仮に片方がアボートした場合、もう片方のアプリのWaitForSingleObject()から帰ってきません
嘘書くな。

531 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 18:57:03 ]
そもそもpipeの読み書きに排他処理は不要。

532 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:14:24 ]
>>528
まずは、Spy++でトレースして考えたほうがよいかと

533 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:17:18 ]
あるウィンドウが別のウィンドウの子孫かどうかを一発で判定するAPIは無いのでしょうか?

深い親子階層を持つウィンドウの中で、
フォーカスを持つウィンドウが自分の子孫に含まれているかを判定したいのですが。




534 名前:533 mailto:sage [2010/03/08(月) 19:27:53 ]
IsChild()で子だけでなく子孫も判定できるようでした。失礼しました。

535 名前:デフォルトの名無しさん [2010/03/08(月) 19:36:01 ]
CreateWindowでコンボボックスを作ったんだけど、枠線消す方法誰か知ってる?

536 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:50:20 ]
WS_EX_STATICEDGE,
WS_EX_CLIENTEDGE,
WS_EX_WINDOWEDGE
該当するフラグをマスクでアンド演算してね

537 名前:521 mailto:sage [2010/03/08(月) 20:08:09 ]
いろいろと返信ありがとうございます。
525とは別人です。

>>531
パイプによるプロセス間通信で双方向通信の場合、
排他処理なしに1本のパイプで行うことは不可能じゃないですか?

以前やってみましたが、自分で書き込んだデータを自分のプロセスが読み込み(ReadFile())ます。



538 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 21:35:49 ]
意味が分からん
OpenModeをPIPE_ACCESS_DUPLEXにして
PeekNamedPipeでスピンロックぐるぐる回してればいいじゃん

539 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 23:27:07 ]
ttp://school.topposystem.co.jp/PR/Tool/Win32API/System/Pipe.htm

ここの説明も良い説明ではないが、まだまとまった感じ

540 名前:uy ◆e6.oHu1j.o [2010/03/09(火) 02:20:02 ]
post_messageで
プロセスAから
プロセスBへメッセージを送れるわけですが、
これを受け取りたくない場合ってプロセスBはどうやって作ればいいんですか?
させたくないのは、
とにかくプロセスBは、他プロセスからのメッセージを一切受け取りたくない = 自動操作などをさせたくない
ってことです。

541 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 07:32:54 ]
特定のメッセージだけなら受け取って握りつぶすだけだけど
送信元が判定できないから難しいと思う

542 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:02:41 ]
つか数日前からプロセス間関連の質問しまくってる人は何をやってるんですか?
宿題?

543 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:36:12 ]
まぁまぁ、プロセス間通信もできればできたで楽しいし。
リダイレクタにも応用できるし!?



544 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 08:57:22 ]
夢はあるね

545 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:25:42 ]
リソースダイアログを親ウィンドウとして扱うのってあり?

546 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:32:56 ]
ありかなしか何を基準とすればいいのか分からんよ
確実になしって言えるのは実現できないことだけだ

547 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:34:00 ]
なしではないけど、どうかと

548 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:37:21 ]
俺は簡単なアプリ作る時はリソースダイアログにしてる

549 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:39:26 ]
ウィンドウかダイアログって時は
UXガイドの450ページから読んだほうが整理付くんじゃね?
(あくまでも指標なんだけどね)

ttp://msdn.microsoft.com/ja-jp/library/aa511258.aspx
ここの「PDF 形式」をクリックすればダウンロードできるぞ

550 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:43:24 ]
約800ページもあんのか

551 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:44:25 ]
プログラム覚えだした頃って外部プログラム操作したくならない?
いかにも俺はプログマーだぜって気分が味わえる。

552 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 09:48:08 ]
プロだクマー

553 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:03:29 ]
>>551
別に覚えたてに限らんでしょ。
自分でアプリ作るのは面倒だけど既製品では気に入らない時に
ボタンやダイアログのハンドル調べて自動制御する簡単なソフトを作るのは
みんなやってると思うんだけど。



554 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:08:28 ]
自分で作るか別のアプリ探すw

555 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:09:47 ]
メッセージ送ってどうのこうのまではしようと思わないな…
パイプ使ってコマンドライン編集するくらいならやるけど

556 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:18:16 ]
勝手に操作されたくないという気持ちは分からなくもないが、
たとえ、他のプロセスからのメッセージを弾く方法があったとしても、
アクセシビリティAPI経由で操作できてしまうということになるだろうと思う。

557 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 02:10:25 ]
SendMessageをフックして弾けばいい

558 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 04:45:50 ]
フックをフックして弾けよ

559 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 07:27:38 ]
ひどい攻防ですね

560 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 09:33:04 ]
キーボードやマウスのふりをするドライバとか…

561 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 09:34:02 ]
メッセージ処理前にチューリングテストしよう。

562 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:22:16 ]
質問お願いします。
デスクトップに直接(文字とか画像とか)描画したいのですが、方法が分かりません。

このキーワードのままググってみて
hdc=GetDC(NULL)
のhdcを対象に描画する方法は見つけたのですが、これではなくて、
ウィンドウを開いた場合にも最も手前に表示されますが、私がしたいのは
一番奥、つまりデスクトップ背景画像のスグ上に表示させたいんです。
何を使えばいいんでしょうか?


563 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:25:12 ]
俺も知りたい



564 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:36:14 ]
ウインドウ列挙して全部クリップしたら

565 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 11:55:25 ]
ありがとうございます。それでやってみます。

566 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 13:07:14 ]
GetDesktopWindow関数からハンドルを取ってきちゃダメ?
そこからDC探って、ビットマップ作成すればいいんじゃね?

567 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:53:05 ]
GetDC(NULL)はプライマリモニタのDCが
返ってくるから、普通にやると上書きされる

568 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 20:12:54 ]
その壁紙のビットマップファイルの複製を作って
そこに好きな文字を書く。
レジストリを書き換えて壁紙に設定
これ以上に強力な方法はないだろ

569 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 20:36:53 ]
猫にあったな<デスクトップに図形描画

570 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:06:09 ]
ここはActiveDesktopの出番だな!

Windows7で試したら、インスタンスは作れたけどE_NOTIMPLだった。残念。

571 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:43:52 ]
いやここは俺の出番!!

572 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:02:35 ]
PCの電源ボタンを押した際のWindowsの終了・スタンバイ・休止のメッセージをフックしてキャンセル(捨てる)することのできる出来るAPIありませんか?
SetWindowsHookExでできるんじゃないかと思ったけどなんだか違うみたいで

573 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:11:15 ]
刮目せよ!!
WM_QUERYSESSION
WM_ENDSESSION

あそうそう、戸田恵梨香ちゃんかわいいよね




574 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:22:33 ]
>>573
ありがとうございます!
適当にウィンドウ作ってやってみる
Win7なのがちょっと心配

575 名前:572 mailto:sage [2010/03/10(水) 23:24:49 ]
ShutdownBlockReasonCreate()
WM_QUERYSESSION
でシャットダウン・ログオフをキャンセルさせることはできたのですが
スリープの方がうまくいきません

調べてみたところXPまではスリープ時に送られてくるWM_POWERBROADCAST / PBT_APMQUERYSUSPENDに対して
BROADCAST_QUERY_DENYを返すことでスリープ以降をキャンセルできたようなのですが、Vista以降はうまく動作しないようです
SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_CONTINUOUS)も試してみたのですが効果がありませんでした
Windows7で同じような処理をする方法はないでしょうか?

576 名前:デフォルトの名無しさん [2010/03/10(水) 23:28:44 ]
VBでUSB-シリアル変換ケーブルを使う通信アプリ作ってるんですが、
ポーリングのためにWriteFileするタイミングで
ケーブル(USB側)を引っこ抜くとWriteFileが返らぬ人になって困っています。
ポートも握り締めたまま逝ってしまわれるので、どうにも・・。

エラーで良いので戻って欲しいのですが、
どういう方法が一般的なのでしょうか?

577 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 23:33:32 ]
スレッドでやれば

578 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:06:30 ]
>>576
overwrapped

579 名前:576 mailto:sage [2010/03/11(木) 00:49:23 ]
ありがとうございます。

>>577
戻ってこなければスレッドごと破棄でポートを
手放してくれますかね〜。やってみまつ。

>>578
hmm...OVERWRAPPEDだと処理がすぐに返るんですね!
タイムアウトの処理が難しそうですが挑戦してみます。
こっちの方がシンプルなのかなぁ。

580 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:05:17 ]
ディレクトリ巡回するコードでリパースポイントやらシンボリックリンクやらで
無限ループに陥るのを防止するコードで何かいいのないですか。
深さかパスの長さに制限つけちゃうのが手っ取り早いとは思いますが厳密とは言い難いです。

581 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:32:18 ]
そこまで分かってるのにFILE_ATTRIBUTE_REPARSE_POINTに何で目が行かないんだYO

582 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:21:57 ]
リパースを阻止したいんじゃなくて循環を阻止したいんじゃないか?
それならルートからGetFileInformationByHandleを呼び出してVolumeSerialNumberとFileIndexが全て一致しないか調べるくらいしか思いつかない

583 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:50:02 ]
>>580
一回見た場所を覚えておいて同じところに戻ってきたらそこで枝を打ち切って幹に戻ればよい



584 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:06:06 ]
オレならディレクトリ情報でハッシュ作って照合する

585 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:15:20 ]
HDDのバックアップ取るフリーウェアが循環対策してなくてえらい目にあったことならある

586 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 02:19:21 ]
/etc に symlink してるアホがいて
chmod -Rf 777 /usr/hoge/fuga
みたいなことしたら
/etc 以下全部 777 になって焦ったことはある
あれはなんだったんだろう

587 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 04:05:08 ]
そもそもディレクトリを巡回する事自体が間違ってる

588 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 04:31:44 ]
rootユーザーでそんなことしなければエラーで止まるだろうに

589 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 04:49:07 ]
とりあえず糞OS使ってる奴はスレ違いだから即座に死ぬように

590 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 05:25:29 ]
ここはWIN32APIスレだぞ

591 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 05:46:31 ]
クソが付くOSはリナクソとOSエックソの二つだけだ

592 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 07:41:51 ]
>>575
それ、本当にスリープに移行しているのか?
画面の出力が止まっているだけじゃないか?

593 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 09:13:38 ]
>>592
Vista以降はPBT_APMQUERYSUSPENDが省かれている



594 名前:デフォルトの名無しさん [2010/03/12(金) 13:44:59 ]
>>410
ヒント:キーロガーの逆

595 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:13:47 ]
ガ・・ロキー?

596 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:19:05 ]
>>410
俺ならサービス作ってそっから一定間隔でクリップボードからにするプログラム呼び出すか
クリップボード関連のAPIをフックするかな
これならプログラムがLocal System Accountで動くからすべてのプログラムを制御できる

597 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:39:41 ]
そしてそれらの努力はOfficeのクリップボード履歴により無に帰すのであった

598 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 17:48:16 ]
普通にテストと称して即興で学習内容を絡めた例題を出して作らせればいいじゃない。
宿題なんて所詮はテストの為の予習復習だろ。

599 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:40:46 ]
他人の文書をコピーする以外にもクリップボードにはいろいろな使い方があるんだが、
それらもすべて封じてしまうのか。
不便じゃのう。

600 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 22:59:41 ]
ファイルにキーボード入力履歴を保存したり
それを読み取って指定したウィンドウ
に送るコントロールを誰か作るだろうから
そういうサービスがあってもコピーは横行だろから
効果は薄いだろね。(IMEの自動学習をOffにしないと
ならんだろうが)

601 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 01:20:36 ]
コピペ禁止って手段が目的になってる気がするな。
本来の目的は、生徒にちゃんと理解させることだと思うんだけど。
それなら結局テストとかで判断できそうなんだけどな。

602 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:04:31 ]
つーかネットワーク構成で教師のPCと各生徒のPC以外の
リンクを禁止させ(IP生徒間では非公開。リブート=ログオン単位に
変化させる)、FDもDVDROMとかも付けない、USBメモリが使えないようにUSB端子をボード上で断線させる(ハンダコテだけで十分できる)キーボードマウスはUSBタイプだがPS/2変換を行う。
教師との通信はクリップボードが使えない専用ソフトで行う。
Windows標準装備も含め不要なアプリケーションは全部外す。
当然インターネットにも繋げない。
教材はすべて画像ファイルにして、専用ビューワーで閲覧させる。
これくらい徹底的にやらないと教育現場じゃ使えないだろ
但し教師のほうも3年は休職して特別訓練を受ける必要は
あるだろうが

603 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:17:19 ]
>>602
教師の方は精神病院で療養を受ける必要があるな



604 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:19:39 ]
>>602の言ってる事の半分が無意味と意味不明で構成されてる

605 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:22:09 ]
PCを媒体とした教育では、教師は、学習作業の進行と
学習データ回収作業に徹し

606 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:40:58 ]
教師=精神病医師であると同時に精神病患者である
これでよくね?

607 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:48:26 ]
>>602はドシロウトの妄想だから読んでも無駄
今の学校はもっとスマートに運用してる

608 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:52:11 ]
>>607
どんな風に?

609 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 02:55:44 ]
生徒の耳に1000Base-T端子が付いてるからそこに
ケーブル繋いで...だろw

610 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:02:46 ]
最近の子供は恵まれてるよ。公立小学校でもサーバルームがある。
学校ごとにドメイン組んで、生徒には個別にアカウントが与えられてる。
権限設定して生徒同士ではファイルがコピーできないようになってる。
USBメモリ対策は企業なんかでやってるのと同じ。
インターネットも普通に使えるし、かなり金と手間をかけてシステム組んでる。
こないだ父兄の見学会に行ってびっくりしてきたとこ。

611 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 04:24:19 ]
そりゃ教師だってPCやりたいだろうからなw
だがいずれほぼ一生PCに付きまとわれる運命の
星に生まれた現代人にとっては、学校だけはそう
でない場所だと願いたいものだぜw

612 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:13:49 ]
とはいえそういう子供たちは
パソコンがプログラミングして使うものだなんて知らずに育つんだろうか

613 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:17:28 ]
>>611みたいな時代錯誤のPCアレルギー患者が何故このスレに?



614 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:37:20 ]
断線に半田ごて・・・だと?

615 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 05:57:02 ]
PCアレルギーだからPCの世界に入りPCを批判するも
PCでPC教育せざるを得ない現実を憂う なあんてね

>>614
ハンダを溶かしてポンプで吸い取って一時的にコネクタとか
を機能停止させた経験とかある世代なんてもう40代
後半以降が主流だろな(目的を完全に達することができる
かどうかは回路次第だが)

616 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:26:19 ]
昔はカッターナイフで基板のパターン削ったり
ICの足を上げたりとかやったっけ

今はたいていのことがソフト的にできるし、学校だと
クライアントが何百台もあるのにハンダゴテとか不可能だし
そんなことしなくてもUSBは殺せるんだし

というわけで、>>410はもうちょっとWindowsの
内部の勉強をして別の方法を考えた方がいいと思うよ
クリップボード消されると普通に文章を書くだけでも
推敲もできなくて能率がガタ落ちしそうだわ

617 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:28:47 ]
>>615
いや、別に20代でもやった事はあるが
PCパーツにポンプで吸えるほどの巨大半田は無い
やるならカッターで削る

そもそも学校はリースだし、業者に注文すれば普通にUSB無しが来る

618 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 06:31:37 ]
コピペされたら意味が無いって事はだ
その課題そのものに根本的に意味が無いって事だ

619 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:20:59 ]
複数のユーザーIDを与えて、そのユーザー単位に使えるアプリを
厳格に分離する。アクセス可能なフォルダーも厳しく制限する。
こうすれば安直なクリップボード経由の複製を防げるし
系統の異なるアプリケーション操作を異なるデスクトップで
行うので混乱が少なくて良くね?(XP以降じゃないと別ユーザー
の同時ログオンは無理だが)
願わくは、今は廃れたMDIにデストップ全体を表示し
同一画面に複数ユーザーセッションを同時表示することが出来るような
機能がWindowsにあれば良いんだが...

620 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:35:37 ]
>>619
言ってる事とやりたい事が意味不明です

621 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:45:24 ]
理解不能なことは理解できたみたいだ

622 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:55:26 ]
無知な素人ほど「ナニカ」を制限したがるんだよなぁ
そして穴だらけで意味の無いことばかり言う

623 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 07:57:19 ]
一方ソ連はD&Dでファイルをコピーしてメニューの編集→挿入で中身を取り込んだ



624 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:01:33 ]
>>622
そだね。一つのウィンドウに、スタートメニューとかタスクバーを
表示できるのはただ一つとかね。制限が多いよ

625 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:14:39 ]
>>619
だから、そういう風にデスクトップが色んな
種類の「個性的な」アプリがおんなじ額縁に
入った状態でごちゃごちゃになってるの見るの
見せるのがヤだという理由でWebアプリが増え
てきてるんだろ?今時のまともな学校だったら
何百台のPCの同時アクセスに堪える凄いスペッ
クのサーバーがフル稼働してるのが普通。

626 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:21:49 ]
あんまり制限しすぎるとコンピュータの勉強にならない
あれもだめこれもだめかなんだPCてつまんないじゃんと思うか
それともクラッキング技術に長けてくるかもしれないなw

627 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:38:44 ]
学校はとにかく「アレもダメ、コレもダメ、ソレもダメ」から入るからな
そんだけ制限するからには、一体何をさせてくれるんだ?と思ったら

今配ったプリントを打ち込んでワードファイルにしなさい

とか言うボケ老人じみた課題を出してくれる
カス教師共は初心者にPCに対する嫌悪感を植え付ける天才だわ

628 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:47:25 ]
電子データの基本であり最大の特徴である「複製の容易さ」を封じる事から始めるなんて教師失格と言うか、死ねばいいのに

629 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 08:56:20 ]
軍隊なんかで一番最悪な上官パターンだよな

630 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:00:41 ]
EmptyClipBoad.....

631 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:05:09 ]
端末をthin client クリップボード学校全体共有にして
サーバー側で1秒毎に
LPCTSTR "否"を
クリップボードに注入し続ければイイんじゃないかな

632 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:08:42 ]
>>631
全く無意味

633 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:10:04 ]
>>631
腹立たしいほどに無意味



634 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:12:10 ]
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
  杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
  ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
   ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
   ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
  杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
  杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
 杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー

635 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:50:52 ]
>>625
それだけの設備を持っている「今時のまともな学校」って
具体的にはどことどこ?

636 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 09:59:20 ]
くだらないからここまでな
お前らのLifeTimeをTerminateすっぞ

あと>>410は辞職しろ

637 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 10:02:37 ]
だがD&DのOLE経由でコピーできてしまうのであった・・・

638 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:25:38 ]
>>627
アレもダメ,コレもダメ、ソレもダメというのは
結局不用意な操作や誤操作は、個別に作ってあるアプリ
同士が干渉して収拾がつかない結果につながるから
ということが多いんでね?
単独アプリならUndo対応しているものが多いが
複数アプリ連係操作の場合はそうとも限らんから。
連係操作して始めて意味を為すアプリグループも
あるから単独のアプリの全画面表示を切り替えて
というインターフェースは今時あり得ないことは
言う迄もないし...

639 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:28:11 ]
スレタイも読めなくなったジジイ消えろ

640 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:54:06 ]
大学で学生が教師のフォルダに提出した提出ファイルを編集するのは普通は不可なんだが
caclsコマンド使って権限変更したら編集・削除できるようになった

今現在はどうなってるかわからんが・・・

こういう場合どうやって回避する?caclsは外部コマンドだし


641 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:56:11 ]
若者(笑)ktkr

642 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 11:58:16 ]
>>640
caclsコマンドを実行できない権限のアカウントでアクセスさせる

643 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:01:46 ]
んだからプロセス同士の相互干渉連係を前提としていた
古き良きWin16APIに対し、原則相互不干渉を前提としつつも、
多種多様なIPCを用いて極力Wn16APIとの連続性を保持し
ようとするWin32APIの話題の原点そのものなんだが..
ついていけないワカい人が多いみたいなんで取り敢え
ずクローズね。



644 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 12:26:30 ]
>>642
後付けになってごめんね
それが俺その時学生で試しにやってみたらできたから学生全員がアクセスできてたと思う
一応ゼミの先生と事務所?システム管理?の所には報告したから大丈夫と思うけど

アクセス制限かありがとう


645 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:16:53 ]
"MSゴシック"で表示しても、『等幅』ではないのですが、なぜでしょう?
エディッタ上では罫線も縦横きれいに表示されるのですが、、、

646 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 14:48:07 ]
"MS ゴシック"

647 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:31:55 ]
>>410
つうか、なんで1秒後ごとにクリップボード消去してるのかわからん
クリップボードコピーした瞬間にクリップボード消去すればいいじゃん
負荷かからないし

648 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 16:42:29 ]
>>638>>643
ずっと変な改行してるバカ
お前話題を理解できてなさ過ぎて邪魔

649 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 17:31:33 ]
将来著作権や特許などが全部廃止されるときが必ず来るね

650 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 18:00:40 ]
>>643
お前懐古したいだけだろ?
少しは空気嫁

651 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 22:07:23 ]
んだからアプリのウィンドウを同時に沢山作って
連係して使うことが出来るようにはなったけど
逆にそれを一部制限して使うことは出来なくなって
しまった。パワーユーザーが自分で使う分には
困らないがそうでない人にそうなれるように教え
なければならない(つまり引き継ぎたい)時には
エラク苦労するねってことだろ。
クリップボードを使わせたく無いとかD&Dを禁止
したいとかはそのあたりから出てきてるんじゃね?
APIスレの住人はそういう苦労は少ないだろけど

652 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:06:35 ]
クリップボードを使うな、でOK。
引継ぎとかそういう話に持っていくならね。

653 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:10:41 ]
クリップボード監視して、テキストだったら全て「うんこ」にしちゃえ



654 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:11:07 ]
>>651
お前懐古したいだけだろ?
少しは空気嫁

655 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:11:53 ]
>>651
              ∩___∩
            /  ノ   \  ヽ
            | ●    ● |   なにマジになってんの?
          彡   (_●_)    ミ
           /、   |∪|    ,\   このAPIやるから帰れよ
          /.|     ヽノ    | ヽ
       ,,/-―ー-、, --、   .|_,|
    r-、,'''";;:;;:;::;;;;:;;::;:;:;;::;:;`'- /_,l,,__ )
   |,,ノ;;:;r'" ̄ ゙̄^"`Y'-、;;;::;:;::;:;:;:;::;:|
    .ヽ,′ ExitWindowsEx"";;;;;⌒゙')
     ´`゙'''''''''''‐-‐'"`‐-‐'"゛  `゙´
              |  .‖ /
            ("___|_`つ

656 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:14:01 ]
話はそう単純なもんじゃないってのは
Cのライブラリ関数使うのと同じ感覚じゃ、APIなんて
使えたもんじゃない、一筋縄じゃいかない
ってのと同じ

657 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:21:53 ]
>>651が何を言ってるのかさっぱり分からない

658 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 23:25:20 ]
何も言ってないに等しいから気にすんな

659 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:02:37 ]
鬼才すぐるw

660 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:29:20 ]
>>410
顔真っ赤すぎ

というか何の教師やってるのかしらんがどうせITの負け組みだろw
タスクバーのプロセス隠蔽なんて少し調べればわかるだろうに

661 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:31:55 ]
教師の癖に文章がやたら・・・・

662 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 04:35:39 ]
なんでまた今更半月前のレスに顔を真っ赤にしてる奴らが
湧いてきたよくわからんね。

663 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 05:36:25 ]
>>660
それプロセス隠蔽って言わない



664 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:06:40 ]
馬鹿な教師が居るらしいという肴があれば、それで十分宴会は開ける

665 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:42:55 ]
宴会まではいかないなあ。

666 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 12:56:21 ]
Windows APIってどの位覚えればプログラミングが
ラクになるんでしょうか?先輩に聞いたら
「10個程度覚えれば後は都度調べればいいけど0個じゃ辛い」
といってるんですが信じていいでしょうか?

667 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:07:55 ]
別に都度ググってもいいです
ただ、どのDLLがどの機能を管轄しているかくらいは知っておくといいかもしれません

/*
6個でウィンドウ表示

RegisterClassEx
CreateWindowEx
GetMessage
TranslateMessage
DispatchMessage
PostQuitMessage
*/

668 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:14:10 ]
10個じゃきついだろ・・・。

669 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:18:00 ]
ググるためにもある程度体系がわかってれば良い

670 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 13:36:32 ]
Windows API を覚えても
Windowsアプリを作ったり、Windowsの仕組みを覚えられるだけで
あまりプログラミングは楽にならない

でも画像処理とかは楽になるかもしれない

671 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:12:45 ]
構造体とメッセージもセットで

672 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:34:06 ]
おばけのQちゃんの絵描き歌をシミュレートして
繰り返しアニメーション表示するアプリをAPIだけで組みたい
んだけどどう組めばいいですか?

673 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:36:15 ]
まずウィンドウクラスを登録します



674 名前:672 mailto:sage [2010/03/14(日) 14:38:25 ]
マウスで画面のサイズを変えた際に、縦横の比率を
変えないようにし、書かれているアニメもそれに
応じて(途中迄でも)大きさを変えたいです。

675 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:40:13 ]
ウィンドウを表示して、その上に描画していけばいい。
で、ウィンドウサイズが変更されようとしているときに、縦横比率を変えないように変更して、
ウィンドウサイズに合わせて描画サイズを変えればいい。

676 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:43:20 ]
演奏してる曲と同期してアニメーションさせるって話なら少し面倒。

677 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:46:58 ]
タイミング固定とかならそれほどでもないだろうけどね。

678 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:47:55 ]
歌詞ファイルみたいなフォーマットを決めてやるとか

679 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:10:24 ]
マルチコア環境でプロセス毎のCPU使用率を正しく取得するにはどうすればよいのでしょう?

PdhGetFormattedCounterValueで取得してみたところ、取得できるCPU使用率は
タスクマネージャで確認できるCPU使用率の2倍になっています(2コアだから?)。
ということは取得できるCPU使用率の最大値は200となるはずと思っていたのですが
何故か100までしか取得できませんでした。(100以上は100として取得できる模様)

ちなみにWindows付属のパフォーマンスモニターで確認してみると、こちらも
タスクマネージャの2倍の値が表示されていますが、100以上の値もきっちり正しく表示されます。

取得できる上限を200にする方法か、タスクマネージャで表示されている値を
簡単に取得できる方法はありませんか?


680 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:16:50 ]
ちょっと取得してる部分のコード晒してみろよ

681 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:30:47 ]
このような感じです。

// オープン
HQUERY hQuery;
PdhOpenQuery(NULL,0,&hQuery);

// カウンタ追加
HCOUNTER hCounter;
std::string str = "\\Process(GOM)\\% Processor Time";
PdhAddCounter(hQuery, str.c_str(), 0, &hCounter );

// 3秒間の負荷計測
PdhCollectQueryData(hQuery);
Sleep(3000);
PdhCollectQueryData(hQuery);

// 計測結果取得
PDH_FMT_COUNTERVALUE fntValue;
PdhGetFormattedCounterValue(hCounter, PDH_FMT_LONG, NULL, &fntValue);

// クローズ
PdhCloseQuery( m_hQuery );

std::cout << fntValue.longValue << std::endl;

682 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 20:42:15 ]
>>666
俺なんて引数も戻り値もちゃんと覚えているのは10個もない。
ただ、どんなAPIが「存在するか」はだいたい把握している。

683 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:16:25 ]
>>681
PdhGetFormattedCounterValueのヘルプを見てみたが、
dwFormatにPDH_FMT_NOCAP100フラグが無いと、
100を超える値は全て100で返る仕様っぽいぞ。
家はシングルコアだから試しようが無いけどなorz



684 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 21:29:01 ]
>>683
おっしゃるとおりでした!
PDH_FMT_NOCAP100フラグを立てると100以上の値も取得できるようになりました。
ありがとうございます!

685 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 22:00:40 ]
>>666
Win32APIの目次みたいな一覧が色んな所にあるから
一通り流し読む
引数とかは一切無視
関数名と1行説明だけ読む
そんでおわり

その先輩はちょっと若いな
あんま意味の無い助言

686 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 13:52:55 ]
昔Win32本といえばpetzoldだったけどあの本も今や.net本になってしもうたな

687 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:53:54 ]
グローバルフック使ってプログラム側からキーボード操作したいんだけど、どうすればいいのか全然分からん
検索ワードだけでいいから誰か教えておくれ

688 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 14:57:59 ]
msdn.microsoft.com/ja-jp/library/cc429971.aspx
大して難しくないような


まあどうすればいいか全然分からんって言う奴は
はじめからやる気がないんですけどね

689 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:14:17 ]
ウィンドウメッセージを使ってるのかGetAsyncKeyState()系を使うのかで
挙動が違ってくるし、
突き詰めたらそんなに簡単な話でもないと思うけど。

690 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 15:24:05 ]
ありがと
でもググっても監視する方しか分かんないや

691 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 16:22:08 ]
送るだけならフックの必要は無いから見つからないのも当然

692 名前:デフォルトの名無しさん [2010/03/15(月) 20:19:51 ]
シリアル通信について教えてください。
「WaitCommEvent」はタイムアウトで戻す事は出来ないんでしょうか?
タイムアウトはRead,Writeのみなんでしょうか?


693 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 21:59:48 ]
非同期通信に対応してるのだから、勝手にタイムアウトでも何でもすればいい。



694 名前:692 [2010/03/15(月) 22:19:59 ]
そのタイムアウトさせるのを、監視するスレッドを自前で作る必要があるのか
SetCommTimeoutsみたいな設定で、WaitCommEventからイベント無しで
戻せるのか知りたいんです。

695 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 22:52:42 ]
>>692
昔やった方法
・CreateFile()でPENDINGで開く
・WaitCommEvent()でイベントオブジェクトとともに渡す→すぐ返る→戻り値0、GetLastError()がPENDINGなら正常
・WaitForMultipleObjects()に指定し、でタイムアウトつきで待つ

スレッド化してるからWait〜で他のイベントオブジェクトもついでに待ってたな。

ググればどこかにサンプルがあるはず。自力で書けなかった記憶があるから。
特にPENDINGを使用する箇所

696 名前:692 mailto:sage [2010/03/15(月) 23:23:06 ]
>>695
PENDINGとはオーバーラップド構造体云々ってやつですか?
良く分からないので明日ヘルプ見ながら実機でちまちま試してみます、
有難うございました






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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