Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Farklı programları tek bir program altında birleştirme
#1
Sevgili meslektaşlarım,

bir konuda yardımarınızı rica edeceğim. Yazmış olduğum 12 farklı program var ve sadece exe olarak yapılmış durumda. Ancak tüm bu pogramları bir araya getirerek, tek bir exe altında çalışmasını düşünüyorum. Yani tek exe de menüler oluşturup, bu menülerle tüm programları çalıştırmak istiyorum. Ancak, ilgili programı sadece yetkili user açabilmeli. Konunun içinden bir türlü çıkamadım. Exeleri shell ile çalıştırmak istemiyorum çünkü, açık exelere tüm personeller erişecek bu sefer. Son bir bilgi, biçbir programımda kullanıcı adı şifre girişi yoktur. Tıkla çalıştır şeklinde tasarlanmıştır.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#2
Bence KillTask ile sürekli bu 12 programı kapat yetkili bir kullanıcı açtıysa programı kontrol edip KillTask ile  kapatmayı durdur.  
Program bilgisayarda sürekli çalışacak şekilde ve hiç kapatılamayacak şekilde ayarlarsın hatta birbirini kontrol eden iki aktif program ile bu sayede yetkisiz erişimleri engellemiş olursun.

Bir ara buna benzer bir şey yapmıştım.

Sadece bir fikir tabi bu ?

function KillTask(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result := 0;

FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);

while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) =
UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle,
FProcessEntry32);
end;

CloseHandle(FSnapshotHandle);
end;

Çalıştırmak için de : ShellExecute işini görecektir.
Faydalanılmayan bilgi, harcanmayan ve hiç kimseye hayrı dokunmayan define gibidir.

Hz. Muhammed (sav.)
Cevapla
#3
Programlar arası haberleşme yapabilirsin. Ana programdan diğerlerine ortak EVENT kullanımı uygundur.
İstemediğin davranış olursa bu haberleşme sayesinde programlar kendilerini kapatabilir.

Farklı exeleri tek form içinde birleştirmek için de SETPARENT apisi işi görecektir.
Cevapla
#4
Bahsettiğiniz 12 adet exede küçük bir değişiklik yaparak sadece belirli parametre ile çalıştırıldıklarında açılmasını eğer parametre yoksa otomatik olarak kapanmasını (program açılışında parametre girilmemişse kapat diyerek) sağlayabilirsiniz. Ana program exe leri parametre göndererek çağıracağı için sadece ana program tarafından açılması sağlanabilir.

ParamCount, ParamStr komutlarını inceleyebilirsiniz. Küçük bir örnek : https://stackoverflow.com/questions/1593...hi-program
Cevapla
#5
Herpinize ilginizden dolayı çok teşekkür ederim. Tüm cevapların içeriğini deneyerek en uygun olanı bulmaya çalışacağım.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#6
Parametrelerin birini örneğin o anki saatin numerik değerini şifreli (base64, sha256 vs) biçimde göndermekte fayda var. Çünkü komut satırı görev yöneticisinde görülebiliyor. Bu olmazsa elle de açılabilir.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Office programları olmayan PC'den Access database erişimi. enigma 1 99 04-03-2024, Saat: 13:47
Son Yorum: gbg
  [ÇÖZÜLDÜ] macos işletim sistemine program yazmak shooterman 5 445 02-02-2024, Saat: 09:54
Son Yorum: shooterman
  program exe icon sorunu cvheneburi 9 2.722 19-10-2023, Saat: 15:04
Son Yorum: harunyl
  Delphi ile Birden Fazla Pdf Dosyasını Birleştirme/Merge Hk. glagher 5 711 08-09-2023, Saat: 10:37
Son Yorum: glagher
  fastreport sayfa birleştirme erdogan 4 546 06-09-2023, Saat: 12:02
Son Yorum: erdogan



Konuyu Okuyanlar: 1 Ziyaretçi