Service Application ile Başka Bir Program Çalıştırmak hk.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: Service Application ile Başka Bir Program Çalıştırmak hk.

Mesaj gönderen ertank »

alitiras yazdı: 31 May 2023 02:54 Hocam Program görünürde çalışıyor hizmetlere gelmiyor. neden olabilir hizmetlerde exe ismi service olarak baktım yok
Merhaba,

Delphi service uygulamaları önce servis olarak sisteme tanıtılmalı. Bunun için "Administrator" yetkisine sahip komut satırında servis uygulamasını aşağıdaki şekilde çalıştırmalısınız.

Kod: Tümünü seç

delphi_service.exe /install
Bundan sonra Windows Services içinde gözükecektir. Çalıştırılıp kapatılabilir olacaktır.
alitiras
Üye
Mesajlar: 8
Kayıt: 11 Eyl 2014 09:36

Re: Service Application ile Başka Bir Program Çalıştırmak hk.

Mesaj gönderen alitiras »

delphi_service.exe dosyası yok
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: Service Application ile Başka Bir Program Çalıştırmak hk.

Mesaj gönderen ertank »

alitiras yazdı: 31 May 2023 04:18 delphi_service.exe dosyası yok
Evet. O bir örnekti. Sizin geliştirdiğiniz servis uygulaması EXE adı olacak onun yerine.
alitiras
Üye
Mesajlar: 8
Kayıt: 11 Eyl 2014 09:36

Re: Service Application ile Başka Bir Program Çalıştırmak hk.

Mesaj gönderen alitiras »

Hocam Çok teşekkürler bu şekilde hizmet çalıştı. Fakat benim amacım oturum açmadan önce ekranda bir veri girişi alıp authentication şifre girişi sağlamak yani bir sms gönderip o sms in girilmesi ile windowsa 2. bir güvenlik duvarı koymak .
burada oturum açınca servis istediğim programı açıyor ama oturum açmadan ekran öyle kalıyor.

bunun bir yolu varmıdır?


bir de
//result satırı
// bu satırlar aktifken delphi derlemiyor hata veriyor.
bunları silince çalışıyor
bu neden olabilir ?
function InterlockedExchangePointer(var Target: PVOID; Value: PVOID): PVOID;
begin
{$ifdef CPU64}
Result := PVOID(InterlockedExchange64(LONGLONG(Target), LONGLONG(Value)));
{$else}

// Result := PVOID(InterlockedExchange(LONG(Target), LONG(Value)));

{$endif CPU64}
end;
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: Service Application ile Başka Bir Program Çalıştırmak hk.

Mesaj gönderen ertank »

alitiras yazdı: 31 May 2023 03:26 Result := PVOID(InterlockedExchange(LONG(Target), LONG(Value))); bu satırda
[dcc64 Error] JwaWinBase.pas(6179): E2197 Constant object cannot be passed as var parameter
hatası veriyor windows 11 64 bit delphi 10.4
Bu fonksiyonu daha önce kullanmadım. Ancak hata mesajı gayet açık.
Target ya da Value tanımlarından en az biri "const" olarak tanımlanmış. Ancak fonksiyon değeri değiştirilebilir "var" olarak tanımlanmış parametre istiyor.

Eğer her iki tanım da kesin "var" ise veri türlerini LONG olarak değiştirerek aşağıdaki şekilde deneyebilirsiniz

Kod: Tümünü seç

Result := PVOID(InterlockedExchange(Target, Value));
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: Service Application ile Başka Bir Program Çalıştırmak hk.

Mesaj gönderen ertank »

alitiras yazdı: 31 May 2023 04:58 Fakat benim amacım oturum açmadan önce ekranda bir veri girişi alıp authentication şifre girişi sağlamak yani bir sms gönderip o sms in girilmesi ile windowsa 2. bir güvenlik duvarı koymak .
İşletim sistemi çalışmasına özellikle login kısmında ne kadar müdahale edebilirsiniz emin değilim. Microsoft bu işi kendisi yapıyor diye biliyorum.
https://learn.microsoft.com/en-us/azure ... sms-signin

Ancak bunu yapabilmek için bilgisayarın bir domain (Active Directory) yapısında kullanılması gerekecektir.
Cevapla