1 名前:デフォルトの名無しさん mailto:age [2007/09/08(土) 21:41:22 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
331 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:39:11 ] Visual Basic 6.0ってありましたよね? あの言語でIsNumericって関数があったんですけど、 あれをVC++側で実装する場合、 OLE関連の関数群に存在するのでしょうか? もし、存在するなら、その名称を教えていただきたいです。
332 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:44:40 ] >>331 市ね
333 名前:182 mailto:sage [2007/09/19(水) 18:06:08 ] >>318 VerLanguageName() で自己解決しました。 LangID は LocaleID の下位4バイトでした。 帰ります。
334 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:19:25 ] >>331 VariantChangeTypeで数値関連の種類に変換できるか試せば、 同じような動作になると思う。
335 名前:デフォルトの名無しさん [2007/09/19(水) 21:14:29 ] Win98からVistaまで動作するプログラムを作ろうと思ってます。 Vistaのフォルダ書き込み権限を取得するために、ConvertStringSidToSidを 使っているんですが、Win98でこのプログラムを動作させようとすると ConvertStringSidToSidがないとエラーになってしまいます。 ConvertStringSidToSidを使いつつ、両方のOSで動作するようにするためには どうすればいいんでしょうか?
336 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:16:52 ] >>335 LoadLibrary, GetProcAddress
337 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:17:21 ] むり
338 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:20:28 ] >>336 ありがとうございます。 試してみます。
339 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 23:23:04 ] > Win98からVistaまで動作するプログラムを作ろうと思ってます ムダな努力だと思うがどうよ? 依頼主からの指示?
340 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 23:51:17 ] 98-Me 2000-XP Vista と3種類のリリースに分けて作る方が得
341 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 01:02:59 ] 最初にOSのバージョン調べて、それを元に挙動変えるのはだめなん?
342 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 01:10:52 ] 98でSIDとかあったっけ
343 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 01:18:23 ] > Win98からVistaまで動作するプログラムを作ろうと思ってます Win16で作れば、Win3.1から動くのが作れます。 冗談はともかく、Win98,Me対応は面倒な筈です。 OSのバージョン依存部分に1枚皮を被せて、呼び分ける必要があります。 OS依存部分を別DLLにして、LoadLibraryするとか。
344 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 02:03:21 ] >>343 > Win16で作れば、Win3.1から動くのが作れます。 残念ながら64bit版Windowsで動きません。
345 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 03:09:00 ] .Netでつくる
346 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 03:51:25 ] Win95って.netインストールできないんじゃなかった?
347 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 03:53:24 ] >>343 はWin98からと言ってるから問題ない
348 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 04:19:38 ] まだ98つかってる香具師いるのか
349 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 05:48:08 ] 買い換えるまでWin98という奴はいるだろ
350 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 06:40:37 ] オレは win98 + winXP。去年から win98 -> vista と思っているが、評判が よくないので、ママ。win98 機は gateway なんだが、keyboard に慣れていて ホレ今も、それと coding にも使っている。hardoff で見つけた 6GB HDD で 動かしていて、元の HDD は後生大事にとってある。時々換装しないといけない が、今年はやってない。フラットケーブルが煎餅みたいに割れそう。
351 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 06:44:20 ] Win98をWebに繋ぐなんて最早犯罪だろ。
352 名前:デフォルトの名無しさん [2007/09/20(木) 07:09:11 ] ダブルバッファリングのコードを書いたつもりでしたが、上手くいきません。 InvalidateRect()関数によってWM_Paintが要請されるまで、描画が行われない予定 なのですが、InvalidateRect()を呼び出さずにもWM_Paintが発行されているようで、 TextOutによる文字列が描画されてしまいます。ご教授お願いします。 ttp://sakuratan.ddo.jp/uploader/source/date52297.txt
353 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 07:21:51 ] >>335 もう見てないかもしれんが、俺のプログラムでは同様の事例で リンカーオプション「/DELAYLOAD」を使っている
354 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 07:44:06 ] 見てるよ ずーっと見てる 君を見てる
355 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 07:48:07 ] 質問に答えろぉぉぉおおお!
356 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 07:50:29 ] >>355 m9(^Д^)プギャー アホスギ
357 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 07:52:40 ] >>352 せいぜい、WM_PAINT内でii.hScreenを使っていいかどうかを見る フラグでも用意しておくしかないと思う。
358 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 07:55:20 ] >>352 とりあえず、ダブルバッファがどうとか考える前にメッセージを理解してくれ
359 名前:352 mailto:sage [2007/09/20(木) 08:03:57 ] サンプルがわるかたかな・・・。 hScreenに描画している限り無効領域は発生せず、 WM_Paintは発行されないと思ってたんだけど、その認識が間違ってるのかな。
360 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 08:05:23 ] >>359 fとWindowProcは同じスレッド?
361 名前:352 mailto:sage [2007/09/20(木) 08:07:38 ] >>360 fという関数は、WM_Createで行うとエラーがでる部分を退避させるため だけに暫定処置として作りました。
362 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 08:20:11 ] ああすまん、WM_CREATE内から呼んでいるね。 ってそれだとWM_CREATE内から呼んでいることに変わりはないだろ。
363 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 08:26:04 ] どう見てもAPI以前のレベルです、本当にありがとうございました。
364 名前:352 mailto:sage [2007/09/20(木) 08:31:52 ] 一応、猫でもわかるのサンプルみて作ったつもりなんだけど、 なんで描画されるんだろ。
365 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 08:40:02 ] >>359 ウィンドウ作った時点じゃ、最初から無効領域
366 名前:352 mailto:sage [2007/09/20(木) 09:32:48 ] >>365 なるほど!動作確認の仕方が間違っていたのですね。 おかげさまで問題を解決することができそうです。 ありがとうございました。
367 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 09:34:31 ] 重なっている上のウィンドウが移動したり、新しくウィンドウが作られたり、 そのウィンドウがリサイズしたりして、新たに描画しなければならないところが無効領域。 InvaridateRectは、そういった条件にかかわらず無効領域にするAPIだから。
368 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:21:27 ] >366 この手のタイプは、「できませんでした。教えてください。」ってまた来るんだよな・・・orz
369 名前:デフォルトの名無しさん [2007/09/20(木) 13:29:37 ] 教えて頂きたいのですが、MDIにおいて、 親ウインドウと子ウィンドウの透過率を変えることは可能でしょうか? 親ウィンドウに色のついた透明な子ウィンドウを重ねたいのです。 (一旦メモリデバイスにコピーした後、AlphaBlend()により色を付ける方法は 成功しました。) SetWindowLong(),UpdateLayeredWindow()などが関連してくると思うのですが。
370 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 13:40:03 ] 子ウィンドウをレイヤードウィンドウすることはできない
371 名前:デフォルトの名無しさん [2007/09/20(木) 13:49:17 ] >370 やはり、そうでしたか。WS_CHILDとWS_EX_LAYEREDのスタイルを合わせると ウィンドウが作れないんですよね。 ここから推測するに、親ウィンドウ(透過率255)、 子ウィンドウ(透過率127)のようなことも出来ないとなりますね。 現在のAlphaBlend()とUpdateLayeredWindow()を上手く使ってって方法を 取っていきます。
372 名前:デフォルトの名無しさん [2007/09/20(木) 20:46:07 ] GetKeyboardStateで、現在のキーボードの状態を取得しているのですが、 アプリのウィンドウがアクティブでないときにGetKeyboardStateすると、 上手く情報を取得してくれません・・・、解決するにはどうすればよいでしょうか? ウィンドウをアクティブにしたフリをして、GetKeyboardStateを動かすこととか出来ないですかね? キー入力はフックしていて、キーボードでキーが入力されると、 アプリのウィンドウがアクティブでないときでも、 イベントが呼ばれてGetKeyboardStateが走る仕組みです。 動作・開発環境は以下の通りです。 OS : WindowsXP SP2 .net framework 1.1 言語 : C# 宜しくお願い致します。
373 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 20:49:24 ] >GetKeyboardStateで、現在のキーボードの状態を取得しているのですが、 ドキュメントにちゃんと書かれているとおり、 GetKeyboardState は現在のキーボードの状態を取得するAPIではありませんので、 別のやり方、たとえば GetAyuncKeyboardState を使うなどに変えた方が良いでしょう。
374 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 20:50:17 ] >>373 GetAsyncKeyboardState
375 名前:デフォルトの名無しさん [2007/09/20(木) 21:05:51 ] >>373-374 GetAsyncKeyStateですよね? 試してみます。ありがとうございました!
376 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 21:30:16 ] 335です。 >>353 さんの方法で出来ました。 ありがとうございました。
377 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 22:00:05 ] WinSock関連での質問です。 TCPによる接続でconnection関数を利用していますが、 対象のホストを見つけられない場合は、 一定時間処理が停止しています。 これの対処法を、皆さんはしていますか? スレッド側に投げて対処? それとも、connectionよりいい関数があるんでしょうか?
378 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 22:28:19 ] 非ブロックソケット
379 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 23:29:06 ] >>377 スレッド 非ブロック 非同期
380 名前:377 mailto:sage [2007/09/21(金) 00:04:40 ] >>378-379 スレッド案で非同期化を試みます。 ありがとうございました!
381 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 00:14:20 ] SHBrowseForFolder() で質問です。 BROWSEINFO.hwndOwner に設定したウィンドウに対してモーダルで ダイアログが開きますが、他にモードレスのウィンドウがあるとき、 それらは無効にならずにフォーカスを奪えてしまいます。 全ウィンドウに対してモーダルで開いて欲しいのです。 しょうがないので SHBrowseForFolder() の前後に 「hwndOwner と同じプロセスの全有効ウィンドウを無効/有効にする」 というのを入れたら希望する動作になったんですが、 なにかオフィシャルな手段は提供されてないんでしょうか。
382 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 00:38:48 ] その、他のウィンドウの構成が間違っている
383 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 03:11:36 ] >>369-371 MSの公式サイトにはUpdateLayeredWindow()の方を使えって書いてある
384 名前:デフォルトの名無しさん [2007/09/21(金) 03:15:26 ] ごめん逆だった SetLayeredWindowAttributesを使えって書いてある msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnwui/htm/layer.asp
385 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 04:19:28 ] >>384 どこに?
386 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 11:20:33 ] lstrlenWなどの文字列の長さを返すAPIの説明に、 「文字単位の長さ」とありますが、 サロゲートペア文字は2文字と数えるのでしょうか? それとも1文字? もし1文字で数えられてたら、自分のプログラムが大変なことになります・・・・
387 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 11:26:10 ] >>386 MSDNに書いてあるよ。 > The return value specifies the length of the string, in TCHAR > values. This refers to bytes for ANSI versions of the function > or WCHAR values for Unicode versions.
388 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 11:27:30 ] サロゲートペアのことは書いてないようだけど
389 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 11:28:24 ] >>388 「WCHARの長さ」って書いてあるやん
390 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 12:54:30 ] 早く全面的にUTF32に汁
391 名前:デフォルトの名無しさん [2007/09/21(金) 13:39:30 ] キーボードで入力されたキーコードとシフト状態を元に、文字を作成する関数って ToAscii ToAsciiEx ToUnicode ToUnicodeEx 上記以外に無いのでしょうか?あれば教えていただきたいです。 宜しくお願い致します。
392 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 13:58:43 ] >>381 ShowOwnedPopupsは ? (試してないけど) 386関連。EM_LIMITTEXT/EM_SETLIMITTEXTはどーなってますか
393 名前:392 mailto:sage [2007/09/21(金) 15:46:57 ] ShowOwnedPopupsは忘れてください
394 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:08:10 ] DLLを自分で作って使ってみたいと思い挑戦しているのですが どーしてもわからないっす。 VC2005Expressを使用してDll projectでDllをビルド LoadLibraryで読み込む←成功 先にtypedef int (*DLLFUNC)(int, int) ;と宣言しておき DLLFUNC Add ; Add = (DLLFUNC)GetProcAddress(hDll, "Add") ; ↑でNULLが帰ってきて「指定されたプロシージャが見つかりません」って出てます。 DLLのソースは #include <windows.h> int WINAPI DllMain(HINSTANCE hInstance , DWORD fdwReason , PVOID pvReserved) { return TRUE; } __declspec (dllexport) int Add(int nValue1 , int nValue2) { return (nValue1 + nValue2) ; } です。よろしくお願いします。
395 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:10:07 ] def作ったほうが確実
396 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:12:22 ] そのソースのファイル名は .c か .cpp か。
397 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:16:31 ] >>395 defを使う方法はまだやった事無いです。今から勉強します。 >>396 .cppです。
398 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:19:45 ] >>397 では、.c にリネームして試してみるべし。
399 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:22:01 ] extern "C"をつけて名前マングルをやめて、かつdefでエクスポートすればいける
400 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:33:35 ] 誰だマングリなんて作ったの 意味ねーだろ
401 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:43:01 ] .cにリネームしたらいけました! さらに.cppに戻した後 >>399 に書かれていたextern "C"の方法でも 出来ました!有難うございます。
402 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 17:48:39 ] >>400 多重定義とかメンバ関数とか名前空間とか同名の区別に必要。 型安全なリンクにも繋がる。
403 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 21:18:10 ] >400 んじゃオーバーロードとか使うなよ
404 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 21:33:43 ] せめて同一プラットフォームではマングリングは統一して欲しいところ BCCとVC++でオブジェクトリンクできないとかもうね
405 名前:381 mailto:sage [2007/09/22(土) 01:54:58 ] >>382 今はテストプログラムで遊んでいるところなので、たしかにこういう 状況はレアケースだと思います。 たとえば「モーダルダイアログ→その上に[参照...]ボタン」だったら 全然問題ないです。 何を隠そうVB6で書いてるんですが、もしかしてVB特有の現象でしょうか。 C&SDKもMFCも分からないヘタレなもので、 .NETでFolderBrowserDialogクラスで試してみたら、ちゃんと全ウィンドウに 対してモーダルでした。 .NETでSHBrowseForFolder() をP/Invoke するのをこれから試します。 >>392 その関数はちょっと目的とは違う気がします。(試してないけど)
406 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 02:03:47 ] その前にspyしてWindow構成見たほうが早くね
407 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 02:09:08 ] micsoroftがツール提供してるってことは、 spyは合法ってことでおk?
408 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 02:20:53 ] 何言ってんだおめぇ
409 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 03:48:12 ] >>404 COM
410 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 03:55:58 ] 1PはPLAYERだろーが
411 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 04:03:12 ] ごめん 全然うまくないから
412 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 04:08:01 ] >>411 相手にならん もっと練習してから来い下手糞
413 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 05:28:35 ] ちょっとフォルダ内のファイル一覧を作る処理を書こうとしてるんですが FindFirstFile〜FindNextFile...は遅い!と思いしばらく実験... ひょっとしてコマンドプロンプトでdir〜するより遅いんじゃないか?・・・と調べたらさすがにdirよりは早いようだったorz しかしもっと早くしたいのです、FindFirstFile系より早い関数知ってる人いますか?
414 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 06:00:23 ] IShellFolderのEnumObjectsはもっと遅い
415 名前:デフォルトの名無しさん [2007/09/22(土) 06:18:51 ] こんなスレで質問していないで、早く試行錯誤でバグ回避策を見つける仕事に戻るんだ! 何?やる気がありません?なら辞めろや、他の派遣雇うからw
416 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 06:21:40 ] IShellFolderですか、COMってやつですか? 初めて見るのでよく分からんですが、こいつはこいつで奥が深そうですね
417 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:13:35 ] >>413 遅いって何ファイルで何秒くらい?
418 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:14:45 ] 自分で作ればいいのに 能なしは大人しく既存の関数使っとけ
419 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:35:59 ] >>417 5万で一秒くらいです、ちっとも遅くない・・・ですか?
420 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:39:12 ] そんなに速くしたいならWindowsの外でやれ
421 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:39:46 ] 1msで50ファイル。どこが不満なんだ‥‥
422 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:42:25 ] 実際計って以外に早いなと・・・ 他の部分が重いのでしょうね、スレ汚し申し訳なかったです
423 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:45:46 ] windowsプログラムのお話 VC++2005EEのスケルトンプログラムのソースが何をやっているのか教えてぽ・・・。
424 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:46:04 ] キャッシュが効いてただけと予想
425 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 07:48:20 ] 一覧の表示をListViewとかでやってるなら検索中は更新止めるとかしないと笑える程遅くなるぞ。
426 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:04:49 ] キャッシュはメモリのコンパクションツール(っていうのかな?)を使えば消えますよね? その状態だと5万ファイルで一分ぐらい、次回実行以降高速化してます・・・ ListViewとかじゃなくvector<string>に入れて後でファイルに保存してます、時間計測は純粋にファイルリスト取得部分のみです 再起動とかしてちゃんと計測し直した方がいいですかねぇ?
427 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:09:58 ] うるせーバーカ死ね
428 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:11:21 ] >>426 HD直接触ってみるとか
429 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:25:20 ] キャッシュですねぇ、>>424 さんの指摘どおりのようです 再起動して実行すると初回が91秒、10回実行して平均とか出してたんですが2回目以降は750msぐらいで安定してます HDD直に触るのは魅力的ですよね、一度はやりたいです しかしこれ、それでも使えないほど遅いかと言われればそんなこともない速度でしょうか どうも昔触って以来FindFirstFile系は遅いと思い込んじゃってたんですかねぇ
430 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:27:18 ] くそう
431 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:33:48 ] >>423 の言ってるのが「空のプロジェクト」をチェックしないで普通に作った奴なら 単にウィンドウ出してメニューつけて、だけをやってるんだと思う なんかReadMe.txtってのもプロジェクトに参加してるみたいだし一度目を通されてはどうでしょう 間違ってたらスマソ
432 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:36:17 ] >>429 APIの呼び先で予想外のコードが動いている可能性もあるから確認してみるといいよ。 アンチウィルスソフトはよくやってる。 とりあえずカーネルデバッグしてみ。
433 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 08:48:42 ] カーネルデバッグと、初めて聞いたもので調べておりますが カーネルデバッガというものを使うようですね、おすすめなんてありますか?
434 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:15:36 ] とりあえず無難にWinDbgを使って見るのがいいんじゃない? 無料でダウンロードできるよ。 www.microsoft.com/japan/whdc/DevTools/Debugging/default.mspx WinDbgの文法覚えとけばCUIのデバッカへの移行もしやすいから出先でデバックする機会とかあるなら役立つかもね。 あと、カーネルデバッグするしないにかかわらずシンボルをインストールすることを忘れずに。 たとえば、Visual Studioでデバッグする場合不明なシンボルがあるとコールスタック表示するのをそこであきらめるし、 シンボル名が表示されてりゃブレークポイント貼るとき楽だしね。
435 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:30:31 ] >>434 さん、折角教えて頂いたばかりですが現在の私の能力ではここまでのようです・・・ かなり便利そうには見えるのですが習得には少しかかりそうです・・・ いろいろとご指摘くださった皆さんありがとうございました、 今回はFindFirstFile〜でとりあえず作り、後は次回の課題とさせていただきます。
436 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:32:40 ] >>431 やさしい人ありがとう>< みんなプログラム作る時は空のプロジェクトでやるのかな・・・?
437 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 09:34:17 ] ああ
438 名前:デフォルトの名無しさん [2007/09/22(土) 09:48:51 ] 坊主。男は黙って空のプロジェクトで作るもんだぜ?( ゚Д゚)y─┛~~
439 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 14:21:56 ] 質問させてください。 BitBltで描写している800*600のビットマップ画像を毎秒20ピクセルぐらい で高速横移動させようとすると、描写がおっつかないのか移動中画像がぶれる のです。(上から下に走査線の波がはしるように画像がゆがみます) ひょっとしてWINAPIではそこまでの描写はできないのでしょうか? DirectXを使えということなのでしょうか。
440 名前:439 mailto:sage [2007/09/22(土) 14:24:04 ] ↑すみません、移動値が間違っていました。 一回10ピクセルの移動を、毎秒20回ほどです。
441 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 14:25:19 ] ププ
442 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 14:29:24 ] >>439 DirectXには垂直同期を待つ機能がある GDIだけではできない
443 名前:439 mailto:sage [2007/09/22(土) 14:41:27 ] >>442 ご回答ありがとうございます。 今まさにGDIに垂直同期させる方法がないか考えているところ でしたが、できないのですね。。。 DirectXを勉強することにします。 ヒント、感謝します。
444 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:46:25 ] "C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*.*" これがOKなのが許せない
445 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:51:28 ] /////////////////////////////////////home/unko www.2ch.net/////////////////////////////////////////////////// 普通だろ
446 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:53:02 ] VC++2005EEで途中まで文字入力したときのポップアップヘルプが 出なくなっちゃたよぅ・・・><
447 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:57:37 ] EEなんて使ってるからだ 大人しくプログラミング引退しなさい
448 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:03:58 ] そんなぁ・・・><
449 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:06:19 ] と、思ったら僕の勘違いでした・・・ ごめんなさい
450 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:21:41 ] >>444 パス名の先頭に\\?\(Cなら\\\\?\\)でもつければ?
451 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:14:40 ] >>446 あのピョコってでるのは確かインテリセンスって言うはずだ プロジェクトのフォルダ内に.ncbって拡張子のファイルがあると思う、表示される情報はこれに保存されてるらしい で、情報の更新に若干タイムラグが出る事があってポップアップが出ない事がある、これは数秒待てば出るようになるよ 前の行にビルドエラーになる箇所があるとそれ以降インテリセンスも更新されてなかったりするのでこまめにビルドするといいかも
452 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:30:29 ] じゃあ、コンパイル成功してもIntelliSense動いてくれないのはなぜなんだぜ? 特にBoostとか使ってるとき、特定の行以降/ブロック内で起こる。
453 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:53:56 ] それはC++がキモすぎるかr
454 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 22:27:03 ] いやキモいのはbo