問題タブ [windows-10-desktop]

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 投票する
1 に答える
409 参照

win-universal-app - デスクトップ アプリ コンバーター「致命的なエラー 1000」

Desktop App Converter (Project Centennial) を実行しようとすると、次のエラーが表示されます。

関連するスクリプトは EnvironmentAssertions.ps1 にあります。

Windows の機能に、コンテナーに関連する項目が見つかりませんでした。

このエラーはどのように解決できますか?

Windows 10 Pro インサイダー プレビュー (ビルド 14316) および Desktop App Converter プレビュー (0.1.8.release_2016-04-05_17-47_5aa8cc)

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

c++-cli - create_task でマネージ C++ クラスがクラッシュする

基本的に、マネージ クラス (UWP) の変数を変更しようとすると、クラッシュします。さらに、アプリの名前空間で作成された変数を変更しようとすると、クラッシュするようです。つまり、新しい名前空間とマネージド クラスを作成すれば、変数を問題なく変更できます。

クラッシュ

これはクラッシュしません

しかし、これはそうです

アプリのデフォルトの名前空間にあり、メインスレッドの外部でアクセスされていることに関係があるとほぼ確信しています...少なくとも、実際のクラス以外の唯一の違いであるため、そのように見えます。

これがGENERIC_ITEMの外観です。

このまったく同じコードを最初のスレッドで実行すると、クラスは完全に正常に動作するため、クラスに問題がないことはわかっています。

助言がありますか?ありがとう!:D

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

c# - タブレットの IMEI 番号を取得するには?

これは WinRT アプリケーションではありません。標準のWPFです。デバイスは通常の Windows PC として動作し、Windows 10 がインストールされています。3G ブロードバンド モデムと SIM カード スロットを備えています。

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

uiwebview - Visual Studio 2015 アプリケーション プロパティ ウィンドウの null 参照エラー

VS2015でプロジェクトを作成しています。私が選択したテンプレートは空白のユニバーサルアプリです。

ページの読み込み中にエラーが発生しました。

オブジェクト 'Microsoft.VisualStudio.ProjectFlavoring.Automation.Project.CommonProjectExtender' のプロパティ アクセサー 'TargetDescriptions' が次の例外をスローしました:'値を null にすることはできません。パラメータ名: ターゲット'.

エラーメッセージ

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

windows - モニターごとの高 DPI サポートのための非クライアント領域 (タイトル バー、メニュー バー) のスケーリング

Windows 8.1 では、モニターごとに異なる DPI 設定を使用できる機能が導入されました。この機能は、「モニターごとの高 DPI サポート」と呼ばれます。それは持続し、Windows 10 でさらに洗練されました。

アプリケーションがオプトインしない場合 (つまり、DPI 非対応または高 DPI 対応の場合)、アプリケーションは DWM によって適切な DPI に自動的にスケールアップされます。ほとんどのアプリケーションは、Windows にバンドルされているほとんどのユーティリティ (メモ帳など)を含め、これら 2 つのカテゴリのいずれかに分類されます。私のテスト システムでは、高 DPI モニターは 150% スケール (144 DPI) に設定され、通常のモニターはシステム DPI (100% スケール、96 DPI) に設定されています。したがって、高 DPI 画面でこれらのアプリケーションのいずれかを開く (またはそこにドラッグする) と、仮想化が開始され、すべてが拡大されますが、信じられないほどぼやけてしまいます。

一方、アプリケーションがモニターごとの高 DPI をサポートすることを明示的に示している場合、仮想化は実行されず、開発者はスケーリングを担当します。マイクロソフトはここにかなり包括的な説明をしています*が、自己完結型の質問のために、要約します。まず、<dpiAware>True/PM</dpiAware>マニフェストに設定することでサポートを示します。これにより、新しい DPI 設定と、ウィンドウの推奨される新しいサイズと位置の両方を通知するWM_DPICHANGEDメッセージの受信が選択されます。また、 GetDpiForMonitor関数を呼び出して実際のDPI を取得することもできます。互換性の理由で嘘をつくことはありません。Kenny Kerr も包括的なチュートリアルを作成しています。

小さな C++ テスト アプリで、これらすべてを正常に実行できました。これは多くの定型文であり、ほとんどがプロジェクト設定であるため、ここに完全な例を投稿してもあまり意味がありません。テストする場合は、Kenny の指示に従うか、MSDN のこのチュートリアルに従うか、公式の SDK サンプルをダウンロードしてください。これで、クライアント領域のテキストはきれいに見えますが (私の処理のおかげでWM_DPICHANGED)、仮想化が実行されなくなったため、非クライアント領域のスケーリングはありません。その結果、タイトル/キャプション バーとメニュー バーのサイズが正しくありません。高 DPI 画面では大きくなりません。

問題は、ウィンドウの非クライアント領域を新しい DPI に合わせるにはどうすればよいかということです。
独自のウィンドウ クラスを作成するか、ダイアログを使用するかは問題ではありません。この点では同じ動作をします。

非クライアント領域を含むウィンドウ全体をカスタム描画するしかないという答えはありません。これは確かに可能であり、Windows 10 Calculator などの UWP アプリ (以前は Metro と呼ばれていたもの) が実際に行っていることですが、多くの非クライアント ウィジェットを使用し、ネイティブに見えることを望んでいるデスクトップ アプリケーションにとっては、実行可能なオプションではありません。

それは別として、それは明らかに誤りです。カスタム描画のタイトル バーが正しい動作を実現する唯一の方法ではありません。Windows シェル チームがそれを行ったからです。謙虚な実行ダイアログは期待どおりに動作し、DPI が異なるモニター間でドラッグすると、クライアント領域と非クライアント領域の両方のサイズが適切に変更されます。

