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


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

Win32API質問箱 Build74



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

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

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

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

Win32API質問箱 Build73
pc11.2ch.net/test/read.cgi/tech/1227934931/

285 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 22:46:45 ]
違う。
GMT は太陽の運行を平均化した平均太陽の運行に基づいた時刻。
UTC は原子時計を基準とした時刻。
現在はより正確な UTC が基準になってる。

286 名前:269 mailto:sage [2008/12/23(火) 22:50:27 ]
>>276
ハンドルについて詳しく解説してあるサイトや書籍があれば
教えていただけませんか?

287 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 22:51:10 ]
RtlTimeToSecondsSince1970

288 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 22:57:20 ]
>>285
マジで?
関数によってちがいってあるの?
COleDateTime使ってるけど・・・

289 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 22:58:31 ]
>>286
>>3にも紹介のあるAdvanced Windows。

290 名前:269 mailto:sage [2008/12/23(火) 23:04:18 ]
>>289
4版も5版も持ってたので、100回ぐらい読み直してきます(´・ω・`)

291 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:05:43 ]
>>290
2つもいらないだろ?5版くれよ

292 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 23:09:44 ]
>>291
俺が2万で売ってやるよ

293 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:39:21 ]
MDI子ウィンドウを作ると、親ウインドウのタイトルが

タイトル - [子ウィンドウ]

になるんだけどこれを無効にするにはどうしたらいいですか?



294 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:43:20 ]
おっさん達へ
allabout.co.jp/gourmet/sweets/closeup/CU20081102B/p08.jpg
Merry Xmas
From 目覚ましと時計

295 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:43:38 ]
AdvancedWindowsの5版って4版持ってる人でも買うべき?

296 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:45:03 ]
ならないある

297 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:45:34 ]
>>288
たぶんそこらへんは作った人間が用語を混同しているだけのはず。
関西弁と大阪弁は違うという主張と似ている、というと怒られるけど。

298 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:32:19 ]
関西弁と大阪弁は違うだろ

関西弁=大阪弁、京都弁、神戸弁、・・・
大阪弁∈関西弁

299 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:43:18 ]
>>298
関西弁に京都弁は入らないと思う、一介の関西人

300 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 02:00:22 ]
ごめん選び間違えた、地域としての関西と近畿だったらどうだ?
あるいは関東と首都圏の混同とか。こっちははっきりとした定義があるけど。

301 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 02:24:46 ]
三重県・・・

302 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 02:42:09 ]
福井は兵庫

303 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 09:07:57 ]
>>295
5版はVista対応



304 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 10:01:27 ]
アイコンの縁が黒くなるんですが、これは回避できないんでしょうか?


305 名前:デフォルトの名無しさん [2008/12/24(水) 10:02:21 ]
すいません、途中で投稿ボタン押してしまいました。
表示はツリービューに行っています。


306 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 14:56:52 ]
マウスカーソルが動いて、ウィンドウからはみ出た時に
来るメッセージがありましたら教えてください。

デスクトップがウィンドウと考えれば、デスクトップに
WM_MOUSEMOVEが来るかもとも考えられますが、
ウィンドウハンドルが分からないですし。

307 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 14:59:39 ]
WM_MOUSELEAVE

308 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 15:06:13 ]
>>306
TrackMouseEventで設定するとWM_MOUSELEAVEが来るようになる。

309 名前:306 mailto:sage [2008/12/24(水) 15:52:09 ]
>>307>>308
できました。ありがとうございます。

310 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 15:53:41 ]
自分の子でないウィンドウを閉じる関数って何だっけ?
DestroyWindow()は関連しないのには作用しないよな

311 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 16:03:22 ]
>>310
DestroyWindow
ただし他スレッドのウィンドウは破棄できない

312 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 16:37:49 ]
またhookか

313 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 16:59:15 ]
Hook You!!



314 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 17:21:53 ]
>>310
WM_CLOSEを投げればいいじゃん

315 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 17:25:05 ]
紙の味噌汁だけどな

316 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 17:31:05 ]
まだWMSYSCOMMAND/SC_CLOSEの方が安全なような

317 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 17:37:27 ]
PostMessage(WM_CLOSE)
 ↓
数秒待つ
 ↓
対象プロセスがまだ終了していなければ
「強制終了しますか?」を出してTerminateProcess

タスクマネージャはこうなってる

318 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 18:21:25 ]
ウインドウのタイトルバーに最小化ボタンを付けないと、タスクバー上に表示されるタスクボタンを左クリックしても最小化できないんだけど

最小化ボタンなしでタスクボタン左クリックで最小できる方法、誰か教えて (´・ω・`)

