問題タブ [system32]
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.
windows - WM_DEVICECHANGE のディスパッチを防止する
WinDVD が挿入時に新しいディスクの可用性をトリガーしないようにする必要がある Windows 7 アプリケーションを開発しています (つまり、DVD の挿入)。
背景情報:
私は、異なるドライブから同じ DVD を同時に再生している 2 つのムービー プレーヤーを同時に比較しなければならない会社のために、この小さなアプリケーションを開発しています。
彼らはヒューリスティックな品質テストを行って、現時点で最適な DVD プレーヤーを決定し、それを新しい PC ラインにバンドルしています。
現時点では、彼らの最良の選択は WinDVD であるように思われるため、他のすべてのテストは WinDVD に対して実施する必要があります。問題は、最初の DVD を挿入したときに、デフォルト プレーヤーの WinDVD が起動しても問題ないことです。
次に、2 番目のディスクを挿入すると、デフォルトのプレーヤーが最初に応答するため、ウィンドウを閉じて、テストしている他のプレーヤーを開く必要があります。
これは、スポット カラー レンダリングと画質への参照を表す多くの映画で行われます。この操作は週に何百回も繰り返されるため、追加ウィンドウが表示されたときにユーザーが閉じるのは面倒です。
私のプログラムは、デフォルト プレーヤーの 2 番目の応答を抑制しようとしています
WM_DEVICECHANGE メッセージをインターセプトして、何らかの形でそのグローバル フックを作成することを考えました。
問題は、WM_DEVICECHANGE のインターセプトが非常にうまく機能することですが、新しいユニットの挿入をトリガーする WinDVD の機能をブロックせず、とにかくメッセージが配信されるようにすることです。このため、傍受後にメッセージが送信されないようにする方法を考え始めました。
私が考えたこのグローバル フックを実現するために、次のコード行を使用しています。
私のDLLに含まれるコールバックにリンクされており、WM_DEVICECHANGEが正しく傍受されていることがわかりますが、前述のように、メッセージはまだシステム全体にディスパッチされています。
任意の提案をいただければ幸いです。
アップデート:
@TOndrej:次のことを試しました:
しかし res は毎回 false です。私は何が欠けていますか?
ruby - System32 の Ruby Dir.foreach でファイルが見つからない / File.exists? 既存のファイルに対して false を返します
ruby を使用して Windows 7 の system32 ディレクトリ内のすべてのファイルを印刷すると、一部のファイルが欠落します。この単純なディレクトリ反復を使用します。
存在しますが、印刷されていないpython27.dllを特に探しています。ファイルが存在しています?dir 反復と同じ問題があるようです。既存のファイルに対して false を返します。
フォルダーの別の既存のファイルを確認すると、次のように機能します。
しかし、既存のファイルを複製したり、system32 で新しいファイルを作成したりしても機能しません。
また、python27.dll を別のディレクトリにコピーして存在を確認すると、次のように動作します。
この問題は、大文字と小文字またはパス区切り文字とは関係ありません。私はそれをチェックしました。また、機能するファイルと機能しないファイルのユーザー権限に違いは見られません...
なぜこれが起こるのか、私には本当にわかりません...誰でもこれを再現できますか???
ありがとう
[編集]
少し時間がかかりましたが、答えが見つかりました。
これは 32/64 ビットの問題でした。32ビットアプリケーションとしてのrubyの場合、「C:\Windows\System32」は実際には「C:\Windows\SysWOW64」です。64 ビットの WinExplorer が示したように、python27.dll は System32 にありました (64 ビットのプロセスだけが見ることができます - まあ、紛らわしいです)。Pythonの32ビットバージョンをインストールすると、問題が解決しました(rubypythonの一部であるため、rubyスクリプトを変更できなかったため)。
powershell - Powershell の FileSystemWatcher コマンドレットが system32 フォルダーとサブフォルダーを監視していない
PowerShell の FileSystemWatcher コマンドレットを使用すると、System32 または Windows 7 コンピューターのサブフォルダーを監視していないように見えることに気付きました。My Documents のサブフォルダーを監視するときに問題なく動作するスクリプトがあります (つまり、"C:\Users\W\Documents\Fichiers PowerShell" は機能する fplder パスです)。 System32 (つまり、C:\Windows\System32\Recovery は機能しないパスです)
これは私が使用しているスクリプトですが、System32 パスは他の FileSystemWatcher スクリプトでは機能していません。回避策についてアドバイスをいただければ幸いです。C:\Windows\System32\Recovery を監視する必要があります。ありがとうございました。
delphi - system32 フォルダで実行する msconfig .exe を取得できません shellexecute Delphi
私はWin 7 64bを使用しています。私のデルファイアプリからmsconfigを実行しようとしています。msconfig.exe ファイルは system32 フォルダーにあります。msconfig.exe を c:\ にコピーしたところ、問題なく動作しました。これは、ある種の許可の問題のようです。
誰かがこれを見て、 sys32 から msconfig.exe を実行する方法を見つけました。
.net - system32 で exe を実行できないのはなぜですか?
プログラムを作ってコンパイルしました。デバッグ フォルダーで期待どおりに動作します。それを取り出してsystem32に入れましたが、実行されません。次のエラーが発生します。
.NET Framework 初期化エラー
このアプリケーションを実行するランタイムのバージョンが見つかりません。
デバッグフォルダー内の独自のフォルダーに入れてみましたが、他のデバッグファイルがなくても機能しました。管理者として実行してみました。system32 の外部で実行できるため、.NET Framework のバージョンが正しいことはわかっています。コマンドプロンプトを使用して別の場所から実行しようとしました。私はそれをすべて試しましたが、それでもうまくいきません。
編集:exeをwindowsフォルダーに入れてみました。
java - Java 7 Update 9 への更新後、system32 から javaws.exe が見つからない
コントロール パネルの GUI を使用して Java を Java 7 Update 9 に更新すると、バグが発生するようです。すべて Windows XP 32 ビットでテスト済みであることを言及する必要があります。この更新により、C:\Windows\System32 から javaws.exe (Java Web Start) が削除されます。これにより、その場所を指すショートカットが壊れます。これは、Java クイック スタートが特定のファイルをロックし、更新プログラムが Program Files 内の場所から javaws.exe をコピーできないことに関連している可能性があります。オフライン更新ファイルをダウンロードして、現在のバージョンの Java の上にインストールする場合は発生しません。アプリケーションを起動しようとしたときに表示されるエラー メッセージは次のとおりです。
Windows が javaws.exe を検索しています。自分でファイルを見つけるには、[参照] をクリックします。
Windows はファイルを見つけようとし、検索を行った後、Program Files で javaws.exe を見つけ、リンクの修正を提案します。[修正] をクリックすると、リンクを新しい場所に再指定することで問題が解決します。それに対する他の可能な解決策は次のとおりです。
- Java を完全にアンインストールし、最新バージョンをインストールします。Java キャッシュを保持できるため、アプリケーションを再インストールする必要はありません。
- オフライン更新をダウンロードし、現在のバージョンの Java の上にインストールすることで、Java を更新します。
- リンクのパスを手動で変更します。
- javaws.exe を C:\Windows\System32 に手動でコピーします。
- アプリケーションの再インストール。
誰もこの問題に遭遇しましたか?それに対する修正があるかどうか誰かが知っていますか?ありがとう。
ruby - Ruby - system32 にそのようなファイルまたはディレクトリはありません
C:\Windows\System32\ で Ruby スクリプトを実行しようとしていますが、実行しようとすると Ruby インタープリターが LoadError をスローします。
誰でもこれが起こったことがありますか?
c# - System32のdllへのアクセス権
EZtwainを使用してドキュメントをディレクトリにスキャンしています。
EZTwainアプリケーションは、事前にdllをユーザーのsystem32フォルダーにインストールします。
現在、アプリケーションは自分のパーソナルコンピューターで動作していますが、このアプリケーションをユーザーコンピューティングで実行すると、権利制限があり、アプリケーションは画像をスキャンしません。
私は、ユーザーが持つ権利により、ユーザーがdllにアクセスすることを制限していると考えています。System32のdllにアクセスするためにユーザーに自分のPCの完全な管理者アクセスを許可せずにこれを修正する別の方法はありますか?
batch-file - VBScript - 32 ビット コマンドでバッチ ファイルを開く
.hta アプリケーションと以下のコードがあります。
デフォルトでは、以下のコマンドは C:\Windows\ syswow64 \cmd.exeの file.bat を開きます。
C:\Windows\ system32 \cmd.exeで開くにはどうすればよいですか?
回避策は、syswow64 の代わりに C:\Windows\system32\mshta.exe を使用して .hta ファイルを開くことですが、他のアイデアも見たいです。
よろしくお願いします。
windows - 「Open with」でアプリを起動したときの一時ディレクトリへの書き込み
私のアプリケーション (Visual C++ 2008 で作成) は、拡張子が .xxx のファイルを保存します (たとえば)。その拡張子のファイルを右クリックして [Open with] を選択し、アプリケーションを選択すると、アプリケーション内の一時ディレクトリまたは開いたファイルのディレクトリへのプログラムによる書き込みが自動的にリダイレクトされます。 (Windows だと思います) C:\windows\system32 に。この動作は、[ファイル] > [開く] を使用するか、ファイルをダブルクリックしてアプリケーション内でファイルを開いた場合には発生しません。この system32 へのリダイレクトは、Visual C++ 6.0 から切り替えたとき、または Windows 7 で切り替えたときに開始された可能性があります。どちらかはわかりません。このプログラムは 13 年間成功裏に実行されています。「Open with」でファイルを開いた後、現在の作業ディレクトリをコードでキャプチャしようとしました ファイルのディレクトリ パスを抽出することによって、C:\windows\system32 に変更されます。GetTempPath から取得したパスも C:\windows\system32 に変更されます。これは、Windows のセキュリティが原因であると想定しています。誰もこれについて何か知っていますか。