Delphi/400 10 Seattle以降では、VCLアプリケーション側で
「高DPI」と「管理者権限」の有効化がサポートされています。
プロジェクトメニューにあるオプションで「アプリケーション」の項目から、
マニフェストファイルの設定欄から有効にするだけで設定が可能です。
BDEを使用するアプリケーションや、
レジストリまたは「c:\Windows」「c:\Program Files (x86)」内のファイルを変更する
アプリケーションなどで管理者権限が必要になるため、要件に応じて設定して下さい。
「管理者権限の有効化」とは:
EXEをダブルクリックで実行する場合などで、
強制的に「管理者として実行」させることができます。
DelphiのIDE(統合開発環境)でデバッグを行う場合は、
デバッグを行うDelphi自身も管理者として起動しておく必要があります。


10.2以降は使用できる設定値が増えています。
- 10 Seattle:
- 「管理者権限の有効化」
チェックをオンにすると、アプリケーションは管理者権限で実行しなければなりません。
管理者権限のないユーザーでアプリケーションを実行しようとすると、システムから認証情報が求められます。
- 「管理者権限の有効化」
- 10.2 Tokyo 以降:「実行レベル」として、以下の3項目から選択式になっています。
- [インボーカとして]:(※初期値)
このオプションを選択すると、アプリケーションを親プロセスと同じアクセストークンで実行します。 - [使用可(最高)]:
現在のユーザーが取得できるうち、もっとも高い権限で実行します。 - [管理者権限が必要]:
管理者権限が必要な場合に、このオプションを選択します。
管理者権限のないユーザーでアプリケーションを実行しようとすると、システムから認証情報が求められます。
- [インボーカとして]:(※初期値)
Delphi/400 XE7以前で作成時など、何らかの理由で管理者権限を強制させたい場合は、
Delphi側で設定する方法が無いため、以下の方法で設定します。
エクスプローラーで対象のEXEのプロパティを表示し、
「互換性」タブから「管理者としてこのプログラムを実行する」を有効にします。

※上記の「互換性」のタブの設定値はレジストリに保管されますが、
EXEのフルパスを使用するため、EXEの場所が変わると再設定が必要になります。


の中に設定値が格納されている
(「すべてのユーザーの設定を変更」した場合にHKLM)
※「高DPIの有効化」については、こちらの過去のTipsをご参照ください。
【Delphi】高DPIの有効化設定と個別スケーリング手順