問題タブ [windows-vista]

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.

0 投票する
2 に答える
262 参照

c++ - VistaのIDebugProgramProvider2.GetProviderProcessData

IE 6/7用のJavaScriptプロファイラーの一部として、作成したカスタムデバッガーをIEにロードする必要がありました。XPではこれは正常に機能しましたが、Vistaでは機能しませんでした(詳細はこちら:http ://damianblog.com/2008/09/09/tracejs-v2-rip/ )。

GetProviderProcessDataの呼び出しがVistaで失敗しています。誰か提案がありますか?

ありがとう、ダミアン

0 投票する
4 に答える
12550 参照

windows - ハイパーターミナル アプリケーションに似たツールはありますか?

ハイパーターミナルは、モデム、ヌル モデム ケーブル、またはイーサネット接続を使用して、他のコンピュータ、Telnet サイト、掲示板システム (BBS)、オンライン サービス、およびホスト コンピュータに接続するために使用できるプログラムです。

しかし、私のハイパーターミナルの主な用途は、ローカル (仮想) COM ポートを介してハードウェアと通信することです。何らかの理由でVistaでは削除されたと思います。

ハイパーターミナルと同様に機能するツールは他にありますか?

【vista用じゃなくても気になる】

0 投票する
4 に答える
101088 参照

networking - Virtualbox ホスト - ゲスト ネットワークのセットアップ

Windows Vista でホストとゲスト OS 間のネットワークをセットアップするにはどうすればよいですか?

0 投票する
1 に答える
726 参照

windows-vista - Vistaは、DCOM呼び出しでインターフェイスIDをより厳密にチェックしますか?(スタブは悪いデータを受け取りました)?

皆さんがこの質問の長さ、そして物語のやり方を許してくれることを願っています。ブログで状況を詳しく説明することにしました。後でジョエルのこのサイトへの招待を見て、誰かが状況について何か洞察を持っているかどうかを確認するために、ここに貼り付けたいと思いました。

私は、ATLを使用してC++で記述された中間層COM+コンポーネントに対してDCOMを話すVisualBasicシッククライアントで構成されるアプリケーションを作成し、現在サポートしています。8つのオフィスすべてで稼働しています。各オフィスは、COM +アプリケーション(18の個別のコンポーネントで構成される)とSQLServerを含むバックエンドサーバーをホストします。SQLServerは通常、同じバックエンドサーバー上にありますが、そうである必要はありません。

最近、最大のオフィスであるニューヨークのバックエンドサーバーをMSCクラスターからVMWareのESXテクノロジーでホストされる新しい仮想マシンに移行しました。COM +アプリケーションの場所が古いサーバーから別の名前の新しいサーバーに移動したため、すべてのクライアントをリダイレクトして、新しいサーバーでCOM+アプリケーションをアクティブ化する必要がありました。同様のインフラストラクチャのアップグレードを行ったいくつかの小規模なオフィスで基本的に同じことを行ったため、手順は古くからありました。

すべてが日常的なもののようで、月曜日の朝、オフィス全体(約1,000台のWindows XPワークステーション)が新しいサーバーで問題なく実行されていました。しかし、その後、私のモバイルグループから電話がかかってきました。自宅でVPN接続を使用している弁護士がいて、新しいサーバーにリダイレクトされた後、奇妙なエラーが発生していました。

は?私はこれまでこのエラーメッセージを見たことがありませんでした。それは新しいサーバーでしたか?しかし、オフィス内のすべてのワークステーションは正常に機能していました。私はモバイルグループに弁護士を古いサーバー(まだ稼働していた)に戻すように指示しましたが、エラーは消えました。では、違いは何でしたか?この弁護士は自宅でVistaを運営していたことが判明しました。

私たちはどのオフィスでもVistaを運営していませんが、自宅でVistaを運営している弁護士がいます(確かに私のニューヨークのオフィスには何人かいます)。私もそうですが、この問題は見たことがありません。問題があったことを確認するために、Vistaラップトップを起動し、新しいサーバーをポイントすると、同じエラーが発生しました。私はそれを古いサーバーに戻しました、そしてそれはうまくいきました。明らかに、Vistaと新しいサーバー上のコンポーネントに問題がありました。これは、XPクライアントには影響しないように思われる問題です。どうなり得るか?

次の停止-私のラップトップのアプリケーションエラーログ。これにより、エラーに関する詳細情報が得られました。

インターフェイスIDは、謎を解明するために必要な手がかりを提供しました。「予期される」インターフェイスIDは、MDACのRecordsetインターフェイス(具体的にはそのインターフェイスのバージョン2.1)を識別します。「返された」インターフェイスは、Recordsetの新しいバージョンに対応します(バージョン2.5は、vtableの最後に1つの追加エントリが含まれている点でバージョン2.1とは異なります--メソッドSave)。

実際、私のコンポーネントのインターフェースは、Recordsetを出力パラメーターとして渡す多くのメソッドを公開しています。それで、彼らは突然、異なるインターフェースIDを持つ新しいバージョンのRecordsetを返しましたか?確かにそうだったようです。そして、なぜそれが重要なのかと思いました。vtableは、古いインターフェイスのクライアントと同じように見えます。実際、DCOMではなくインプロセスCOMについて話していた場合、この明らかに無害なインピーダンスの不一致は黙って無視され、問題は発生しなかったと思います。

もちろん、プロセスとマシンの境界が関係する場合、クライアントとサーバーの間にプロキシとスタブがあります。この場合、私はフリースレッドマーシャラーでタイプライブラリマーシャリングを使用していました。したがって、解決すべき2つの謎がありました。

新しいサーバーのメソッドから出力パラメーターで異なるインターフェイスを返すのはなぜですか?

これがVistaクライアントにのみ影響するのはなぜですか?

私のサーバーソフトウェアは8つのオフィスのそれぞれのサーバーでホストされていたので、Vistaクライアントを順番にすべてのオフィスに向けて、Vistaに問題があるものとないものを確認することにしました。照明テスト。古いサーバーの一部は引き続きVistaで動作しましたが、新しいサーバーは動作しませんでした。古いサーバーのいくつかはまだWindows2000を実行していましたが、新しいサーバーは2003年でしたが、それは問題ではなかったようです。

コンポーネントDLLの日付を比較した後、クライアントが2003Vistaより前の日付のコンポーネントDLLを持つサーバーをポイントした場合は常に問題がないように見えました。しかし、2003年以降の日付のDLLを持っているものには問題がありました。信じられないかもしれませんが、何年もの間、サーバーコンポーネントのコードに変更はありませんでした(または少なくとも重要な変更はありませんでした)。どうやら、日付が異なるのは、単に開発マシンでコンポーネントを再コンパイルしたためです。そして、それらの再コンパイルの1つが2003年に行われたように見えました。

電球が点灯しました。Recordsetsをサーバーからクライアントに戻すとき、私のATLC++コンポーネントはインターフェイスを_Recordsetとして参照します。このシンボルは、msado15.dll内に埋め込まれたタイプライブラリに由来します。これは私がC++コードで持っていた行です:

msdad15.dllの15にだまされないでください。どうやらこのDLLはMDACバージョンの長いシリーズで名前を変更していません。

当時、アプリケーションをコンパイルしたとき、MDACのバージョンは2.1でした。したがって、2.1インターフェイスIDでコンパイルされた_Recordsetは、これらのコンポーネントを実行しているサーバーによって返されるインターフェイスです。

すべてのクライアントは、1999年に生成された(私が信じる)COM +アプリケーションプロキシを使用します。私のインターフェイスを定義するタイプライブラリには、次の行が含まれています。

これは、メソッドの出力パラメーターにバージョン2.1のRecordsetが必要な理由を説明しています。明らかに問題は、2003年の再コンパイルと、その時点で_Recordsetシンボルがバージョン2.1に対応しなくなったことにありました。実際、_Recordsetは、別個のインターフェースIDを持つ2.5バージョンに対応していました。私にとっての解決策は、C++コードのすべての参照を_RecordsetからRecordset21に変更することでした。コンポーネントを再構築し、新しいサーバーにデプロイしました。出来上がり-クライアントは再び幸せそうに見えた。

結論として、私には2つのやっかいな質問が残っています。

プロキシ/スタブインフラストラクチャがVistaクライアントとは異なる動作をするように見えるのはなぜですか?Vistaは、XPよりもメソッドパラメータから返されるインターフェイスIDを厳密にチェックしているようです。

これが起こらないように、1999年にこれをどのように別の方法でコーディングする必要がありましたか?インターフェイスは不変であると想定されており、新しいバージョンのMDACで再コンパイルすると、メソッドが出力パラメーターとして別のRecordsetインターフェイスを返すようになったため、誤ってインターフェイスを変更しました。私の知る限り、当時のタイプライブラリにはバージョン固有のシンボルがありませんでした。つまり、MDACタイプライブラリの新しいバージョンではRecordset21が定義されていますが、そのシンボルは2.1タイプライブラリでは使用できませんでした。

0 投票する
2 に答える
2584 参照

encryption - マシン間での暗号化/復号化は不可

XP と Vista の間で "CryptUnprotectData" (Crypt32.dll から公開) に対して同じ呼び出しを使用しています。XPでは問題なく動作します。Vista で実行すると、次の例外が発生します。

予想どおり、crypt32.dll のバージョンは XP と Vista で異なります (SP3 またはその他の更新の結果として、実際には XP の方が新しいバージョンになっています)。

より具体的には、データを暗号化してレジストリに入れ、「CryptUnprotectData」を使用して読み取りと復号化を行っています。UAC がオフになっています。

これを前に見た人はいますか?

0 投票する
3 に答える
680 参照

windows - WinHelp が Vista 以降の Windows にインストールされているかどうかの検出

WinHelp が Windows Vista 以降のバージョンの Windows にインストールされているかどうかを検出する信頼できる方法はありますか? 可能であれば、特定のバージョンの Windows に固有ではない解決策が欲しいです。

この質問を他の掲示板に投稿したところ、Microsoft が文書化した WinHelp およびレジストリ エントリのインストール前後の Winhlp32.exe のサイズに関する回答が返ってきましたが、どれも正しくありませんでした。

0 投票する
43 に答える
8081 参照

php - Vistaに最適なPHPエディター

私の質問に答えるときに考慮すべきいくつかのポイント:

  1. 私はPHPを初めて使用し、Windows/.NETのバックグラウンドを持っています。
  2. 私のPHP開発環境は、FastCGI/PHP5を搭載したVistax64/IIS7で構成されています
  3. 軽量なものが必要です
  4. 次の機能がいいでしょう
    • 構文の強調表示と色付け
    • コードのフォーマット
    • オートコンプリート
0 投票する
1 に答える
8292 参照

windows - Windows Vistaで管理者としてショートカットを実行しているときに、別のディレクトリでショートカットを開始するにはどうすればよいですか?

デスクトップにショートカットがあり、必要な多くの引数を含むコマンドプロンプトが開きます。'start in'フィールドをd:\に設定すると、期待どおりに機能します(プロンプトはd :で始まります)。[詳細設定]->[管理者として実行]を選択してショートカットを開くと、[開始]フィールドを変更していなくても、C:\ Windows\System32で起動します。どうすればd:\で開始できますか?

0 投票する
4 に答える
4720 参照

windows - Windows Vista で従来のサウンド ミキサー コントロール (またはコマンド) をエミュレート/置換/再度有効にする方法は?

私には問題があります (そして、しばらく前から問題がありました)。Vista の新しいサウンド ミキサー スタックは、新しい優れた機能を備えていますが、車輪の再発明も行っています。Windows システムでボリューム ミキサーを使用してさまざまな有声出力を 1 つの入力にミックスしていた多くのアプリケーション (たとえば、Wave-out + Line-in --> Stereo Mix) は動作しなくなりました。この動作の代表的な例は、Shoutcast DSP プラグインです (ソリューションのテストに役立つ可能性があります)。

プログラム (SC DSP) がマイクロフォン/ラインインの再生ボリュームと Wave-out の再生ボリュームを適切に管理できるように、XP ミキサー コントロールを再度有効にするか、何らかの方法でこの動作をエミュレートするにはどうすればよいですか?

私の考えでは、Wave-Out と Line-out 用に Vista ミキサーに接続されたプログラムをエミュレートすることです (または、マイク スピーカーの音量 -- すべての再生。Vista ミキサーが参照できるように、個別の調整可能な「プログラム」として表示されます)。プログラムの古いボリュームミキサーコントロールインターフェイスとしてそれ自体を表すエミュレーションの下でシステムに「フック」しますが、率直に言って、それを行う方法がわかりません。

明確にするために、これは私の PC ではありません (HP Pavilion ラップトップです)。この問題は主に、Vista ミキサーが個別の入力/出力ではなく、個別のプログラムを制御するために発生しているようです。このハードウェアは、Windows XP を使用する際に必要なことを十分に実行できます。これがドライバの問題であることは十分承知していますが、ドライバは、Vista がインターフェイスを介してプログラマに提示するものに合わせて準備されているだけです。ミキサー デバイスは、オペレーティング システムに表示されますが、ソフトウェアに表示される場合もありますが、Windows オーディオ コントロール用のミキサー API に基づいています。

問題の詳細 (および影響を受けるユーザーの数) については、Vista で Google を使用して検索し、ライン入力の再生ボリューム コントロールを使用してください。もちろん、Shoutcast Source DSP プラグインを WinAMP 用に書き直せば問題は解決しますが、そうはいきそうにありません...

0 投票する
2 に答える
273 参照

c# - プログラムによる Vista サイドバーの処理

ビスタサイドバーをプログラムで前面(Win + Space)に移動し、逆にする(バックグラウンドに送信する)APIはありますか?