319 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 18:49:10 ]
Spy++でメッセージ監視すれば分かるかも

320 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 19:14:50 ]
>>319
う〜ん、タスクボタン右クリックみたいにメッセージが飛んでくる訳ではないんだよね。。。
ウインドウのアクティブ化/非アクティブ化を調べて最小化させてるんだろうか、よく分からんです...orz

321 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 19:54:33 ]
>>318
不可視で最小化ボタン付けちゃえ

322 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 21:14:37 ]
>>321
ども。上手くいきましたです ノ
最小化ボタンの有無がタスクボタンでの最小化に影響を与えるわけではないようですね。

でも、タイトルバーが付いてないウインドウとかでは駄目ですね、
こちらはクリッピングリージョンで非表示にしてしまうくらいしかないのかな。。。

323 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 23:07:24 ]
てか、最小化ボタンが無いのに最小化したいってどういう状況なんだ?
いわゆるスキンとかそういうのか?



324 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 23:19:14 ]
何らかの理由で最小化ボタンは付けたくないけど(タイトルバーも消したいっぽいし)、

最小化できないとユーザーがさすがに不便だろうからその方法は用意しておきたい、ってことだと予想してみる。

325 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 23:22:44 ]
普通は通知領域にアイコン表示したうえでSW_HIDEじゃないか?
今時、中途半端に最小化とかされても、そのなんだ・・・困る

326 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 23:40:47 ]
Delphi製アプリのように、メインウィンドウとタスクバー上のウィンドウを別々にするとか。
連携が面倒そうだけど。

327 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:25:03 ]
>>326
最小化するときにアニメーションしないバグがあるけどな

328 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:33:10 ]
いつの話よ?Delphi 2007で修正済。まぁ実装はいささかトリッキーだとは思うけど。

329 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:40:47 ]
ホントだ、最近のDelphiだと直ってる
正直これ直すの無理だと思ってたから内部でどういう処理してるのか気になる

330 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 08:47:48 ]
2007年まで放置してたってのもある意味凄いなw

331 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 13:24:13 ]
/* 最前面へ */
ThreadID1 = GetWindowThreadProcessId(GetForegroundWindow(), NULL);
ThreadID2 = GetCurrentThreadId();
AttachThreadInput(ThreadID2, ThreadID1, TRUE);
SetForegroundWindow(hDlg);
AttachThreadInput(ThreadID2, ThreadID1, FALSE);
BringWindowToTop(hDlg);

/* 最前面維持 */
SetWindowPos(hDlg, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);

とあるダイアログを最前面に表示するために
上記のようにしているのですが、このダイアログが
表示されているときに「デスクトップの表示」をすると
ダイアログ上に描画している文字列が消えてしまいます。
この文字列はWM_PAINTで処理しているのですが
「デスクトップの表示」をしたときはWM_PAINTが
来ないのでしょうか?
何か対処方法はありますでしょうか?


332 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 14:08:38 ]
AttachThreadInput(ThreadID2, ThreadID1, TRUE);
SetForegroundWindow(hDlg);
AttachThreadInput(ThreadID2, ThreadID1, FALSE);

未だにこんな下手なコード書く人がいるんだね

333 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 14:18:40 ]
ていうか強引に最前面表示させる行儀悪いソフト作る人ってまだいるのか



334 名前:331 mailto:sage [2008/12/25(木) 14:23:50 ]
>>333
お客さんのどうしてもという要望なので仕方なしに

335 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:00:59 ]
まあそのコードでは運用してからクレームが来るのは時間の問題
「ダイアログを最前面に出せ」なんてアホな要望する客なら尚更
ご愁傷様>>331

