質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • C#

    7121questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • C++

    3457questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • VBA

    1801questions

    VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

  • Excel

    1535questions

    Excelは、マイクロソフト社が開発しているデータ集計や分析を行う表計算ソフトの一つです。文書作成や表計算、資料作成などの多彩な機能を備えており、統合パッケージであるMicrosoft Officeに含まれています。

「アプリが鮮明に表示されるようにWindowsにより修正を試す」の設定状況を知りたいです

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 328

suns_edu

score 2

Windows10のデスクトップで右クリックしてディスプレイの設定を開くと、
拡大縮小とレイアウトの最初の項目の下に「表示スケールの詳細設定」というリンクがあります。
これをクリックすると「アプリの表示スケールの修正」をON/OFFできる設定が
現れるのですが、設定状況によりVBAのUserForm上でImageに現れる画像サイズが変わるので困っています。

具体的には、表示スケールが125%以上で「アプリの表示スケールの修正」がONだと、
DeviceDpi(※)の値が小さくなるためか、pt値から計算したdotサイズが小さくなり、
結果としてプログラムで表示させるイメージのサイズを小さく設定してしまいます。

VBAで「アプリの表示スケールの修正」の設定状況を取得する方法があれば教えていただけないでしょうか。
Win32API(C++)や.Net(C#)で取得する方法でも構いません。よろしくお願いいたします。

※ https://teratail.com/questions/135422 のコメントに記載している処理で使っています

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+2

レジストリの以下に設定されているようなので取得してみたらどうでしょうか?
HKEY_CURRENT_USER\Control Panel\Desktop
EnablePerProcessSystemDPI

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/08/01 20:08

    コメントありがとうございます。
    「アプリの表示スケールの修正」がOFFの場合はレジストリキーが消される
    (ONの場合のみキーが1の値で現れる)仕様であることがようやく分かりました。
    回答遅くなり申し訳ございません。

    キャンセル

checkベストアンサー

+1

hmmmさんの回答を元にコードを作成してみました。

Const REG_EnablePerProcessSystemDPI = _
        "HKEY_CURRENT_USER\Control Panel\Desktop\EnablePerProcessSystemDPI"

Dim wsShell As Object 'As IWshRuntimeLibrary.WshShell
Set wsShell = CreateObject("WScript.Shell")

On Error Resume Next

    '設定してある場合はregVal=1
    '設定していないとエラー
        'Number:-2147024894
        'Description:オートメーション エラーです。指定されたファイルが見つかりません。
    Dim regVal As Long 'As REG_DWORD
    regVal = wsShell.RegRead(REG_EnablePerProcessSystemDPI)

    If Err.Number = 0 And regVal = 1 Then
        Debug.Print "「アプリの表示スケールの修正」On"
    Else
        Debug.Print "「アプリの表示スケールの修正」Off"
    End If
On Error GoTo 0

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/08/01 20:10

    コメントありがとうございます。
    提示いただいたコードの動作確認中に、レジストリキーが現れたり消えたりする挙動が確認できました。
    たいへん助かりました。
    今後ともよろしくお願い申し上げます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    【緊急】VBA ウェブ画像の表示「このイメージは現在表示できません」と出てしまう

    VBAでウェブ画像検索し、その画像をエクセルに貼り付けるという操作を作成しております。 (操作手順)※標準モジュールで作成 1.googleでA列にあるワードを画像検索 2.各列の

  • 解決済

    vba サーバー ファイル検索

    vbaでexcel(path、ファイル名等記載)ファイルを読み込み、そのexcelの情報からサーバー側(windowsまたはlinux)に同じファイルが上がっているかを確かめる方法

  • 解決済

    BOOKを開かずにシートのコピー

    現在マクロを実行すると、開くexcelを選択してそのシートをコピーするような流れになっているのですが、excelのファイルを開いてシートをコピーするのではなくて、開かずにシートを丸

  • 解決済

    シートを別ブックにコピー 名前重複処置

    シートを別ブックに保存する際、保存先のブックにすでに同名のシートが存在した場合、”シート名_2” "シート名_3"のように連番にして保存させるような仕組みを考えています。連番にする

  • 解決済

    VBA ファイル自動選択

    前回の続きで質問させていただきます。 https://teratail.com/questions/77155 こちらの質問で大きな問題を解消し、問題はほぼクリ

  • 受付中

    【VBA】サブディレクトリも含めたファイル一覧を素早く取得したい

    以下のSample1とSample2はどちらもC:\Tempのサブディレクトも含めたファイル一覧を取得する関数です。 Sample1は'Sample2'よりも実行時間が短いですが、

  • 解決済

    EXCEL VBAでのシリアル通信

    EXCEL VBAでシリアル通信は可能でしょうか? VBAプログラミングのほかにライブラリやドライバを別途、インストールしないとダメでしょうか? ご教示願います。 手軽にできるプロ

  • 受付中

    VBAで別のブックのシートに記録する

    前提・実現したいこと 複数の月ごとになっているシートにデータが2列同行数記録されています。その2列のデータを用いてある計算をして、別ブックの月ごとのシートに計算結果を次々に記録して

同じタグがついた質問を見る

  • C#

    7121questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • C++

    3457questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • VBA

    1801questions

    VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

  • Excel

    1535questions

    Excelは、マイクロソフト社が開発しているデータ集計や分析を行う表計算ソフトの一つです。文書作成や表計算、資料作成などの多彩な機能を備えており、統合パッケージであるMicrosoft Officeに含まれています。

  • トップ
  • C#に関する質問
  • 「アプリが鮮明に表示されるようにWindowsにより修正を試す」の設定状況を知りたいです