Spy++ を使用して調査した結果、これは標準的な Win32 ダイアログにすぎず、特別なものではないことが確認されました。すべてのコントロールは、標準の Win32 SDK コントロールです。これは UWP アプリではなく、カスタム描画されたタイトル バーでもありませんWS_CAPTION。スタイルはそのままです。これは、モニターごとの高 DPI 対応としてマークされている explorer.exe プロセスによって起動されます (Process Explorer および GetProcessDpiAwareness で検証済み)このブログ投稿では、実行ダイアログとコマンド プロンプトの両方が Windows 10 で正しくスケーリングされるように書き直されていることが確認されています (「コマンド シェルなど」を参照)。実行ダイアログはタイトル バーのサイズを変更するために何をしていますか?

新しいスタイルの[開く] ダイアログと [保存] ダイアログを担当するCommon Item Dialog APIも、[実行] ダイアログから [参照] ボタンをクリックするとわかるように、モニターごとの高 DPI 対応のプロセスから起動すると正しくスケーリングされます。Task Dialog APIについても同様で、アプリが異なるサイズのタイトル バーを持つダイアログ ボックスを起動するという奇妙な状況を生み出します。(ただし、従来の MessageBox API は更新されておらず、テスト アプリと同じ動作を示します。)

シェルチームがやっているなら、それは可能でなければなりません。モニターごとの DPI サポートの設計/実装を担当するチームが、開発者が互換性のあるアプリケーションを作成するための合理的な方法を提供することを怠ったとは想像できません。このような機能には開発者のサポートが必要です。または、すぐに使用できない機能です。WPF アプリケーションでさえ壊れています。Microsoft のPer-Monitor Aware WPF Sampleプロジェクトは、非クライアント領域のスケーリングに失敗し、タイトル バーのサイズが正しくありません。私は陰謀論にはあまり賛成ではありませんが、これはデスクトップ アプリの開発を思いとどまらせようとするマーケティング活動の匂いがします。もしそうで、公式の方法がない場合は、文書化されていない動作に依存する回答を受け入れます。

文書化されていない動作について言えば、実行ダイアログが異なる DPI 設定のモニター間でドラッグされたときにウィンドウ メッセージをログに記録すると、文書化されていないメッセージ0x02E1. このメッセージ ID は文書化されたWM_DPICHANGEDメッセージ ( 0x02E0) よりも正確に 1 大きいため、これはやや興味深いものです。ただし、DPI 認識設定に関係なく、私のテスト アプリはこのメッセージを受け取りません。(不思議なことに、ウィンドウが高 DPI モニターに移動すると、Windowsはタイトル バーの最小化/最大化/閉じるグリフのサイズをわずかに大きくすることがわかります。仮想化されているときほど大きくはありません。 、ただし、スケーリングされていないシステム DPI アプリケーションに使用されるグリフよりもわずかに大きいです。)

これまでのところ、私の最善のアイデアは、WM_NCCALCSIZEメッセージを処理して非クライアント領域のサイズを調整することでした。関数SWP_FRAMECHANGEDでフラグを使用することにより、ウィンドウのサイズを強制的に変更し、 に応答して非クライアント領域を再描画することができます。これは、タイトル バーの高さを減らしたり、完全に削除したりするのには問題なく機能しますが、それ以上高くなることはありません。キャプションは、システム DPI によって決定される高さでピークに達するようです。うまくいったとしても、システム描画のメニュー バーやスクロール バーには役立たないので、これは理想的な解決策とは言えませんが、少なくとも最初の一歩にはなるでしょう。他のアイデア?SetWindowPosWM_DPICHANGED

* この記事には、「モニターごとの DPI 対応アプリケーションの非クライアント領域は Windows によってスケーリングされず、高 DPI ディスプレイではそれに比例して小さく表示されることに注意してください」と記載されていることは知っています。それが (1) 間違っていて、(2) 不十分である理由については、上記を参照してください。非クライアント領域をカスタム描画する以外の回避策を探しています。

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

cmd - ディレクトリにアクセスするコマンドを入力したときのコマンド プロンプト エラー

私は開けるcmd C:\Users\Anonymous>

何かにアクセスしようとすると、次のように表示されます。

ここに画像の説明を入力

以前、path環境変数が空だったので入れました

道

修正が必要です。

0 投票する
0 に答える
267 参照

windows-10 - ユニバーサル Windows プラットフォームでのヘッドフォン接続イベント (またはチェック)

UWP アプリでヘッドフォンがタブレットまたはデスクトップ PC に接続されているときに、イベントをキャッチする必要があります。アプリの ARM バージョン (UWP デバイスのモバイル ファミリ用) は、イベントなどのイベントをキャッチしWindows.Phone.Media.Devices.AudioRoutingManager.GetDefault().AudioEndpointChangedます。x86 アプリと x64 アプリに似たものはありますか?

0 投票する
0 に答える
1113 参照

visual-c++ - Windows-10 LoadLibraryA がエラー 126 で失敗する

私のアプリケーションは LoadLibraryA を呼び出して、dll を動的にロードします。これは、VS-2013 を使用した Windows-7 では問題なく動作ますが、VS-2015を使用したWindows-10(UWP) ではエラーが発生します。 アプリは、ネイティブ dll (C++ で記述) をロードしようとする Java で記述されています 。Windows-10 では、 GetLastError()からエラー126が発生します。

指定されたモジュールが見つかりませんでした

LoadLibraryA 関数に指定された dll パスに問題は見られません。これは、まったく同じパスが Windows-7 で期待どおりに機能するためです。

Dependency Walkerは Windows-10 では利用できないようです。繰り返しになりますが、Windows-7でdllのロードがエラーなしで機能しているため、依存関係に問題はないと思われます