問題タブ [winapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - WinXP、Vista のレジストリ呼び出し/ファイル システム呼び出し/プロセス作成フィルターを作成するためのベスト プラクティスは何ですか?
システム内のレジストリ呼び出し/ファイル システム呼び出し/プロセス作成のすべてのプロセスを監視する必要がありました (ウイルス対策ヒップ モジュール用)。
また、時間によっては、一部の電話を遅らせたり、拒否したりする必要があります。
winapi - Win32 CreatePatternBrush
MSDN では、CreatePatternBrush について次のように表示されます。
DeleteObject 関数を使用すると、関連するビットマップに影響を与えずにパターン ブラシを削除できます。したがって、このビットマップを使用して、任意の数のパターン ブラシを作成できます。
私の質問は反対です。HBRUSH が長期間使用されている場合、ブラシを作成した直後に HBITMAP を削除できますか? IE: HBRUSH は HBITMAP の独自のコピーを保存しますか?
この場合、HBRUSH にはオブジェクト スコープを持たせ、HBITMAP にはメソッド スコープ (HBRUSH を作成するメソッド) を持たせたいと思います。
c++ - 「スタンバイ」に入るシステムを停止します
standby
アプリケーションの実行中にホスト マシンがモードに入らないようにするにはどうすればよいですか?
win32 api
これを行う呼び出しはありますか?
objective-c - Windows 用の Objective-C
Windows プラットフォームで Objective-C を作成する最良の方法は何ですか?
Cygwinとgcc?これをどうにかして Visual Studio に統合する方法はありますか?
それらの線に沿って、このようなものに Windows SDK をリンクして使用する方法に関する提案はありますか。それは別の獣ですが、Windows DLLでアセンブリとリンクを記述して、これらの呼び出しにアクセスできることは知っていますが、グーグルで断片的な指示を取得せずにこれを行う方法がわかりません。
この種のことを行ったり説明したりするための優れたオンラインまたは本のリソースを知っている人はいますか?
c# - C# から AllocateAndInitializeSid 関数を呼び出す方法は?
AllocateAndInitializeSid
誰かが C# コードから関数を呼び出す完全で実用的な例を教えてもらえますか?
私はこれを見つけました:
そして、このメソッドのシグネチャを構築する方法がわかりません -PSID_IDENTIFIER_AUTHORITY
とPSID
型をどうすればよいですか? またはを使用して、それらをどのように渡す必要がありますref
かout
?
c++ - ファイル システム情報 - クエリの方法
ある種の Windows API を介してファイル システム情報にアクセスする方法はありますか? そうでない場合、ユーザーモード開発者が利用できる他の方法は何ですか?
windows - 真の Windows バージョンを検出する方法は?
GetVersionEx Win32 API 関数を呼び出して、Windows のバージョンを取得できることはわかっています。ほとんどの場合、返される値は Windows のバージョンを反映していますが、そうでない場合もあります。
ユーザーが互換性レイヤーの下でアプリケーションを実行すると、GetVersionEx は実際のバージョンではなく、互換性レイヤーによって強制されたバージョンを報告します。たとえば、Vista を実行していて、プログラムを「Windows NT 4」互換モードで実行すると、GetVersionEx はバージョン 6.0 ではなく 4.0 を返します。
この動作をバイパスして真の Windows バージョンを取得する方法はありますか?
winapi - デフォルトのボタンサイズ?
残りの Windows アプリケーションと一貫性のあるシステム全体の標準サイズ (特に高さ) を持つボタン コントロール (ウィンドウ クラスCreateWindow
を使用)を作成するにはどうすればよいですか? BUTTON
もちろん、DPI とおそらく他の設定を考慮に入れる必要があります。
注意:幅と高さに使用
USE_CW_DEFAULT
すると、サイズが 0, 0 のボタンになるため、これは解決策ではありません。
windows - WindowsCDROMイジェクト
Windows 2000以降でプログラムでCDトレイを閉じる方法を知っている人はいますか?開いているCDトレイはありますが、特にW2kでは閉じることができないようです。
可能であれば、バッチファイルからこれを行う方法を特に探していますが、API呼び出しは問題ありません。
windows - Windows Server 2003 SP2は、無料のシステムページテーブルエントリについて真実を語っていますか?
Windows Server 2003 Service Pack 2で実行されているWin32コンソールアプリケーションの中には、次の場合に定期的に失敗するものがあります。
エラー1450(
ERROR_NO_SYSTEM_RESOURCES
):「要求されたサービスを完了するのに十分なシステムリソースが存在しません。」
私たちが見つけたすべてのドキュメントは、それが不足している無料のシステムページテーブルエントリの数にリンクされていることを示唆しています。これらのマシンには16GBのRAMがあり、/3GB
オペレーティングシステムスイッチを使用してWindowsカーネルを1GBに圧縮し、プロセスが3GBのアドレス空間にアクセスできるようにします。これにより、空きシステムページテーブルエントリの総数が大幅に減少するため、MapViewOfFile()を多用することと組み合わせると、カーネルページテーブルエントリが不足していることはおそらく驚くべきことではありません。
ただし、パフォーマンスモニターを使用して[空きシステムページテーブルエントリ]カウンターを表示する場合、値は再起動時に約36,000であり、アプリケーションの起動時に低下しません。多くの大きなメモリマップファイルを開くアプリケーションがカーネルページテーブルに影響を与えないとは信じがたいです。カウンターが信じられない場合は、システムの変更による影響をテストするのがはるかに困難になります。
有望なナレッジベースの記事があります。パフォーマンスツールは、Windows Server 2003で利用可能な無料のシステムページテーブルエントリを正確に表示しませんが、問題はService Pack 1で修正されており、すでにServicePack2を使用しています。
他の誰かがこの問題に苦労したり解決したりしましたか?
更新: windbg(カーネルのデバッグ)で!sysptesをチェックしましたが、値はパフォーマンスカウンターと一致し、約36,000です。これは、実際には多くの空きページテーブルエントリがあり、Windowsが真実を語っていることを意味している可能性が高いと思います。PTEが不足していないのに、なぜ1450エラーが発生するのかという疑問が残ります。
さらなる更新: 1450エラーが発生した理由の根底に到達することはありませんでした。 ただし、代わりに、これらのサーバーのOSを64ビットWindowsにアップグレードしました。これにより、既存の32ビットアプリケーション(再コンパイルなし)が4 GBの仮想アドレス空間全体にアクセスできるようになり、厄介なページテーブルエントリを含むカーネルメモリ領域も必要なだけ大きくなります。それ以来、1450エラーは発生していないと思います。