Servis ile ilgi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Servis ile ilgi
Merhaba arkadaşlar;
Bir program var. Servis olarak çalışıyor. Servis içerisinde başka programı çalıştırıyor. Windows XP 'de program yok. Ama Windows 2000'e geldi mi çalışmıyor. Yani çalıyor ama hafızada kalıyor. Sanki yarım çalışır vaziyette tepki vermiyor. Sorun ne olabilir bir fikriniz var mı ? Her türlü kodlama denedim olmadı...
Bir program var. Servis olarak çalışıyor. Servis içerisinde başka programı çalıştırıyor. Windows XP 'de program yok. Ama Windows 2000'e geldi mi çalışmıyor. Yani çalıyor ama hafızada kalıyor. Sanki yarım çalışır vaziyette tepki vermiyor. Sorun ne olabilir bir fikriniz var mı ? Her türlü kodlama denedim olmadı...
kardeş mesajını 25kişi görüntülemiş ama hiç kimse bişey yazmamış, sanırım onlar da benim gibi bişey anlamadılar sorudan.
servis olarak çalışıyor ne demek?
ben daha önceden böyle bi terim duymadım.
yani bir hayli kafa karıştıran bişey, sen bence daha anlaşılır bişeyler yaz.
kolay gelsin.
servis olarak çalışıyor ne demek?
ben daha önceden böyle bi terim duymadım.
demişsi. ne demek bu, xpde program yok, 200de zaten çalışmıyor. ya bu bilgisayarda kaç tane işletim sistemi var? windows 98 de mi yüklü?Windows XP 'de program yok. Ama Windows 2000'e geldi mi çalışmıyor.
yani bir hayli kafa karıştıran bişey, sen bence daha anlaşılır bişeyler yaz.
kolay gelsin.
seydi73 yazdı:Arkadaşlar Merhaba
Asıl Problem Şu Delphi 6 ile yazdığımız Windows servisi olarak çalışacak bir program var. Bu Servis Programı çalışırken kendi içinden bir programı çalıştırıyor mesela hesap makinası gibi. Bu yazdığımız Programı XP işletim sistemli makinalarda Windows servisi olarak kurduğumuzda hiçbir problem yok doğru bir şekilde çalışıyor.
Ancak bu programı Windows 2000 makinalarda servis olarak çalıştırmızda ise bu programın çalıştıracağı diğer programlar yukarıdada dediğim gibi mesela hesap makinası gibi başlangıçta çalışıyor ama sonra process listte askıda kalıyor çalışacak program başlatılamıyor sadece process listte askıda kalıyor.
Sorun neden kaynaklanabilir. Win2000 kurulu makinalarda service pack 4 de yüklü.
Kolay gelsin...
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Gerçekten ilginç bir durum.
WinExec kullandıysan ShellExecute'u dene.
Bir de kodları Win 2000'de derlemeyi dene.
Kolay gelsin.
(Bir tahmin daha: EDİT:uups. tahmin yanlışmış)
WinExec kullandıysan ShellExecute'u dene.
Bir de kodları Win 2000'de derlemeyi dene.
Kolay gelsin.
(Bir tahmin daha: EDİT:uups. tahmin yanlışmış)
En son ulu coder tarafından 16 May 2006 11:59 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
WinExec ve ShellExecute Servis programlarında çalışmaz. Onun yerine CreateProcess'i deneyin.
Örnek function:
Eğer olmazsa LoadModule üzerinde çalışın.
İyi çalışmalar.
Örnek function:
Kod: Tümünü seç
function MyWinExec(const FileNameAndCommandLine: string; AShowWindow: LongWord): BOOL;
var
SI: TStartupInfo;
PI: TProcessInformation;
begin
FillChar(SI, SizeOf(SI), 0);
SI.cb := SizeOf(SI);
SI.dwFlags := STARTF_USESHOWWINDOW;
SI.wShowWindow := AShowWindow;
try
Result := CreateProcess(nil, PChar(FileNameAndCommandLine), nil, nil, True, 0, nil, nil, SI, PI);
finally
CloseHandle(PI.hThread);
CloseHandle(PI.hProcess);
end;
end;
İyi çalışmalar.