Kali ini penulis akan berbagi sedikit trik tentang cara mengetahui apakah program sudah dijalankan atau belum. Hal ini dapat kita manfaatkan untuk meminimalisir penggunaan memori karena jika program sudah dijalankan maka aksi yang akan dilakukan adalah memunculkan pesan dan menutup program yang kedua dijalankan. seperti gambar berikut ini :
Cek Apakah Aplikasi Sudah Berjalan di Delphi XE5. Langkah-Langkahnya adalah sebagai berikut :
Langkah 1 :
Tambahkan TlHelp32 dalam uses.
Langkah 2 :
Buat Sebuah Fungsi dengan source code seperti berikut. Fungsi inilah yang akan melakukan pengecekan pada aplikasi yang kita jalankan.
function cekaplikasi(const ExeName: String): Integer; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin FSnapshotHandle:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize:= SizeOf(FProcessEntry32); ContinueLoop:= Process32First(FSnapshotHandle, FProcessEntry32); Result:= 0; while Integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeName))) then Inc(Result); ContinueLoop:= Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end;
Langkah 3 :
Untuk mengetahui program sudah berjalan atau belum, Kita perlu menggunakan fungsi tersebut dalam event onshow milik form dengan listing code seperti berikut :
if cekaplikasi(ExtractFileName(Application.ExeName)) > 1 then begin MessageDlg('Aplikasi sudah berjalan! Creat Baguscakepz.blogspot.com', mtError, [mbOK], 0); Application.Terminate;
Langkah 4 :
Selamat mencoba :D
Tidak ada komentar:
Posting Komentar