336 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:10:13 ]
たんに最前面に表示させるだけなら、Zオーダーを
TOPMOSTにする方がいいと思うが。
一瞬だけTOPMOSTにして、すぐにNOTOPMOSTに
するという方法もある。

これなら、フォーカスを奪わずに最前面に表示される。

337 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:45:17 ]
SetWaitableTimer()の開始時間の指定で絶対時刻はUTC時間を使えとありますが、
これはどういうことでしょう?1601/1/1 0:0:0.000からの経過時間かと思ったんですが・・・

338 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:51:45 ]
FILETIMEにUTCで指定すりゃ良いだけだろ

339 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:54:09 ]
ローカル時刻で指定すんなってことかと。

340 名前:318 mailto:sage [2008/12/25(木) 18:25:03 ]
>>326
>メインウィンドウとタスクバー上のウィンドウを別々にするとか。

取りあえずその方法でそれっぽい動作が可能になりました♪
(うむ〜、こんな手があったとは。。。

まだいくつか問題はありますがまあ調整できそうです。ありがとうございました ノシ

341 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:26:23 ]
cecile, il offre sa confiance et son amour.

342 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:25:56 ]
Owned windowに関する質問です。

通常はオーナーウインドウが破棄されると、Ownedウインドウも一緒に破棄されますが、
他プロセスが作成したウインドウをオーナーにしているとオーナーだけ閉じてしまいます。

これを一緒に閉じるようにしたいんだけど、オーナーウインドウに対してポーリングするのと
フックを仕掛ける以外で、何かスマートな方法はないですか?
オーナー側のプログラムはいじれません。

Spy++でメッセージログを見た感じでは、特に何もメッセージは来ていませんでした。

343 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:58:54 ]
オーナーウインドウを破棄する時に、Ownedウインドウに適当なメッセージを投げる。



