初めまして。
Windows10pro にアップデートしたところ、付属の電卓アプリが常に最前面表示できなくなり、ちょっと不便を感じています。
ブラウザを最大化して表示しながら、ネットショッピングしているときなどに、電卓を常に最前面表示していると便利なものですから…。
Windows8.1まではデスクトップアプリだったのが、Windows10でユニバーサルアプリになってしまったのが原因と思われます。
質問です。
そもそも、ユニバーサルアプリを常に最前面表示することができるものなのでしょうか?
それとも、何かほかに原因があるのでしょうか?
お知恵を拝借できますと幸いです。
今まではDelphiで以下のコードのようなユーティリティーを作り電卓を起動していました。
※Winsowa10付属の電卓のクラスネームはspyxxにて調べました。
実行環境:Windows 10 Pro x64
Delphiで作成したユーティリティーはWindows XP Pro x86 上のDelphi 6 Personalにてコンパイルしました。
——————————————————————————–
// 電卓 を常に最前面表示で起動
program calctop;
uses SysUtils, ShellAPI, Windows;
{$R *.res}
const //実行ファイルのフルパス cnFile = 'C:\Windows\system32\calc.exe'; //引数 cnParams = ''; //クラス名 cnClassname = 'Windows.UI.Core.CoreWindow'; cnCaption = '電卓';
var hWinHnd: HWND;
begin
try
// Find the window by Classname hWinHnd:= FindWindow(cnClassname, cnCaption); // if finded if (hWinHnd = 0) then begin //起動されていなければ起動する ShellExecute(0, 'open', PChar(cnFile), PChar(cnParams), nil, SW_SHOWDEFAULT); Sleep(500); hWinHnd:= FindWindow(cnClassname, cnCaption);
end;
// 最前面表示 SetWindowPos(hWinHnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end;
end.
|