Forum
windows 7 açılır açılmaz bir uygulama yapmak istiyoruz. bunu nasıl yapabiliriz acaba. kullanıcı oturum açma ekranında bile olsa çalışmasını nasıl sağlayabiliriz acaba. umarım anlatabildik. yardımlarınızı beklioruz
servis olarak calistirabilirsiniz
Bunun için windows'un startup registry yapısını kullanabılırsın.
bununla ilgili küçük bir örnek bulabileceğim bir yer varmı. programı servis olarak çalıştırmak ne demek. bir makale. uygulama. şimdiden bütün arkadaşlara teşekkür ederim
windows açıldığında kullanıcı adı girişi ekranı geldiğinde çalışmasını istiyorum. pctools altında yapılan ayarlamalar kullanıcı oturumu açtıktan sonra startup programlara programımızı ekliyor. virüs programları gibi bilgisayar açılır açılmaz programımızın çalışmasını nasıl sağlarız acaba
sc create OrnekServis binpath= “C:\Ornek\Ornek.exe”
seklinde bir komut ile programinizi servis haline getirebilirsiniz
altı cizgili kısımları kendinize göre düzenlemeniz gerek
(tabii programin servis olarak calismaya uygun olmasi gerek )
bilgisayar açıldığında o bilgisayarın açıldığını haber vermek amacıyla veri tabanına kayıt yaomasını isityoruz. bu yapıda bir dosyayı servis dosyası olarak kullanabilirmiyiz. birde yukarıdaki komutu ilgili programı setup ile kurudğumuzda servis dosyası olarak nasıl ayarlayabiliriz acaba
Nedendir bilinmez ama bazı yazılımlar sadece uygulama tabanlı
çalışır. Örneğin sunucu sistemleri üzerine kurduğunuz istemci/sunucu
mantığı ile çalışan bir uygulama siz uzak masaüstünden çıkış
yaptığınızda kapanacaktır ve istemciler sunucuyu bulamayacaklardır.
Bir çok kere yaşadığım bu sıkıntının çözümünü paylaşmak isterim.
Uygulama tabanlı çalıştırma :
Bilgisayarlarımızda kullandığımız programların bir çoğu bu yolla
çalışır. Bir uygulamayı başlattığımızda o uygulama ile ilgili tüm
işlemler çalışmaya başlar ve kapama çubuğuna tıkladığımızda o uygulama
ile ilgili çalışan tüm işlemler sona erer.
Servis tabanlı çalıştırma : Bu yolla çalıştırdığımız uygulamaları
kapama çubuğundan kapatmış olsak bile arka planda çalışmaya devam eder.
Bu işlemleri görev yöneticisinden de ( Task Manager ) kontrol edebilirsiniz.
Yazının konusuna dönecek olursak ; Uygulama tabanlı çalışan bir yazılımı nasıl servis tabanlı çalıştırırız ?
İhtiyaç duyacağımız araçlar:
Instrsrv.exe : Servis kurar ve siler.
Srvany.exe : Uygulamayı servis olarak çalıştırmaya yarar.
Bu iki aracın bulunduğu paketi indirmek için tıklayınız : srvany.zip
Adım 1 :
Yukarıdaki dosyayı indirdikten sonra ;
Herhangi bir dizine çıkarın ve cmd ekranından ;
C:\Resource Kit\Instsrv.exe Notepad C:\Resource Kit\Srvany.exe
Not :
Resource Kit klasörü bu örnekte instsrv ve srvany araçlarının bulunduğu klasör olarak tanımlanmıştır.
Notepad ise Servisin Adı olacaktır.
Adım 2 :
Registry’i açın ve aşağıdaki düğüme gidin :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Notepad
Notepad adım 1 ‘de oluşturduğumuz servisin adıdır. Siz hangi isimle servis oluşturduysanız o servisin düğümünü açın.
ve Parameters adında bir key oluşturun.
Parameters içinde bir dizi değeri (String value) oluşturun. Değer anahtarı bilgisi şöyle olmalı;
Değer ismi : Application
Data Tipi : REG_SZ
Dizi : <path>\<application.ext>
Not: <application.ext> parametresi, servis olarak çalışacak exe’nin yolunu göstermelidir.
Şimdi uygulamanın servis yöneticisinden ( başlat–>çalıştır–>services.msc) yönetildiğini görebilirsiniz.
Bu servisi silmek için Instsrv.exe aracını tekrar kullanabiliriz.
Adım 1 :
C:\Resource Kit\Instsrv.exe “Notepad” remove
Kolay gelsin.
exe halindeki bir programı setup ile bilgisayara kurarken servis dosyası olarak çalışması için yukarıda verdiğiniz ayarları elle mi yapmamız gerekiyor acaba
.net ile setup oluşturulurken dosyanın servis dosyası olarak ayarlanması mümkünmü yada proje açılırken servis dosyası oluşturmak açacıyla açmamız mümkünmü
.net ile setup oluşturulurken dosyanın servis dosyası olarak ayarlanması mümkünmü yada proje açılırken servis dosyası oluşturmak açacıyla açmamız mümkünmü
Merhabalar,
Şöyle bir kaç ilgili örnek buldum. Umarım yardımcı olur.
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=3901&lngWId=10
// incelediğim kadarıyla burada farklı yollar mevcut servis kullanarak registery ekleme, başlangıç dosyasına ekleme vb
http://www.geekpedia.com/tutorial151_Run-the-application-at-Windows-startup.html
http://www.dreamincode.net/code/snippet2601.htm
Yazılım konusunda daha deneyimli arkadaşlar da yardımcı olacaklardır
İyi çalışmalar.
Bu yazılımla alakalı bir durum
.NET ile uygulama geliştirmediğim için bilemiyorum ama diğer geliştirme ortamlarında servis tabanlı derlemekte mümkün.
hocam vb60 ile derlememiz mümkünmü acaba
bilgisayar açıldığında o bilgisayarın açıldığını haber vermek amacıyla veri tabanına kayıt yaomasını isityoruz. bu yapıda bir dosyayı servis dosyası olarak kullanabilirmiyiz. birde yukarıdaki komutu ilgili programı setup ile kurudğumuzda servis dosyası olarak nasıl ayarlayabiliriz acaba
Kulağı tersten gösteriyorsun, Windows bilgisayarları her açılışta Event Log'a kayıt düşer, her şey için bir program yazmaya kalkmayın Windows'un mevcut birçok sistem yönetim aracı/komutu var onları öğrenin.
Merhaba
Benzer bir sistemi ben kullanıyorum. Yazdığım basit bir uygulama, logon ekranında makinanın aldığı ip adresini php scriptime post ediyor. Oturum açılmadan uygulama çalıştığı için makinanın boot edilmiş olması yeterli. Bu şekilde dinamik ip ile rdp kullanabiliyorum.
Yukarıda bahsedilen şekillerde service olarak bir uygulamayı tanıtıp / yazıp kullanabilirsiniz. Fakat Windows 7'de (önceki sürümlerde var mı bilmiyorum) Group Policy üzerinden makinanın başlangıç ve kapanma olaylarına uygulama çalıştırılması için komut verebiliyorsunuz.
Başlat > Çalıştır > gpedit.msc > Bilgisayar Yapılandırması > Windows Ayarları > Komut Dosyaları (Başlangıç/Kapatma) yolunu takip ederek, sağ taraftan Başlangıç veya Kapatma olayı için uygulama ekleyebilirsiniz.
Bu ayar registry'de:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Startup\0\2
yolunda tutulur. Sondaki 2 değeri 0 tabanlı olmak üzere her bir başlangıç uygulaması için artıyor. Bende başlangıçta 2 uygulama var ve anahtar isimleri 0 ve 1. Bir üçüncüsünü eklemek istediğimde anahtar adı 2 olmalı.
Örnek registry yedek dosyası:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Startup\0\2]
"Script"="C:\\app\\app.exe"
"Parameters"="/param=value"
"IsPowershell"=dword:00000000
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
Unutmadan; group policy üzerinde yaptığınız her değişiklikten sonra "gpupdate /force" komutunu çalıştırın. Bu şekilde değişiklikler registry üzerine yazılacaktır.