1 名前:デフォルトの名無しさん [2007/05/11(金) 20:27:08 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
610 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 00:27:56 ] >>608 どうみてもAPIまわりは日本語化されてない予感
611 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 01:00:04 ] サンプルプログラムのバグを報告してもなかなか修正されねぇよーって中の人が言ってたから、 日本語版では修正されてっかもね。
612 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 01:00:49 ] 今まさに英語版入れた所なんだよな……。 .NET まわりのドキュメントの日本語化は欲しいところだが API まわりは英語で構わんし。 異言語版SDK の共存って可能なんすか?
613 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 06:05:41 ] >日本語版 Windows SDK をインストールする前に、英語版 Windows SDK をアンインストールしておく必要があります。 って書いてるよ
614 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 06:49:53 ] >>610 統合前のPlatform SDKも英語版しかなかったからねえ
615 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 07:26:12 ] >>613 あら。すんません読んでませんでした。 ならまあいいか別に英語版で
616 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 09:35:37 ] ドキュメントの一部が日本語なだけじゃないのか 昨日ダウンロード始めたまま寝てしまったが、、、 今夜入れてみるか、、、MSDN待てばいいだけだが。
617 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:25:42 ] Ctrl+Alt+Delを禁止するのに今までGINAを使ってたんだけど、Vistaになってどうしたらいいやら・・・ Credential Providerにも同じような機能は用意されてるんだろうか? メソッド一覧を見た感じでは無さそう・・・
618 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 16:51:15 ] >>609 >同じバージョンの日本語版っていうのであれば使おうと思うけどね。 同じバージョンの日本語版なわけだけど、ホントに使おうと思う?
619 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 17:43:19 ] HTTPS通信にて証明書のエラーの時にダイアログを出したいのですが、証明書のエラーを取得できません。 (1)InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC) or InternetOpen(NULL, INTERNET_OPEN_TYPE_PROXY, proxy, NULL, INTERNET_FLAG_ASYNC); (2)InternetConnect( Open, server, port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, this ) (3)HttpOpenRequest( Connect, Method, Object, HTTP_VER, NULL, NULL, INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_SECURE, this ) (4)HttpSendRequest( OpenReq, Header, Header.GetLength(), str, str.GetLength()); (5)HttpQueryInfo( OpenReq, HTTP_QUERY_STATUS_CODE , Code, &Len, 0 ); (1)〜(5)は全てTRUE, (5)にてCodeが0となってしまいます //その後InternetSetOption()でSECURITY_FLAGを設定し再度HttpSendRequest()するとCodeは200が来ます。 //SECURITY_FLAGを設定せずにHttpSendRequest()するとCodeは再度0が来ます。 support.microsoft.com/kb/182888/ja を見ると、 HttpSendRequest()の結果がFALSEになりERROR_INTERNET_INVALID_CAなどを取得できるとあるのですが・・・ どこが悪いのかお気づきの方お教え下さい。
620 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 18:31:06 ] >>619 >(2)InternetConnect( Open, server, port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, this ) Portはなぬ?
621 名前:619 mailto:sage [2007/06/01(金) 18:41:32 ] >>620 可変ですが現在は0x1bb(443)でやっております。 よろしくお願い致します。
622 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 18:55:46 ] >>621 開発環境と、想定IEはなぬ?
623 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 19:31:54 ] INTERNET_FLAG_RELOAD | INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_UI | INTERNET_FLAG_KEEP_CONNECTION
624 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 22:48:55 ] >>618 注意 : 本リリースは、最初に公開された Windows Vista および .Net Framework 3.0対応の英語版 Windows SDK リリースを ベースに開発されています。 また、その後リリースされた英語版Windows SDK Update for Vista には対応していませんが、 アップデートの主要内容である Visual Studio 2005 Service Pack 1 で提供されたVista の新しいセキュリティ機能 「Address Space Layout Randomization(ASLR)」に対応したコンパイラが含まれています。 って書いてあるな。SDKと完全に同じものではないみたいよ。
625 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 22:49:41 ] 関連無いけどこっちもwininetの質問 httpQueryInfoを同じアプリケーション内で繰り返し呼ぶと、 abnormal tarminationとかいうエラーがでるようなのですが 原因となりえるものってどんなことがあるでしょうか? 補足: いつもエラーするわけではなく、一日そのアプリを起動しっぱなしにしてると発生します。 HTTP_QUERY_DATE|HTTP_QUERY_FLAG_SYSTEMTIMEをフラグにして、 SYSTEMTIME変数のポインタを渡してます。
626 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 23:47:24 ] >>625 エスパーな俺が一言。 wininet系関数は直接の要因じゃない。 配列やアロケート、Open/Closeを良く調べてみ? あと、HDDキツキツじゃね?
627 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:21:32 ] そうさ! 俺がルールだ!!
628 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:54:04 ] ソーサ ヨミウリ
629 名前:デフォルトの名無しさん [2007/06/02(土) 14:57:01 ] SetParentで親ウインドを設定した場合、親ウインドと子ウインドのUIステータスを同期させろ ってMSDNのSetParentの説明に書いてあるんですけど、 UIステータスってなんですか? 具体的にどういう処理をすればいいのですか?
630 名前:625 mailto:sage [2007/06/02(土) 15:08:12 ] どうやらサーバーが重くてヘッダーが 取得できてないようです。 httpSendRequestは成功してるんだけどなぁ。
631 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 15:17:32 ] >>629 ttp://msdn2.microsoft.com/en-us/library/ms646335.aspx#_win32_UI_State
632 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 15:41:07 ] >>630 乱発(?)した後、ハンドルやアロケートは的確に開放されてる? 特に、失敗パターンは見落としやすいからね。
633 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:13:09 ] OSが動作している環境がマルチコアかどうか判定する方法を教えてください
634 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:29:37 ] デュアルやクアッドCPUじゃなくてマルチコアなのか
635 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:31:46 ] カーネルに聞け
636 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:36:52 ] WMIでWin32_Processorあたりかな? HT対応のCPUに関してはGetEnumerator()で例外が発生するかもね。 searcher.Get()の結果がヌルポかどうかで判定しないといけないかもよ。
637 名前:636 mailto:sage [2007/06/02(土) 18:37:41 ] msdn2.microsoft.com/en-us/library/aa394373.aspx Win32_Processorクラス
638 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:37:43 ] kernel32.dll に聞くAPIはほとんどすべて、結果的にカーネルに聞いているのではないの?
639 名前:636 mailto:sage [2007/06/02(土) 18:40:57 ] msdn2.microsoft.com/en-us/library/Aa394102.aspx Win32_ComputerSystemクラスも見るべきか?
640 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:46:58 ] >>634 デュアルもクアッドもマルチコアではないのですか? >>636 うう、WMIですか。 Win32API SDKでは取得できないのかな。 ありがとうざいます。
641 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:50:05 ] COMベースってキモイよね 複雑性上げて何したいのかワカラン
642 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:52:55 ] >>640 そういう場合は普通マルチプロセッサって言わないか? マルチコアだと「1つのパッケージに複数のCPU」という意味に使われると思うけど。
643 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:53:07 ] >>640 デュアルコアとデュアルCPUは違うぞ?
644 名前:636 mailto:sage [2007/06/02(土) 18:54:09 ] >>641 C側からは、儀式的に感じるよね。 憂鬱なカンヂや
645 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 18:58:28 ] GetSystemInfoでプロセッサ数は得られるが 物理的なプロセッサ数なのか論理的なプロセッサ数なのかは知らん。
646 名前:636 mailto:sage [2007/06/02(土) 19:11:08 ] 最近はGetLogicalProcessorInformationって関数もあるのね
647 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:25:28 ] 便乗で質問です 複数プロセッサに割り当てられてる各プロセッサ毎の スレッドIDを知りたいのですが、できるでしょうか?
648 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:33:38 ] 今その瞬間に、実際に動いているところの、 他のプロセッサで走っているスレッドIDを知りたいの?
649 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:33:47 ] GetThreadAffinityMaskでできるみたいですにゃ
650 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:38:23 ] >>649 すげえ 初めて叱咤 あんた最強ですぅ Set〜から辿らないとぐぐってもmsdnに引っかからないね
651 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:46:56 ] え、GetThreadAffinityMaskってなくない? kernel32.dll直接見てもなかったよ
652 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 19:51:37 ] 嘘ついたにゃ SetThreadIdealProcessorを1回空呼びして プロセッサが指定されてるか調べればいいにゃ
653 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 20:01:07 ] てめえ! 嘘つきやがって、悪い子だな! つーか優先プロセッサが判るだけで ほんとにそのプロセサで動いてる証拠なんてねーんじゃねえかぁ?
654 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 03:07:37 ] 共有フォルダへのアクセスの認証をプログラムで制御したいのですが、 使用するAPI関数を教えてもらえないでしょうか。 net useコマンドのようなことがしたいです。 ドメイン名とユーザとパスワードを指定して、共有フォルダにアクセス できるようにしたいです。
655 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 04:07:11 ] >>654 です。事故解決しました。 WNetAddConnection3を試してみます。
656 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 08:34:11 ] >>654-655 夜は寝ようよw
657 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 11:53:54 ] [SECTION] IDENT=VALUE IDENT2=VALUE2 というINIファイルで、IDENT=VALUEの行だけを消滅せしめる関数ってないですか?
658 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 12:10:26 ] txtで読んで消す
659 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 12:12:20 ] >>657 WritePrivateProfileString() lpStringにNULLを渡す
660 名前:647 mailto:sage [2007/06/03(日) 13:21:26 ] 自己解決しました。
661 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 14:09:42 ] OutputDebugStringの出力を受け取って表示するツールを探しています。 コマンドライン型のものでできればpidかプロセス名でフィルタをかけられるものはないでしょうか。
662 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 14:15:40 ] そのぐらい自分で作れよ。
663 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 17:33:21 ] DBGMONってのがあるけど ノートンか何かの影響か何も表示できないw 確実にOutputDebugStringが追えるのはMSDNのlodprof32だけ。
664 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:27:33 ] >>661 基本ツールだろ ttp://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx
665 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 18:34:24 ] それGUIやんけ
666 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 22:00:04 ] シェアウェアで何かあった気がするな。
667 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 23:14:57 ] サンプルソースにあるんだから、好みで作ればいい
668 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 00:45:57 ] ちょっとどのスレに書いて良いのか謎だったので、不適切なら誘導お願いします。 WIN32APIの学習をしているのですが、TextOutに放り込む文字数の取得方法関連でMSDN見たら、lstrlenはStringCchLengthに変えた方が良いよ、というので strsafe.hをincludeして書き換えてみたのですが、そのstrsafe.hが原因でwarning C4996を吐きます。 このwarningを消す方法として、無視するか_CRT_SECURE_NO_DEPRECATEする他に何か無いでしょうか。 #普通にlstrlen使うのが一番"まとも"な気もしますが、一応学習ということで…… 環境はVC++EE2005です。 ちなみに数時間格闘してみたところ、どうやらDirectX SDK(Microsoft DirectX SDK (April 2007))のstrsafe.h使ったときにはwarningが発生して、 Platform SDK(Microsoft Platform SDK for Windows Server 2003 SP1)のstrsafeを使ったときには発生しない、とか割とどうでもよさそうなことは分かったのですが……
669 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 00:50:55 ] > このwarningを消す方法として 警告が出てるって事は、lstrlen とか strlen とか古い文字列関数が他に使われてるってことだべ? 全部置き換えれ。
670 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 00:54:52 ] ir9.jp/prog/ayu/strsafe.htm > そんな時は STRSAFE_NO_DEPRECATE を、#include <strsafe.h> の前に定義してあげると、 > 従来の関数も同時に使用できるようになります
671 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 01:59:52 ] >>669 書き方が悪かったですね。warningの詳細も貼り付け忘れていましたし。本当に申し訳ない。 自分の書いているソースには古い文字列関数は一切使われてはいなく(むしろlstrlenすらStringCchLengthに置き換えようとしている) どうやらstrsafe(が参照しているstdio.h)からwarningが出ているみたいなのです。多分それでPlatform側のstrsafeを使うとWarningが出なくなるわけですね。 c:\program files\microsoft directx sdk (april 2007)\include\strsafe.h(5595) : warning C4996: '_vsnprintf': This function or variable may be unsafe. Consider using _vsnprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\program files\microsoft visual studio 8\vc\include\stdio.h(339) : '_vsnprintf' の宣言を確認してください。 SDKのパスはデフォルトです。 行数の違う同じ内容のWarningが全部で4つ出ます。 >>670 えぇっと…… > このwarningを消す方法として、無視するか_CRT_SECURE_NO_DEPRECATEする他に何か無いでしょうか。 ということで申し訳ありません。Warning消しとしては正しい方法なのですが、セキュリティを高めるためにわざわざstrsafeしているのに、逆方向のオプション付け足すのもアレなので……
672 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 03:10:38 ] 何か勘違いしてるんじゃない? そのWarningが、どの関数で出たのか、もう一度よーくチェックしてごらん つーか、ソース貼ればいいのに・・・
673 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 03:52:45 ] >>671 strsafe.h って何者か、ちゃんと分かって使ってる? その前に、警告メッセージちゃんと読んでる?? メッセージの内容そのまま、*_s 系の関数使えばいいだけじゃないの?
674 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 04:21:07 ] sprintf周りが抜けてるんだろうなあ
675 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 08:20:54 ] >>671 それ<strsafe.h>関係ない Visual C++ 2005のCRTのセキュリティ強化 msdn2.microsoft.com/ja-jp/library/8ef0s5kh (VS.80).aspx CRT関数のセキュリティが強化されたバージョン msdn2.microsoft.com/ja-jp/library/wd3wzwts (VS.80).aspx
676 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 10:25:48 ] >>671 Warningに書いてあるやんけ。おまいの目は尻に付いてるのか?
677 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 10:38:22 ] metokoumon
678 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 11:04:05 ] >>676 フォーラムにもそれ風なことがあったお forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1512292&SiteID=7
679 名前:619 mailto:sage [2007/06/04(月) 15:17:29 ] お返事が遅くなりまして申し訳ございません。 今までの環境が使えなくなったので別環境に移ったところ、 (4)でFALSE, その後のGetLastError()でERROR_IO_PENDINGとなりました。 >>622 VisutalStudio2003, IE6.0となります。 >>623 これにしてみましたが変化はありません 以上、恐れ入りますがよろしくお願い致します
680 名前:619 mailto:sage [2007/06/04(月) 15:19:31 ] >今までの環境が使えなくなったので別環境に移ったところ、 >(4)でFALSE, その後のGetLastError()でERROR_IO_PENDINGとなりました。 これは元からのようでした・・・大変失礼いたしました
681 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:16:39 ] >>680 >今までの環境が使えなくなったので別環境に移ったところ、 >(4)でFALSE, その後のGetLastError()でERROR_IO_PENDINGとなりました。 ちなみに、非同期側の処理(スレッド)とか、うまく終了してる? 開放してないフローとか考えられない?
682 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 18:28:52 ] Vistaでログオン直後に画面にかぶさってる「ようこそ」とか「デスクトップの準備をしています...」の画面が 消えるタイミングって何らかの方法で取得できるんでしょうか? スタートアップに登録するアプリのスプラッシュ画面が見事に隠されてしまって何とかしたいんですが・・・
683 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 18:37:34 ] 作者のオナニーなんて見たくないからいらんモノを出すな。
684 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 18:38:23 ] >>682 とうぜんシェル(エクスプローラ、、、タスクバーね)が起動するから それを監視しては?
685 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 18:42:17 ] もちろんそこでスプラッシュを出すにしても、 やるべきことは、それ以前に終わらせておけよ
686 名前:682 mailto:sage [2007/06/04(月) 19:13:32 ] 事故レス。 LogonUI.exeが存在しているかを判定することで一応解決。 正確にはスプラッシュではなく、飾りとかじゃなくて表示が必須というものだった次第。 >>684 基本的にそういうものの起動が裏で行われている状態なのでそっちの監視だと不可。
687 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 19:35:01 ] あほだなあ ウィンドウが可視状態かみてればいいのに
688 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 19:49:30 ] >>687 686じゃないが、あの状態ってウィンドウステーションかデスクトップも別物になってないか? 列挙かけてみたことあるけどどうも検索不可属性が付いてるのが出てこなかったが・・・ ということでWindowFromPointとかIsWindowVisibleからの切り込みはダメっぽいよ
689 名前:688 mailto:sage [2007/06/04(月) 19:51:00 ] ×付いてるのが ○付いてるのか ちなみにOpenInputDesktopでも普通にwinsta0\defaultになってた。
690 名前:668 mailto:sage [2007/06/04(月) 20:52:02 ] わふ。とりあえずソース貼ってなかったのがダメすぎたっぽいので貼ります。すみません。 s-io.net/up/1/_/jump/1180957523712070.8VJMzU pass: API Warningは読んでいますし、提示してくださったリンクは(ありがとうございます)既に全て目を通していましたし、 目も尻にはついていません。 #節穴かもしれませんし、脳みそはスポンジかもしれませんが…… トラブルの内容としては>>678 と一緒だとは思うのですが、最新のDirectXのstrsafeで発生する(PlatformSDKでは発生しない)ことから、 PlatformSDKのバージョンを上げる、というのも解決策にはならないみたいです。 #Warningの詳細やらソースコードやら貼らずに分かりにくい説明していて本当に申し訳ないです。でも、DirectXのstrsafeでコンパイルせずに、warningなんて出ないじゃないかボケ、というのは勘弁してください。
691 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:27:41 ] WebサーバからSSL証明書をダウンロードして検証したいと思います。 (1)WebサーバからSSL証明書をダウンロードする (2)それを検証する といったようなAPIは無いでしょうか?
692 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:28:40 ] ありません
693 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:39:16 ] CryptoAPIがとっても面倒だった記憶があるけど。
694 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:42:09 ] >>690 だから、673,675が書いてくれた事が正解なんだって。 strsafeってのが何の役割を果たすかを理解しる。 どーせ/GS入れてるんだろw。
695 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 00:11:04 ] Visual C++ 2005は、CRT関数のセキュリティ強化版を“<strsafe.h>とは無関係に”用意している。 (これは次期Cへの提案されている事項でもあるが今はどうでもいい) このセキュリティ強化版の関数は、基の関数名に_sを付けた名前になっている。 例: scanf→scanf_s _CRT_SECURE_NO_WARNINGSを定義していない状態で、従来の関数を使うとC4996になる。 (ただし、C4996自体は、<strsafe.h>などこれ以外でも使われている汎用的な警告) <strsafe.h>とCRTセキュリティ強化、はたまたそれ以外の手段の中からどれを使うかはお前が決めること。 利点欠点を好きに考えて選べ。
696 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 01:36:39 ] じゃstd::stringという事で
697 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 01:55:52 ] 速度でないじゃん
698 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 01:57:23 ] 文字列操作はコストが高いんだから、速度が欲しけりゃ自前でやるんだな。
699 名前:668 mailto:sage [2007/06/05(火) 02:06:53 ] うー。了解です。この構成でWarning消すとか、無駄なところに労力注ぐの止めて、別の構成にすることにします。 アドバイスをくれた皆様、どうもありがとうございました。 #学習が第一義なので、とりあえずこれでこの問題はオシマイですけれど…… >>696-697 ……一応std::string版のコードも書いちゃったのですけれどね。
700 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 07:53:33 ] jpegのファイルサイズを先頭500バイトあたりで知ることは できますか?
701 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 07:58:13 ] ファイルサイズなら GetFileSize なりなんなりで。
702 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:00:29 ] 失礼しました。ファイルサイズじゃなくて、ストリームで呼んでいるときの jpegのサイズです。
703 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:03:45 ] JPEG フォーマット siisise.net/jpeg.html
704 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:07:38 ] JPEGフォーマットの詳細を聞いているのではなく、先頭500バイト あたりまでよんで、サイズを確定可能かが知りたいです。
705 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:13:56 ] フォーマットの詳細を見て自分のやりたいことが出来るか判断しろよ。
706 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 08:42:42 ] わからない人、答えたくない人は黙ってくれてればいいです。
707 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 09:36:14 ] 無理だよ
708 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 09:46:48 ] そもそもWinAPIと無関係。
709 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 09:53:54 ] >>704 正直に言えよ、そのリンク先では難しすぎて自分ではわかりませんでした、と
710 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 10:40:45 ] >>704 結論:不可能 理由:可変長レコード(500バイト以上もおk)があるため