1 名前:デフォルトの名無しさん [2007/06/12(火) 19:59:25 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
705 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:12:21 ] エラーメッセージって 的を得ないことが多いのと 一般的に言っても不親切なのは なんとかなりませんかね?
706 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:21:16 ] 中に人が入ってるわけじゃないから 文句言うだけ無駄
707 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:23:07 ] >>705 的を得ないならいいじゃないか。的を得たら射掛けられちゃうぞ。
708 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:24:54 ] >>705 そりゃぁ、お前さんの書いたコードが「的を得てない」からだろう。 コンパイラが、わけわかんねーぞ、というのは、わけわかんないコードを食わせるからだ。
709 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:43:56 ] VC++のエラーメッセージなんて随分質が高いと思うけどねぇ まぁC++でテンプレート絡みのエラーメッセージがイミフなのは そういうもんだとあきらめれ
710 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:51:05 ] 的をもらいました やったね!
711 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:02:37 ] まぁ、エラーメッセージは、直訳みたいなので英語でおkみたいなのはあるw
712 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 15:27:07 ] 夜店の射的の話。的は人形だったり。
713 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 15:33:57 ] タブコントロールを作ってそれをデバッグ(@err,hr)でみてたら ERROR_NO_IMPERSONATION_TOKEN 現在、クライアントを偽装していないスレッドが・・・・ とかいうエラーが出てくるんですがこれの意味に心当たりがある方は 教えていただけないでしょうか?
714 名前:501 [2007/07/08(日) 17:20:57 ] 会社でよくいそうな堅物っぽいやつが 見当違いとか、知識が無いとか、確認してないとか がんがってかっこつけたのに結果をだされてるのにワロタ いいものを見せてもらった
715 名前:501 [2007/07/08(日) 17:23:11 ] 俺の質問も相手してくれよ
716 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 17:40:59 ] >>715 >>551 で終わっていないの?
717 名前:デフォルトの名無しさん [2007/07/08(日) 17:44:20 ] ウインドウにボタンをはっつけて、 ウインドウのWM_PAINTでBeginPaintしてウインドウを真っ黒に塗りつぶしても、 ボタンは塗りつぶされないのですが なんでかチラチラします、これはどういう仕組みでしょうか?
718 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 17:56:34 ] ボタンはゲイツ仕様だから
719 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 18:55:17 ] そういう仕組みだぼけ
720 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:14:17 ] 実装に興味があるならwineかReactOSがオヌヌメ 後者のほうが詳細まで追えるからオヌヌメ
721 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:31:23 ] その前に基本的なことを勉強
722 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:38:04 ] >>717 >>717 がボタンも含めてウィンドウを真っ黒に塗りつぶした後、Windowsがボタンを描いているから。 黒く塗ってあとから書き直したら、そらチラチラするわ。
723 名前:デフォルトの名無しさん [2007/07/08(日) 19:50:37 ] ボタンを塗りつぶすとWINDOWS法違反によって逮捕されますから 辞めた方がいいですよ
724 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 19:50:51 ] >>717 そりゃぁ背景を黒く塗っても、手前にあるボタンは塗られないよ。 ボタンまで黒く塗りたければ、ボタンをオーナードローで黒く濡るべし。
725 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 20:35:06 ] つーか、ボタンがチラチラしない方法が知りたいんじゃないの?
726 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 21:07:04 ] ボタンの所だけクリップ領域から外せばいい
727 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 21:20:38 ] WS_CLIPCHILDREN
728 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 21:55:07 ] Enterで通知がくるIDOKを別の定義IDに切り替えたいんですが 何か方法はありますか? 因みにダイアログじゃないです
729 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 21:58:07 ] IDOKが来たら切り替えたい定義IDをSendする
730 名前:728 mailto:sage [2007/07/08(日) 23:06:07 ] >>729 !? 盲点だったそんな簡単なことも気づかなかったのか俺orz 教えてくれてありがとうございます。
731 名前:729 mailto:sage [2007/07/09(月) 00:09:55 BE:99304122-2BP(0)] おいw ジョークだよな?
732 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 12:46:20 ] いいえ本気です
733 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 12:49:23 ] 「本気」と書いて「マジ」と読む
734 名前:デフォルトの名無しさん [2007/07/09(月) 14:22:56 ] up
735 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:34:50 ] ヘルプみたさに プラットフォームSDK入れてみたんだけど hxsファイルってどうやってみればいいんでしょうか?
736 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:47:15 ] ドキュメントエクスプローラー、かな? ついてなかった?
737 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 19:19:09 ] さがしてみます。ありがとう
738 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 20:44:47 ] さがしたけどなかった。次は一時間後にさがしに行くです。
739 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 20:47:21 ] 普通に入れたら、スタートメニューに登録されるよ。
740 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 21:25:11 ] すみませんさっき気づきました ぐぐったりVCいれたりといろいろってみましたが まさかこれ系がスタートメニューに登録されるとはorz
741 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 03:12:58 ] USBゲームパッドを使いたい場合はwin32apiでは対応できませんか? やっぱダイレクト系しかないんでしょうか
742 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 04:57:38 ] joyGetPos
743 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 05:02:51 ] いいことおもいついた、お前俺のケツのなかにションベンしろ!
744 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 05:28:12 ] ウホスレは間に合ってます
745 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 09:24:01 ] >>742 ありがとうございます これマルチメディアの欄にあったりして なかなか見つからない
746 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 10:37:23 ] Windows3.0 MMEを思い出した
747 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 11:49:46 ] >>745 マルチメディアAPIのジョイスティックAPIはゲームポート接続想定した仕様だからおすすめできない。 (認識軸数、ボタン数に制限)
748 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 20:49:32 ] >>747 アナログ6軸、ハットスイッチ1つ、32ボタン対応してるから十分だと思うが。
749 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:05:10 ] 突然だけどLocalFreeって使わない方がいいのか? LocalFree使うぐらいならHeapAllocとか使った方がいいとか言う 記事があったもんで。それとHeapAllocとVirtualAllocの使いどころは 大体確保するメモリがどのくらいを目安にすればいいのかね。 そういうレス見たこと無いから参考までにお前さん方の意見聞いてみたい。 因みに俺はLocalAllocが簡単に使えるからそっち使ってる。 後mallocに関してはAPIじゃない(最終的にHeapAlloc呼んでるみたいだが) から省いてくれい。
750 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:07:21 ] >LocalFree使うぐらいならHeapAllocとか使った方がいいとか言う記事 なんだその腐った記事。
751 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:18:29 ] >LocalFree使うぐらいならHeapAllocとか使った方がいい わろた ところで VirtualAlloc HeapAlloc でぐぐったか ttp://www.geocities.jp/i96815/windows/win11.html
752 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:24:06 ] >>749 俺はAPI関数を直接呼ぶとしたら、確かにHeapAlloc/VirtualAlloc系というつもりでいる。 「Local/Global関数ではなく、Heap関数を使え」とは、MSDNライブラリにも書いてある。 msdn2.microsoft.com/en-us/library/aa366723.aspx msdn.microsoft.com/library/ja/jpmemory/html/_win32_localalloc.asp 特に移動可能メモリなんて今では利点も必要性もない。 //でも実際はクリップボードなんかでGlobal関数を多用する現実。 //Heap関数を直接使わずmallocやnew、std::vectorを使う毎日。 でも、どうせどうせメモリ確保なんて時間のかかることだし、 Local/GlobalからHeapに変えて速度向上するようなアプリケーションがあったら、 メモリ確保の戦略自体を見直すべきで、 わざわざHeapに変える必要なんてないなんて言う奴もどこかにいた。 でもこれから書くコードで必要がなければあえてGlobal/Local関数を選ぶ理由もないはず。 ところで、VirutalAllocを使う目安はMSDNライブラリによれば1、2MBから。 msdn2.microsoft.com/en-us/library/aa366597.aspx
753 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:24:54 ] なんとなく気になってCRTのソース読んでみたのだが、 VC2005のリリース版CRTのmallocは、HeapAllocに直結してるのな。 CRT内部で改めて分割して使っていると思い込んでたよ。
754 名前:デフォルトの名無しさん [2007/07/12(木) 00:11:18 ] crt no source ha iduko?
755 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:16:52 ] >>754 Visual C++ならVisual C++のフォルダ(bin, include, libなどがあるフォルダ) にあるcrtというフォルダ。ただし、Expressには付属していない。
756 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 01:06:41 ] GlobalAllocとLocalAllocの違いがわからない
757 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 01:15:16 ] ここにわかりやすい解説が konuma.txt-nifty.com/blog/2006/03/heapallocvirtua_5d49.html
758 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 01:15:35 ] Win16では、nearポインタ・farポインタの違いがあったが、 Win32では違いなし。 もしかしたら9xではだめかもしれないが、 NTでは、GlobalAllocしたものをLocalFreeすることすら可能なはず。
759 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 01:35:59 ] Windows 3.1 SDK のヘルプからコピペしてみた。Win32では殆ど無意味だけど。 Global memory is all memory in the system that has not been allocated by an application or reserved by the system. Local memory is the memory in the data segment of a Windows application.
760 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 01:51:49 ] LocalAllocは内部でHeapAllocと同じ事してるんだろ確か
761 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 02:35:41 ] ぶっちゃけ、何かの理由がない限り、 HeapCreate()の引数dwMaximumSizeには0を指定するわけで、 ということは、HeapAlloc()で巨大なメモリを確保しようとしたら、 自動的にVirtualAllocに飛ばされるわけで、 意識してVirtualAllocを呼ばなくてもいいんじゃないかな。 それどころか、C++ なら 何か理由がない限り、new 一択だろう。 もしヒープの速度がネックになるようなら、 ヒープ上ではなくスタック上に取れるようなアルゴリズムを検討すべき。 自分は遅いプログラムのチューニングをしていて、 ヒープの速度がネックになっているのを見たことがないよ。
762 名前:デフォルトの名無しさん [2007/07/12(木) 08:28:40 ] >>755 thank u. express dakara nakata
763 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 14:49:19 ] Local/GlobalAllocって、戻り値が専用型なもんで、「解放する方法が明確に解る」 って理由で外部にAPI公開するDLLなんかでは採用してる例がある。 確かにポインタだけ返して「解放はVirtualFreeで」とかいう仕様だと勘違いで 他の解放関数に渡してしまうケースが無いともいえない。
764 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 14:59:06 ] >>761 >自分は遅いプログラムのチューニングをしていて、 >ヒープの速度がネックになっているのを見たことがないよ。 漏れもそんなのは見たことないが、malloc/free 系と memcpy 系の 関数を差し替えるのは、ほとんど手間がかからずある程度の効果が 期待できるのでまず手始めにやっちゃうな。
765 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:00:00 ] そんな怪しい挙動するくらいなら、解放するAPI用意したほうがいいと思うんだけどなぁ・・・
766 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:05:04 ] IMalloc/CoTaskMemAllocはどうよ
767 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:09:25 ] COM のときは使うな CoTaskMemAlloc 。
768 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:12:36 ] >>761 それはプロファイラに捕捉されてないだけだと思うぞ。 ヒープは頻繁に呼ばれるので、僅かなコストが積もって大きくなる。 InitializeCriticalSectionAndSpinCount()のスピンカウントの説明を読めば片鱗が知れよう。 とはいえ、下手なアルゴリズムやコーディングによる遅さに比べれば、微々たるものだが。
769 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:16:19 ] カーソルの影って、APIでオンオフはできるんですけど、そもそもシステムカーソルにしか 適用されませんよね。 とあるアプリで独自のカーソルにも影が付くのがあったんで、リソースを見てみましたけど 元カーソルは影付きではありませんでした。 影を付けるAPIみたいなのはあるんでしょうか?
770 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:16:46 ] >>768 google mallocの話とか、読み物としてはおもしろいからなぁ。 ttp://slashdot.jp/comments.pl?sid=364575&cid=1172165 まあ初心者の手の届かないところに保管しておくべき話だけどね。
771 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:27:02 ] >>770 gccやglibcにパフォーマンスを要求すること自体が間違ってる。 ポータブルでフリーであることが目的で、ちゃんと動けば十分という代物なんだから。 ついでに言うと、 unixの世界ではプロセスをポコポコforkする文化が長かったし、 フリーのOSはSMP性能が悪いのが普通だった。 パフォーマンスよりも、動くこと、簡単なことが優先されてた。 バグの原因になるのでmallocしたメモリはfreeするな なんて真顔で言う連中が跋扈していた世界だから。
772 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:29:36 ] >>771 過去がどうであれ、今それを真顔で言われてもわりと困るんだが。
773 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:00:59 ] 要は、Linuxの世界は後発であるが故に遅れている、ということ。 もちろんLinux上で走るからといって、glibcを使う必要はないわけで、 フリーだろうがプロプライエタリだろうが、別のライブラリを使えばいいだけのこと。 ただ、何でもかんでも別のライブラリを使うのが良いとは限らない。 Windowsのバージョンが上がると、 MSVCRTやOSのヒープマネージャが、 より現状のPC環境に向いたものに変るので。
774 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:14:22 ] Unixについて言ってるのかLinuxについて言ってるのかはっきりしろと。
775 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:18:23 ] ていうかスレ違い
776 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:22:26 ] IDEのバスをリセットする(RESET#端子をアサートする)方法を教えてください。 IDEのデバイスに対してDEVICE RESETコマンドを送ることはできたのですが、 いざデバイスがハングアップした状態では、コマンドも受けとってもらえないわけで。
777 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 20:48:02 ] Documents and Settings\ユーザー名\NTUSER.DATとかの OS可動中に開けないファイルを読み込み専用で良いので 開く方法を教えてください。 破壊がないか定期的にチェックをしたいので。
778 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 20:54:30 ] ACPIが有効なPC上で、CPU温度を定期的に取得する方法を教えてください。 以下のvbsを実行すれば温度を取得できるのですが、 一定間隔で実行しても温度に変化がありません。 (OS起動時に一度だけ取得してる様に見える) なんとか更新させるか、別の方法がないか探してます。 cputemp.vbs------------------------------ Set fs = CreateObject("Scripting.FileSystemObject") Set outFile = fs.CreateTextFile("CPUtemp.txt", True) Set wbemServices = GetObject("winmgmts:" & "\\localhost\root\wmi") Set wbemObjectSet = wbemServices.InstancesOf("MSAcpi_ThermalZoneTemperature") For each Item in wbemObjectSet outFile.WriteLine "CPU Temperature: " & (Item.CurrentTemperature - 2732) / 10 & "°C" Next outFile.Close cputemp.vbs------------------------------
779 名前:デフォルトの名無しさん [2007/07/12(木) 21:15:07 ] みんなやたら高度だな
780 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:43:08 ] PatchGuardてIATへの書き込みもガードするんですか? カーネル領域でないのにガードされるんですか?(´;ω;`) 教えてエロい人(´・ω・`)
781 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:43:20 ] >>777 2003 Server以降なら、シャドー・コピーという手がある。 XPの場合はAPIとして表には出ていないがntbackupが使っている。 ダサい方法だが、ntbackupを子プロセスとしてキックして、 目的のファイルにバックアップ取って、 すぐさまntbackupで別の場所にリストアするという手がある。 ちなみに、 CreateFileでFILE_FLAG_BACKUP_SEMANTICSつけてダメだった?
782 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:19:02 ] >>781 色々ありがとうございます。 SE_BACKUP_NAME、SE_RESTORE_NAMEの特権を取得した後、 { HANDLE h; h = CreateFile("C:\\Documents and Settings\\user\\NTUSER.DAT" ,GENERIC_READ ,FILE_SHARE_READ ,0 ,OPEN_EXISTING ,FILE_FLAG_BACKUP_SEMANTICS // FILE_ATTRIBUTE_NORMAL| ,0 ); if (h != INVALID_HANDLE_VALUE) { printf("pass\n"); CloseHandle(h); } else { printf("ng\n"); } } の様にしましたがダメでした。 ntbackupの方法も検討してみます。
783 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:33:25 ] ちなみにGetLastErrorのコードは CreateFile 20h:プロセスはファイルにアクセスできません。別のプロセスが使用 中です。 でした。
784 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:35:30 ] FILE_SHARE_WRITEとFILE_SHARE_DELETEも付けたほうがいいよ。
785 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:37:19 ] FILE_SHARE_WIFEとFILE_SHARE_DAUGHTERもつけたほうがいいよ
786 名前:784 mailto:sage [2007/07/12(木) 22:40:26 ] MSDNライブラリのCreateFileのFILE_SHARE何とかのところには、 "Subsequent open operations"と書かれているけど、 それは自分が一番最初にCreateFileする時の話で誤解がある。 実際には、同時にオープンする他者全員に対しての許可なので、 FILE_SHARE_WRITEを付けない = 許可しない場合には、 すでにWRITE有りでオープンしている人がいると、エラーになる。
787 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:45:51 ] >>781 ntbackupでバックアップ/別フォルダへのリストアに成功しました。 コマンドラインオプションから指示を出せる様なので、 この方法でできそうです。 ありがとうございました。
788 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:50:39 ] >>784 ,FILE_SHARE_DELETE|FILE_SHARE_WRITE|FILE_SHARE_READ としましたが同じエラーでした。
789 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:16:10 ] >>777 そんなこと聞く人が破壊がないかチェックなんてできるの?
790 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:20:40 ] 楽勝だよ
791 名前:778 mailto:sage [2007/07/12(木) 23:26:06 ] >>778 お願いします。 できないと死にそうです。
792 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:28:24 ] 出来ないと死にそうなくらい、ヤバい温度になるのか?
793 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:37:07 ] >>789 たぶんレジストリの内容をまとめて盗むスパイウェアでも作ってるんだろう。 >>791 自分だったらACPIではなく、SMBus(I2C)で温度センサーの値を読むが。
794 名前:デフォルトの名無しさん [2007/07/12(木) 23:46:24 ] >>792 部屋が灼熱地獄なんです 熱中症になる前にお願いします
795 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:47:57 ] >>761 標準の new は、小さなサイズの要求を大量に行うと、 メモリを無駄に使用してしまう。 数年前でも2GBのメモリ空間はかなり窮屈で 無駄にされるとかなり痛いので、 自前のアロケータを書いたことがある。
796 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:51:50 ] >>793 何故ですか? センサー毎にハードコーティング要るんじゃかったですか? そんな馬鹿馬鹿しい事やってられません
797 名前:793 mailto:sage [2007/07/12(木) 23:56:49 ] >>796 SpeedFanやEverestなどのメジャーなツールが取っている手段だから。 できるかどうかわからない方法を調べるよりは、 できることがわかっている方法を調べるほうがいいでしょ。
798 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:57:58 ] >>793 >SMBus(I2C)で温度センサーの値を読むが。 どのようにするのですか? なんか、デバドラ作らないと出来ないような気がしますが、 簡単にAPIで値読めるのですか?
799 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:00:56 ] >>795 数年前なら、64ビットが選択肢に入ってたろうに。 自分ならまず設計を見直すよ。 大量にnewするオブジェクトたちが、本当に個別に寿命管理が必要なのか、と。
800 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:11:43 ] Boost.Pool最強説
801 名前:795 mailto:sage [2007/07/13(金) 00:20:51 ] >>799 漏れは、マシンもOSも調達されてから投入されたので、 64bit化しようとは、流石にいえない。 そもそも、実装されるメモリの量も余裕は無かったし。 個別の寿命管理は確実に必要だったと今振り返っても思うよ。
802 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:28:50 ] つーか温度計る手段がいまだに規格化されてないってのがアホだよな WMIで得られる筈が>>778 みたいな半端な物で形骸化してるみたいだし 今ではデスクトップPCでさえサスペンド/レジュームする時代なんだぜ
803 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:06:26 ] homepage.mac.com/raktajino/cputhermometer/cputhermometer.html
804 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:07:30 ] forum.windowspower.de/thread.php?threadid=6907 freshmeat.net/projects/phptherm/ www.footslog.com/board/Forum6/HTML/000338.html
805 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 02:33:43 ] >>803 (゚д゚)ハァ?
806 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 03:01:36 ] >>787 もしVistaで動かす予定があるならntbackupは廃止されたから まじめにボリュームシャドウコピーを使う方法も併用する必要がある
807 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 07:17:28 ] >>802 計測ってより計測法でも利権が絡むからね。
808 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 08:05:05 ] >>801 それは、 何かよほどのこと って奴だったんだよ、たぶん。 ラージアドレス(/3GB)を使ってもアドレス空間が足りないが、 かといってPAEなんて使いたくないという場合には、 いっそのことプロセスを分けてしまうという手もある。 プロセスを跨ぐオーバーヘッドが巨大だけどね。
809 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 08:09:20 ] >>806 強引な荒技もあるよ。 デフラグのAPIを使ってファイルのディスク上の所在を調べて、そこを直に読んでしまうという手もある。 もちろん、そんな行儀の悪いことは、よほどの理由がないとダメだが。
810 名前:デフォルトの名無しさん [2007/07/13(金) 17:13:50 ] CreateProcessでCREATE_SUSPENDEDを利用してNotepad.exeを起動して、 とまってるときのMessageBoxAとMessageBoxWのアドレスと、 その後、ResumeThreadした後のMessageBoxAとMessageBoxWのアドレスが違うような気がするんですけど、 これって気のせいですか?
811 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:17:33 ] DefineDosDevice()で、特定のフォルダを新規ドライブとしてマウントできるけど、 そのとき、元のフォルダのほうをACLなりEFSなりで自プロセス以外から見えなくすることは可能?
812 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:53:48 ] >>810 CREATE_SUSPENDEDで作成されたプロセスは初期化が完了している保証は無い
813 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 18:37:58 ] むしろ初期化終わってないのが普通じゃない? この段階だとGetModuleFileNameExのようなAPIが失敗するもんで、 どうやってこの初期化だけを完了させるのか知りたかったりする (forでResume/sleep/Suspendを細切れにしてまわしてた)
814 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 18:45:57 ] PEヘッダ解析して、PE.EntryPointのアドレスを書き換えるか、 ブレークポイントをしかけておくってのはどうだい?
815 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 19:50:28 ] CREATE_SUSPENDEDで止まっているときに色々やるのはオススメしない。 Windowsのサービスパックで挙動が変るのならまだしも、 WindowsUpdateで配られるモジュールのアップデートで挙動が変ってしまうから。 安全なのはプロセスのエントリポイントを乗っとること。