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などの質問はそれぞれの言語や開発環境スレで
552 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 22:39:42 ] >>550 普通にWindows.hをインクルードしていれば、BOOLはintにtypedefされる
553 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 22:46:55 ] >>548 SDK,APIの結果を保証するなら、BOOL。 論理で判断するならbool。 という風に使い分ける。 単にintといっても不確定要素をはらんでる。
554 名前:デフォルトの名無しさん [2007/05/29(火) 23:38:13 ] おいら,BOOL のくせに 3 種類 ( >0, ==0, <0 ) の値を返してきて それらをきちんと判別しないといけない API って GetMessage() しか知らないんだけど,他にもあるんだっけ?
555 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 23:53:25 ] だってBOOTはtypedef int BOOL;だし‥‥ bool型とは違うのだよ。
556 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:10:56 ] BOOL/boolはほかが言っているとおりなんで、残りのやつについて俺の場合 CONSTは使わず、常にconst UINTはunsignedより文字数少ないから場合によって使う
557 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:37:32 ] >>555 BOOT? >>552
558 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:40:54 ] >>557 BOOTSを語れゴラァ part2 pc11.2ch.net/test/read.cgi/tech/1139266461/
559 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:44:31 ] >>558 ちっ、先に張られたか。
560 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 02:42:33 ] つーかBOOLもBOOTSもどーでもいいからお前らWin32APIの質問しろよ
561 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 02:49:46 ] >>554 あれヒドいよなw なら戻り値の型 BOOL にすんなと。
562 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 02:50:05 ] >>560 BOOLはWin32APIの話だろうが。
563 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 03:20:10 ] >>562 BOOLはwindef.hで定義されている単なるtypedefであり、APIではありません。
564 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 04:24:21 ] >>563 型もAPIのうちですよ。
565 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 04:31:43 ] Vistaで新規に追加されたAPIのリストとかってどこかにありますか? あれば教えていただきたいです
566 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 05:27:23 ] >>565 msdn2.microsoft.com/en-us/library/aa383687.aspx
567 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 05:53:39 ] >>566 うお、こんな体系化されたページあったのか ありがとうございます
568 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 09:30:24 ] XPで追加されたAPI一度も使ったことないどころか一つも知らんかった・・・orz
569 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 10:03:53 ] 記述漏れがあるけど参考程度にはなるな
570 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 14:51:46 ] >>554 WM_CTRCOLOR**の戻り値とか、そもそもDialogProcとか まあx64ではBOOLが32bitのままだもんでDialogProcの戻り値はINT_PTRに変わったけどな
571 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 15:50:15 ] GetMessageもWin32化するときに戻り値の型をintへ変更すればよかったのに
572 名前:デフォルトの名無しさん [2007/05/30(水) 16:23:46 ] 質問です。 あるAPLから、フルスクリーンAPLのデバイスコンテキストを 取得したいのですが、どのようにしたら実装できますでしょうか?
573 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:39:17 ] GetDC(NULL)
574 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:46:21 ] APL(エーピーエル)は、コンピューターのプログラミング言語の一種で、 1957年のケネス・アイバーソンによる創案に基づいた独特の表記法を用いた、 対話型インタープリター言語である。とくに配列処理に優れる。 「APL」とは、『Aプログラミング言語』(A Programming Language)の略であるが、 言語の特性から時に『配列処理言語』(Array Processing Language)と言い換えられる。
575 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:55:20 ] これって、アルファベットの A を意味してるのか、 それとも冠詞の a を意味してるのか、 どっちなんだろ? 和訳は前者を採用してるみたいだけど、 訳の都合かもしれないし。
576 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 17:01:20 ] >>575 double meaningじゃないのかな。 と、適当なことを言ってみる。
577 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 18:00:53 ] ごめん素で分からんのだが、APLって何
578 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 18:06:57 ] APL知らんのか。言語だよ キーボードが特殊だった。まあ普通のキーボードでなんとかなるが
579 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 18:07:50 ] APLって遅延評価を積極的に使った言語だったよね 16ビットの鈍足マシンで巨大な配列を使っても結構速く結果が出た
580 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 18:58:42 ] 冠詞の a で始まる固有名詞は見たことない
581 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 19:14:17 ] >>580 >>574 で見ているはずだ
582 名前:デフォルトの名無しさん [2007/05/30(水) 21:25:35 ] ある Windows マシン上の動画ファイルを、 別の Windows マシンからストリーミング再生で表示したいです。 DirectShow + HTTP サーバーを使えば簡単にできそうですが、 動画ファイルを全部ダウンロードすることなく、 動画の特定の時刻からすぐにストリーミング再生することは可能でしょうか?
583 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 21:37:58 ] ネットワーク共有+プレイヤーで好きな位置にシーク APIと全然関係ない
584 名前:デフォルトの名無しさん [2007/05/30(水) 21:43:50 ] ネットワーク共有したくない場合は?
585 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 21:50:20 ] なにワガママ言ってるんだ?
586 名前:ららら [2007/05/30(水) 21:51:34 ] ワガママじゃなくて、途中から再生できるようなプレーヤーを作りたいのら。 ネットワーク共有みたいな、面倒な設定はユーザーにさせたくないのら。
587 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 21:51:55 ] >>584 したくないというキモチをガマンする
588 名前:ららら [2007/05/30(水) 21:52:20 ] ガマンできないのらー!
589 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 21:57:16 ] ユーザにわざわざデフォルトの機能以外を使わせて、サーバソフトを用意させるのか? なんてワガママな奴だ。
590 名前:ららら [2007/05/30(水) 22:02:42 ] ちがうのら! 動画ファイルはLAN内じゃなくて、インターネット上にあるのら。 サーバーはインターネット上のホストら!
591 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:07:51 ] インターネット上経由だろうがネットワーク共有できる。 ユーザに負担をかけたくないならUPnPにでもしておけ。
592 名前:ららら [2007/05/30(水) 22:10:44 ] セキュリティは大丈夫なのか?
593 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:13:03 ] それはお前のコード次第
594 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:14:10 ] 馬鹿が自作したソフトを外部公開するのは大丈夫なのか?
595 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:17:34 ] ストリーミングだろうがファイル共有だろうが インデックスでも作らない限り キャッシュ無しで指定時間からの動画再生開始は不可能だろ
596 名前:ららら mailto:sage [2007/05/30(水) 22:17:56 ] わぅー・・・・
597 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:26:31 ] 気持ち悪すぎワロタw
598 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:28:23 ] ゲームをバックグラウンドで操作したくて色々思考錯誤してます。 ウィンドウを指定してPostMessageでキーを送ったのですが EnterやEscなどはちゃんと受け付けますバックグラウンドで動くのですが LeftやDownはダメでした。要はカーソル移動が出来ないんです。 んでSPY++でLeftの入力時を調べてみたところ下記のようなものが出ました WH_GETMESSAGE:[WM_KEYDOWN or WM_KEYFIRST,256], wParam:[0x00000025], lParam:[0x014b0001] WH_GETMESSAGE:[UnKnown,1104], wParam:[0x00000025], lParam:[0x00000001] WH_GETMESSAGE:[UnKnown,1105], wParam:[0x00000025], lParam:[0xc0000000] WH_GETMESSAGE:[WM_KEYUP,257], wParam:[0x00000025], lParam:[0xc14b0001] これをPostMessageで送るにはどのように記述すればよろしいでしょうか またUnKnownの文字列は何をしてるのか教えてください 初心者な質問で申し訳ないですがよろしくおねがいします。
599 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:46:41 ] 不正はやめましょう。
600 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:55:38 ] 素直にUWSCで組みましょう
601 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:00:05 ] 低スキルチーターがあらわれた!
602 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:02:55 ] じーんせいはワンツーパンティー
603 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:14:21 ] >>582 Windows Media Server 買ってら… ってかマジレスするとストリーミングサーバとクライアント を実装するってって話になっちゃうのだけれどそうなると Win32API 1つ2つだけの話じゃすまないのでもはやスレ違い…
604 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 15:23:20 ] >>579 漏れの完璧で確かな記憶によれば、APL に遅延評価は無かったと思うよ。
605 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 15:26:42 ] >>582 実際にそういうソリューションあるわけだから、自前でコードを書いて 「出来ない」なんて返事はあり得ないよね。 すると「DirectShow + HTTP サーバーを使って簡単に」可能か、 という質問だと仮定すると、返事は「不可能」になります。 市販品のストリーミングシンク/ソースフィルタとかを買えば別だけど。
606 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 15:32:57 BE:139752689-2BP(222)] >>582 Server2003に標準で入ってるよ。 www.microsoft.com/japan/windowsserver2003/technologies/winmedia/default.mspx
607 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 15:47:14 ] Windows Home Server機がAppleTV並みの値段とサイズで出るといいんだが
608 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 23:30:13 ] 日本語版 Windows SDK だって www.microsoft.com/downloads/details.aspx?FamilyID=7614fe22-8a64-4dfb-aa0c-db53035f40a0&DisplayLang=ja
609 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 00:06:19 ] >>608 英語版の最新があれば十分だと思う。同じバージョンの日本語版っていうのであれば使おうと思うけどね。
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回空呼びして プロセッサが指定されてるか調べればいいにゃ