Win32API質問箱 Build47
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/13(月) 08:56:12やさしいお兄さんやお姉さんたちが答えてくれるかも。
過去スレ、関連リンクは>>2-5くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
0056デフォルトの名無しさん
2006/11/14(火) 19:25:160057デフォルトの名無しさん
2006/11/14(火) 19:25:20newせず動的にメモリー確保する新しい方法って何だ?
gcnew?
0058デフォルトの名無しさん
2006/11/14(火) 19:42:18「STLは内部でnewしてる」などという(ry
0059デフォルトの名無しさん
2006/11/14(火) 20:09:470060デフォルトの名無しさん
2006/11/14(火) 20:34:03std::basic_stringが文字列を受け取るバッファに使えないのが痛い。
0061デフォルトの名無しさん
2006/11/14(火) 20:51:300062デフォルトの名無しさん
2006/11/14(火) 21:39:16他にもいろいろあります。
調べる方法としてはレジストリのDefaultIconキーとshellex¥IconHandlerキーをチェックします。
「DefaultIconキーに%1が*含まれて*いる」もしくは「shellex¥IconHandler キーがあれば」、
ファイル毎にかわるもんだと思っていいです。
0063デフォルトの名無しさん
2006/11/14(火) 22:18:24GetFocusはNULLが帰ってくるので・・・
0064デフォルトの名無しさん
2006/11/14(火) 22:35:01> GetFocus returns the window with the keyboard focus
> for the *current thread's* message queue.
これにひっかかってるとか?
> To get the window with the keyboard focus on the
> foreground queue or the queue of another thread,
> use the GetGUIThreadInfo function.
0065デフォルトの名無しさん
2006/11/14(火) 22:35:130066デフォルトの名無しさん
2006/11/15(水) 04:48:00900バイトのファイルにしたいんですが、どうやるのが最もよいでしょうか?
お願いします。
0067デフォルトの名無しさん
2006/11/15(水) 05:21:10006866
2006/11/15(水) 05:36:230069デフォルトの名無しさん
2006/11/15(水) 06:04:19007066
2006/11/15(水) 07:32:56WriteFileでファイルに書いている際、PCが落ちた場合、元のファイル
がどの程度まで壊れているかの情報ってありますでしょうか?
それとも全部壊れたとみなすべきでしょうか?
少なくとも、すでに存在していたファイルの場合で、そのファイルに
追加書き込みしていた場合、元のファイル分までは壊れてないと
みなしていいのでしょうか?
0071デフォルトの名無しさん
2006/11/15(水) 07:51:17俺なら作業用のテンポラリファイル作って、作業が終わったら上書き保存する。
0072デフォルトの名無しさん
2006/11/15(水) 08:16:110073デフォルトの名無しさん
2006/11/15(水) 15:58:11SetEndOfFile
0074デフォルトの名無しさん
2006/11/15(水) 16:02:24その時書いてた部分までは残ってるわな
0075デフォルトの名無しさん
2006/11/15(水) 16:34:32実際にディスクに書かれてるかどうかは分からんけどナ
0076デフォルトの名無しさん
2006/11/15(水) 20:33:07NTFSはメタデータのジャーナルしか取らないよ。
だからファイルシステムが矛盾しないことは保証されるけど
ユーザーデータが壊れてないかどうかまではNTFSの関知するところではない
0077デフォルトの名無しさん
2006/11/15(水) 20:33:40先頭と末尾を取り違えてませんか
0078デフォルトの名無しさん
2006/11/15(水) 21:15:050079デフォルトの名無しさん
2006/11/15(水) 22:12:240080デフォルトの名無しさん
2006/11/15(水) 22:43:24ウィンドウプロシージャでスレッドを作成しないとダメなんでしょうか。
0081デフォルトの名無しさん
2006/11/15(水) 22:47:49そのプログラムではたまたまWM_CREATEのときに作る必要があっただけだろう。
0082デフォルトの名無しさん
2006/11/15(水) 22:48:17そのサンプルがたまたまWM_CREATEの処理中に _beginthread を使ってるだけ。
基本的にはどこでやってもええよ。
0083デフォルトの名無しさん
2006/11/15(水) 23:14:22>>82
ありがとうございます。
0084デフォルトの名無しさん
2006/11/15(水) 23:43:27DllMainや一部のコールバックでは制限されている。
0085デフォルトの名無しさん
2006/11/15(水) 23:47:55肝心のWinMainがスレッド作成から動いていない・・・何故だ・・・。
0086デフォルトの名無しさん
2006/11/15(水) 23:48:11ソースきぼんぬ(死語?)
0087デフォルトの名無しさん
2006/11/15(水) 23:53:510088デフォルトの名無しさん
2006/11/16(木) 00:12:05俺は限界だと思った。
0089デフォルトの名無しさん
2006/11/16(木) 01:14:04Vistaじゃ入ってない?
0090デフォルトの名無しさん
2006/11/16(木) 02:12:00009184ではない
2006/11/16(木) 02:28:16具体的にはDLLを動的にロードしたあとDLL側が勝手にスレッドを作ったりして作られたスレッドが走ってる最中にアンロードされたりすると・・・
だったような・・・
・・・でCOMでスレッドを作りたい場合はプロセス内サーバは避けろとかあったような。
(とりあえずEffective COMの項目32で確認)
0092デフォルトの名無しさん
2006/11/16(木) 06:40:53ボタンを押し、その状態のままボタン外へマウスをドラッグさせ、マウスのボタンを放すと
ボタンに登録したアイコンを消す。
という動作をさせようと思い "WM_LBUTTONDOWN" / "WM_LNCBUTTONDOWN" /
"WM_LBUTTONUP" / " WM_LNCBUTTONUP" で処理を書いてみたのですが。
どうもメインフォーム上でのみ反応し、ボタン上では反応しませんでした。
ボタンを対象に何かをしなくてはならないとは思うのですが
良い方法が思い浮かびません。アドバイスをお願いします。
0093デフォルトの名無しさん
2006/11/16(木) 07:05:11SetCapture
0094デフォルトの名無しさん
2006/11/16(木) 07:08:520095デフォルトの名無しさん
2006/11/16(木) 07:14:05ありがとうございます。
早速調べてみます。
0096デフォルトの名無しさん
2006/11/16(木) 07:21:25.NET Framework 2.0 廃止予定の API 一覧
ttp://www.microsoft.com/japan/msdn/netframework/programming/obsoleteapi/
他スレで見かけたので貼っておきますね。
0097デフォルトの名無しさん
2006/11/16(木) 13:48:00C++Builderで画像処理ソフトを作っているものですが、
VideoForWindowsで動画をチャプチャしております。
そこで質問なんですが、
1.bmpを介さずに直接メモリにチャプチャする方法
2.動画の描画を行わずに画像を取得(表示すると遅くなるため)
を教えていただけませんか。
いろいろ調べてみたものの解決に至っていません。
DirectShowはちょっと難しかったので使っていません。
どうぞよろしくお願いいたします。
0099デフォルトの名無しさん
2006/11/16(木) 20:23:43だとCでコンパイルしろっていってるけどC++でWin32APIは使えないの?
このサイトだけでの話?
0100デフォルトの名無しさん
2006/11/16(木) 20:28:15使える使えないを語る以前の問題じゃ
010199
2006/11/16(木) 20:33:25猫のとこなら.cppだったわ・・・
0102デフォルトの名無しさん
2006/11/16(木) 20:40:230103デフォルトの名無しさん
2006/11/16(木) 20:52:20C/C++の基本を勉強する方が先みたいだな
0104デフォルトの名無しさん
2006/11/16(木) 20:54:590105デフォルトの名無しさん
2006/11/16(木) 21:31:530106デフォルトの名無しさん
2006/11/16(木) 21:44:090107デフォルトの名無しさん
2006/11/16(木) 23:47:050108デフォルトの名無しさん
2006/11/16(木) 23:58:320109デフォルトの名無しさん
2006/11/17(金) 00:01:040110デフォルトの名無しさん
2006/11/17(金) 00:04:010111デフォルトの名無しさん
2006/11/17(金) 00:05:380112デフォルトの名無しさん
2006/11/17(金) 00:17:45勉強しなかった場合と比較できないので科学的実験結果としては有意でないと考えられる。
0113デフォルトの名無しさん
2006/11/17(金) 12:57:59存在するかを調べる関数がありましたら教えてください。
CreateFileとかで失敗したらとかでもできると思いますが、
正規のがありましたら教えてください。
0114デフォルトの名無しさん
2006/11/17(金) 13:25:32FindFirstFile
好きな方でどうぞ
0115デフォルトの名無しさん
2006/11/17(金) 15:00:480117デフォルトの名無しさん
2006/11/17(金) 16:39:280118デフォルトの名無しさん
2006/11/17(金) 16:42:270119デフォルトの名無しさん
2006/11/17(金) 16:48:43本当にありがとうございました。
0120デフォルトの名無しさん
2006/11/17(金) 18:50:32PathFileExists というズバリな関数がある
0121デフォルトの名無しさん
2006/11/17(金) 19:21:57知らなんだー
GetFileAttributes使ってた。
0122デフォルトの名無しさん
2006/11/17(金) 23:41:070123デフォルトの名無しさん
2006/11/17(金) 23:45:500124デフォルトの名無しさん
2006/11/18(土) 00:33:170125デフォルトの名無しさん
2006/11/18(土) 01:36:31wsnprintfとかワイルドカードでのマッチングもたしかあの中だったよね?
0126デフォルトの名無しさん
2006/11/18(土) 01:40:28やったことないけどさ
なぜかPath〜系は未だにMSDNが日本語じゃないんだよな
8月版になったからといって更新されるわけもなし
0127デフォルトの名無しさん
2006/11/18(土) 01:49:24ググったのですがいまい解決できそうなページがありませんでした。
作っているのはアナログ時計です。
開発環境はVC++6.0 Proです。SDKで作っています。
丸いリージョンで表示した時計のウィンドウがあります。
ウィンドウのクライアント領域はマウスでドラッグして移動できるように
細工をしております。
アナログ時計のウィンドウをデスクトップ領域の上端より超えて移動すると
ウィンドウのキャプションが隠れるあたりでマウスのボタンを離すと
自動的にキャップションが少しだけ見える位置に移動してしまいます。
ウィンドウのクライアント領域でのマウスの移動が出来るのでできれば
デスクトップの上端から上へキャプションが隠れてもそのままウィンドウが
移動できるようにはできないでしょうか。
よろしくお願いします。
0128デフォルトの名無しさん
2006/11/18(土) 02:29:18よく分からんけど足りなさそうな情報を質問。
細工ってヒットテストにキャプションって返すやつ?
0129127
2006/11/18(土) 02:46:30それによりウィンドウのクライアント領域をドラッグしてウィンドウを移動できます。
例えると以上の設定をして、普通のウィンドウのクライアント領域をドラッグして、
ウィンドウのキャプションをデスクトップの上端より隠れるように
ウィンドウを移動させると自動的にウィンドウがキャプションを少しだけ表示した状態に
なってしまうのです。それを移動してキャプションが隠れるようにしたいのです。
0130デフォルトの名無しさん
2006/11/18(土) 07:25:34チェックボックスを置いています。
表示すると、グループボックスのほうが上に来てしまうんですが、
どうすればチェックボックスを上に持ってこれますか?
たぶんZオーダーの問題だと思うんですが、以下のようにしても
うまくいきませんでした。
SetWindowPos(groupbox, checkbox, 0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
0131デフォルトの名無しさん
2006/11/18(土) 08:01:480132130
2006/11/18(土) 10:06:290133デフォルトの名無しさん
2006/11/18(土) 13:39:41『CreateSolidBrushで得たHBRUSH型変数は、不要になればDeleteObjectで破棄してください』
と書いてあるんですが、その本のサンプルプログラムでは破棄していないみたいなんです。
プログラムが終了すれば自動的に破棄されると考えれば、そのサンプルプログラムが破棄しないのも納得がいくのですが、
自動で破棄されるんでしょうか。
0134デフォルトの名無しさん
2006/11/18(土) 13:46:46他プロセスと共有している場合は参照カウンタが1減り、0になったらOSにより解放される
現存するメジャーなOSのほとんどはこうなってるよ
0135デフォルトの名無しさん
2006/11/18(土) 14:11:19プロセスが走ってる間にいくつも作っては捨てをする場合は要らなくなったらDeleteObjectした方がいいね
1個2個作ってそのままくらいなら、プロセス終了時のリソース解放に任せてもいい
0136デフォルトの名無しさん
2006/11/18(土) 14:49:31ありがとうございました
0137デフォルトの名無しさん
2006/11/18(土) 14:53:20CreateFontIndirectの逆のことしたいんですけれども
0138デフォルトの名無しさん
2006/11/18(土) 15:01:090139デフォルトの名無しさん
2006/11/18(土) 15:04:48ありがとう
0140デフォルトの名無しさん
2006/11/18(土) 15:25:04いちおう念を押しておくとWM_PAINTは再描画のたびに呼ばれるからな
0141デフォルトの名無しさん
2006/11/18(土) 23:10:31したいのですが、どうしたら良いのでしょうか・・・
ツールウィンドウ を使うしか無いのでしょうか><
教えて下さいエロい人
不可視のオーナーウィンドウ
0143デフォルトの名無しさん
2006/11/18(土) 23:24:280144デフォルトの名無しさん
2006/11/18(土) 23:27:26解決出来ました。
0145デフォルトの名無しさん
2006/11/19(日) 02:24:000146デフォルトの名無しさん
2006/11/19(日) 02:44:04(同じボリュームでなければ当然同一パスでもない)
GetFileInformationByHandleでファイルIDを比較する。
0147デフォルトの名無しさん
2006/11/19(日) 06:06:44PathSearchAndQualifyとかPathCanonicalizeが使えないかな?
0148デフォルトの名無しさん
2006/11/19(日) 07:32:00ISUファイルの作り方ってどこかに載っていませんか?
0149デフォルトの名無しさん
2006/11/19(日) 07:33:15質問がここで良いかどうか分からないという意味です。
0151デフォルトの名無しさん
2006/11/19(日) 09:36:23一般的にアンインストール情報ファイルに付加される拡張子、らしいね。
インストーラ作ってるメーカに問い合わせてみれば?
0152デフォルトの名無しさん
2006/11/19(日) 10:16:150153デフォルトの名無しさん
2006/11/19(日) 11:08:39BATファイルは自分自身を削除できますが、コマンドプロンプトが表示されてしまいます。
0154Kioo
2006/11/19(日) 11:22:32どうすればいいのでしょうか
0155デフォルトの名無しさん
2006/11/19(日) 11:25:37言語は?
■ このスレッドは過去ログ倉庫に格納されています