名前 題名 ▼ Mr.XRAYさん > サンプルをダウンロードしたけど,Windows API 使いまくりで, > 何がなんだか分からない, > いや,精通していないので,という方のために,簡単なサンプルです. > てもやっぱり Windows API 使っています. > > 以下の Windows API の関数を使用しています. > ほとんど Windows API だけのコードだな.ハハハッ. > 難解だな,こりゃ. > この場合「簡単」と言うのは,コードを簡単にコピーしてテストしやすい > という意味にとってください. > > ShellExecute > FindWindow > SetForegroundWindow > SetWindowPos > > フォームに TButton を 2 つ配置して,以下のコードとします. > > uses > ShellAPI; > > {$R *.dfm} > > //============================================================================= > // フォーム生成時の処理 > //============================================================================= > procedure TForm1.FormCreate(Sender: TObject); > begin > Self.FormStyle := fsStayOnTop; > end; > > //============================================================================= > // メモ帳を起動 > // usesにShellAPIが必要 > //============================================================================= > procedure TForm1.Button1Click(Sender: TObject); > begin > ShellExecute(Handle, '', 'Notepad.exe', nil, nil, SW_SHOW); > end; > > //============================================================================= > // メモ帳を最前面に表示 > //============================================================================= > procedure TForm1.Button2Click(Sender: TObject); > var > LHandle : HWND; > LFlags : Cardinal; > begin > LHandle := FindWindow('Notepad', nil); > > if LHandle > 0 then begin > LFlags := SWP_NOSIZE or SWP_NOMOVE or SWP_SHOWWINDOW; > > SetForegroundWindow(LHandle); > SetWindowPos(LHandle, HWND_TOPMOST, 0, 0, 0, 0, LFlags); > end; > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link