344 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 22:06:04 ]
(; `ハ´)「アイヤー、日本の女子高生の耐寒性は異常アルネー」
up.mugitya.com/img/Lv.1_up81881.jpg


345 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:15:00 ]
>>344
コピペ君って馬鹿だな、まで読んだ。



346 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:18:17 ]
MSDNによると、GetFullPathNameの引数lpFilePartの型ってLPTSTRのポインタになってるけど、
これってどう解釈したらいいのかな?

変数から返ったとき、この変数にはlpBufferで渡したバッファ内のアドレスが
入ることになるわけだから、普通に考えると「LPTSTRのポインタ」ではなく
LPTSTRそのものでないとおかしい気がするんだけど……

347 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:19:34 ]
[訂正]
変数から返ったとき ⇒ 関数から返ったとき

348 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:23:57 ]
>>346
C言語を勉強しましょう。

349 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:24:28 ]
LPTSTRは文字列の先頭ポインタだからポインタそのものは受け取れない

350 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 23:30:32 ]
>>349
冷静に考えたらそうだねw
実に初歩的な考え違いってわけか。

351 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:35:43 ]
レベルが低すぎる

352 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:38:52 ]
最近のパスの最大長っていくつになってるの?
256じゃねーだろ絶対

353 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:45:55 ]
>>352
unicodeでMAX_PATH(=260)

理論上はそれ以上も可能だがExplorerが扱えない



354 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:54:42 ]
>>353
それってつまり何バイト?w

355 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:02:08 ]
>>354
それってどういう冗談?w

356 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:06:05 ]
4バイト?
260x4=1040っすか?

357 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:21:20 ]
やれやれ・・・
冬休みになって小学生がやって来たみたいだね

358 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:29:40 ]
>>357
マジでわからん
解説頼む

とりあえず調べた感じだとユニコードって4バイトまであることがわかった
だから>>356だと思ったんだけど違うの?

359 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:30:20 ]
わからないなら4096とっとけよ

360 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:47:34 ]
いやいや64KBくらいは確保しといたほうが安全だぞ

361 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:49:25 ]
実際1040以上くるから俺は2048を勧める

362 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:50:17 ]
全角のよくわからん文字を連打してためしたから間違いない

363 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:53:26 ]
>>362
それ手打ちだろ?w
msdn.microsoft.com/ja-jp/library/930f87yf(VS.80).aspx

32,768 文字でFA



364 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:54:53 ]
>>363
バイト数ぅぅううううううううううううううううううううううううう!でいくら?

365 名前:デフォルトの名無しさん [2008/12/27(土) 03:13:49 ]
>>364
MAX_PATHって文字だけでバイト数答えられるやつが居たらエスパー認定するね俺は。
自分で気が済むだけ確保しとけばいいじゃん?

366 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 03:14:47 ]
具体的にはFileDialogで流れ込んでくる文字列

367 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:39:56 ]
Unicode 1文字4バイトってサロゲートペアのこと言ってるなら、
あれは2文字にカウントする。
だからUTF-16は1文字2バイト。

UTF-8は最大6バイトだったり4バイトだったり…

368 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:47:15 ]
結合文字もあるだろ

369 名前:デフォルトの名無しさん [2008/12/27(土) 12:35:18 ]
ツリービューにドラッグドロップした際、カーソルの下にあるノードを取得するにはどうしたらいいんでしょうか?


370 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:01:20 ]
>>368
知らないならレスしないでください。ウザイだけです。

371 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:50:22 ]
>>369
とりあえずツリーコントロールのドラッグ&ドロップ当たりは参考にならないだろうか?
www.alpha-net.ne.jp/users2/uk413/vc/VCT_TVdrag.html

372 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:08:08 ]
>>371
それMFCのサンプルなんだが

373 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:11:45 ]
>>372
いや、MFC知らなくても読めばHitTest関数使うんだなってなんとなく分かるだろ



374 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:35:19 ]
>>372
ここまで応用が効かないヤツってどうやったら日本の教育で排出されるの?

375 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:41:35 ]
日本ノ教育関係ナイ

376 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:41:59 ]
>>374
?オレ別に質問した人間でもないし興味もないが、せっかく挙げるのならもうちょっと適切なサンプル上げてやったらどうかと思ってな

377 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:45:42 ]
またゆとり世代プログラマのご乱心か。


378 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:09:05 ]
>>376
適切なサンプルがあったらそうするだろ常考・・・

379 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:11:27 ]
もうだめだこのスレ

380 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:16:28 ]
レスしないで下さい。ウザイだけです。

381 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:21:40 ]
img.2ch.net/ico/o_anime_basiin.gif
【依頼75】

パンツにWiiリモコンを装着し女性でも立ちションの気分を味わえる「スパー・ピーピー・ブラーザー」 2008年12月27日 09時00分00秒
gigazine.net/index.php?/news/comments/20081227_super_pii_pii_brothers/

さまざまな変わった商品を取り扱っているThink Geekというサイトで、
女性でも立ちションのきぶんを味わえるWii専用ソフトが販売されているようです。
パンツにWiiリモコンが付いており、そのパンツをはいてプレイするという
非常に斬新なゲームになっているようです。
プレイムービーを見るとかなりシュールで笑ってしまいます。

では、どのようなソフトなのか見てみましょう

これが「スパー・ピーピー・ブラーザー」。本体価格は約35ドル(約3200円)。
gigazine.jp/img/2008/12/27/super_pii_pii_brothers/super-pii-pii-brothers-nintendo-wii-2.jpg

ゲーム中の画像
gigazine.jp/img/2008/12/27/super_pii_pii_brothers/Snap2.jpg
gigazine.jp/img/2008/12/27/super_pii_pii_brothers/Snap6.jpg
gigazine.jp/img/2008/12/27/super_pii_pii_brothers/super-pii-pii-brothers-nintendo-wii-1_m.jpg

プレイ動画
jp.youtube.com/watch?v=yQNKRDFanQE

382 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:29:19 ]
>>378
↓こっちのがいいんじゃないの?
support.microsoft.com/kb/214814/ja

てか、"ツリー""ドラッグ"でググってトップに出てくるページを挙げても意味ない気がするんだが

383 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 22:58:29 ]
GetTimeZoneInformationでサマータイムの開始時刻は取得できるのですが、終了時刻もしくはサマータイムである時間
を取得するにはどうすれば良いですか?日付でなく時刻が知りたいのですが・・・。
それともサマータイムって一日のうち何時間てのが決まってるんでしょうか?



384 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:20:48 ]
はぁ?

385 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 23:26:18 ]
俺が知ってるサマータイムじゃない






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

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

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