Jump to content

Program Kapanırsa Yeniden Açılsın. Nasıl Yapılır ?


U287ur199evik
 Share

Recommended Posts

Arkadaşlar bildiğiniz üzere internet kafeciyim ve masaüstü çalışması hazırlıyorum, bir süre ara vermek durumunda kaldım ve çalışmama yine kaldığım yerden devam etmek istiyorum.

 

Sıkıntılarımdan biri hazırladığımız autorun.exe müşteri veya kullandığımız cafe otomasyon programından dolayı kapanmak zorunda kalabiliyor. Bu durumda programı yeniden başlatabilmek için ana makineden komut vermemiz yada bilgisayarı yeniden başlatmamız gerekiyor (bilgisayarı yeniden başlatma sebebi, autorun'u başlagıca atmış olmamdır). Bunun önüne geçebilmek için program herhangi bir sebeple kapatıldığında yeniden kendi kendini başlatabilmeli.

 

Bu şekilde bazı progamlarda kodlama yapılabiliyor bildiğim kadarı ile (delphi, pascal, c# v.s.) bu tarz bir kodlama ams ile mümkün mü ? Program tamamen kapatılamasın değil de herhangi bir şekilde kapanırsa yeniden kendini başlatabilsin.

Link to comment
Share on other sites

AMS bölümüne açılmış ama AutoIt ile bir kodlama yapılabilir. AutoIt ile hazırlanmış SYSTEM kullanıcısında çalışan program, kullanıcı hesabındaki masaüstü programını başlatabilir.
 

#RequireAdmin
#NoAutoItExecute
#NoTrayIcon

While 1 = 1
ProcessWaitClose("cafeprogrami.exe")
Run("cafeprogrami.exe")
WEnd

ProcessWaitClose kullanıldığından işlemciyi yüzde yüz harcamayacaktır.

Programı SYSTEM kullanıcısında hizmet gibi çalıştırmak nircmd ile yapılabilir. AutoIt ile de SYSTEM kullanıcısında çalıştırılabilir fakat biraz karışık. Kullandığınız cafe otomasyon yazılımını söylerseniz daha ayrıntılı bir şeyler yapmaya çalışırım.

Edited by reyiz
Link to comment
Share on other sites

AMS bölümüne açılmış ama AutoIt ile bir kodlama yapılabilir. AutoIt ile hazırlanmış SYSTEM kullanıcısında çalışan program, kullanıcı hesabındaki masaüstü programını başlatabilir.
 

#RequireAdmin
#NoAutoItExecute
#NoTrayIcon

While 1 = 1
ProcessWaitClose("cafeprogrami.exe")
Run("cafeprogrami.exe")
WEnd

ProcessWaitClose kullanıldığından işlemciyi yüzde yüz harcamayacaktır.

Programı SYSTEM kullanıcısında hizmet gibi çalıştırmak nircmd ile yapılabilir. AutoIt ile de SYSTEM kullanıcısında çalıştırılabilir fakat biraz karışık. Kullandığınız cafe otomasyon yazılımını söylerseniz daha ayrıntılı bir şeyler yapmaya çalışırım.

 

Pan Cafe Manager. Daha yeni kodlanıyor program şuan beta aşamasında ve şuan için belirli kafeler dışında dağıtım yapılmadı.

 

Edit: Bu kodlar autoit programı için mi ?

Edited by U287ur199evik
Link to comment
Share on other sites

Kullandığınız masaüstü yazılımının adı autorun.exe mi? Kullandığınız cafe programı bütün programları otomatik kapatıyor mu? Masa açıldıktan sonra program başlattırma seçeneği yok mu?

Bunlara göre bir kodlama yapacağım. :)

Bu kodlar autoit programı için mi ?
Evet.

Edited by reyiz
Link to comment
Share on other sites

Kullandığınız masaüstü yazılımının adı autorun.exe mi? Kullandığınız cafe programı bütün programları otomatik kapatıyor mu? Masa açıldıktan sonra program başlattırma seçeneği yok mu?

Bunlara göre bir kodlama yapacağım. :)

Bu kodlar autoit programı için mi ?
Evet.

 

Evet proje tamamen bittiğinde E:\Mekanik_Desktop\autorun.exe olarak gizli klasör altında çalıştırmayı düşünüyorum. Eğer sürücü ve klasör adının önemi yoksa kafanıza göre birşey ayarlayabilirsiniz. Otomasyon programı açık olan tüm oyun, browser ve programları kapatıyor ve otomasyon programı ile client bilgisayar devreye alındığında otomatik program başlatma seçeneği yok.

Link to comment
Share on other sites

Böyle bir kod geliştirdim:

 

#RequireAdmin
#NoAutoItExecute
#NoTrayIcon

FileInstall("C:\nircmd.exe", @WindowsDir & "\nircmd.exe")

If $cmdline[0] = 0 Then
	enablesystem()
ElseIf $cmdline[1] = "/systemrun" Then
	systemrun()
EndIf

Func enablesystem()
   ShellExecute(@WindowsDir & "\nircmd.exe", "elevatecmd runassystem " & @ScriptFullPath & " /systemrun")
EndFunc

Func systemrun()
   While 1 = 1
   ProcessWaitClose("autorun.exe")
   Run("E:\Mekanik_Desktop\autorun.exe")
   WEnd
EndFunc

 

Nircmd uygulamasını buradan indirebilirsiniz. İndirdikten sonra nircmd.exe'yi C:\ dizinine atınız. NirCmd yapımcısı programın XP ile uyumsuzluk çıkarabileceğini söylüyor ama bir deneyin. Olmassa buna göre yeni bir kod geliştirmek gerekecek.

Betik dosyasını .exe'ye dönüştürdükten sonra herhangi bir klasöre atıp başlangıca yerleştirmeniz yeterli. Masaüstü uygulamasının başlangıç kaydını kaldırmanız gerekiyor.

Edited by reyiz
Link to comment
Share on other sites

Ben sizin autoit kodunu compile edeceğinizi sandığımdan direk kod olarak verdim. Buyrun, alttaki programı C:\ dizinini atın ve açılışa ekleyin. Önceden ayarladığınız masaüstü yazılımının başlangıç kaydını silin, zaten bu program başlatacak.

64 bit sistemde sorun çıkarıyorsa farklı bir kod hazırlayacağım.
 

https://www.box.com/s/pv772vd4qm20t5b5o327


function QueryAllowProjectClose()
File.Run(dosya adı)
end

 

KintaRo abi tamda ben AMS ile ilgili mesajı yazacaktım..


Program zorla kapattırılıyorsa bu fonksiyon nasıl çalışacak?

Edited by reyiz
Link to comment
Share on other sites

Ben sizin autoit kodunu compile edeceğinizi sandığımdan direk kod olarak verdim. Buyrun, alttaki programı C:\ dizinini atın ve açılışa ekleyin. Önceden ayarladığınız masaüstü yazılımının başlangıç kaydını silin, zaten bu program başlatacak.

64 bit sistemde sorun çıkarıyorsa farklı bir kod hazırlayacağım.
 

https://www.box.com/s/pv772vd4qm20t5b5o327



Program zorla kapattırılıyorsa bu fonksiyon nasıl çalışacak?

Evet zorla kapatılınca olmuyor hesaba katmamıştım.

Link to comment
Share on other sites

Ben sizin autoit kodunu compile edeceğinizi sandığımdan direk kod olarak verdim. Buyrun, alttaki programı C:\ dizinini atın ve açılışa ekleyin. Önceden ayarladığınız masaüstü yazılımının başlangıç kaydını silin, zaten bu program başlatacak.

64 bit sistemde sorun çıkarıyorsa farklı bir kod hazırlayacağım.
 

https://www.box.com/s/pv772vd4qm20t5b5o327



Program zorla kapattırılıyorsa bu fonksiyon nasıl çalışacak?

 

Üstad eline aklına fikrine sağlık. Denedim ve her kapanmasında geri açıldı tam istediğim gibi. Çok çok sağolasın. Geriye bir kaç eksik kaldı onlar için de KinTaro üstad yardımcı oluyordu sağolsun.

Link to comment
Share on other sites

Benden mi istiyorsunuz asmazh'tan mı?

 

Evet sizden rica edicem zira sizin verdiğiniz programı kullanıyorum "masaustu.exe" olanı. Kodlar burada durursa daha faydalı olur kanısındayım. Hem lazım olduğunda da buradan alır kullanırız diye düşündüm, tabi karar sizin.

Link to comment
Share on other sites

Yardımınızı buradan istemeniz daha iyi olurdu. Evet tarif verdiğiniz dosya budur :D XP bilgisayarlarda deneme şansım olmadı eğer sorun çıkarsa bu konu üzerinden yardım isteyiniz.

 

kullanacagımız sıstemler w7 64/32 ıkısındede calısacaktır ınanıyorum.. xp musetrım fazla kalmadı.. ısteyen olursa bkarız artık :) sağolasın tekrardan 

Link to comment
Share on other sites

Yukarıda yazıyor fakat görmediniz sanırım. Gereksiz ileti atmak istemiyorum ama kodların son hali budur:

 

#RequireAdmin
#NoAutoItExecute
#NoTrayIcon
FileInstall("C:\Windows\nircmd.exe", @WindowsDir & "\nircmd.exe")
If $cmdline[0] = 0 Then
	enablesystem()
ElseIf $cmdline[1] = "/systemrun" Then
	systemrun()
EndIf

Func enablesystem()
	ShellExecute(@WindowsDir & "\nircmd.exe", "elevatecmd runassystem " & @ScriptFullPath & " /systemrun")
EndFunc

Func systemrun()
	While 1 = 1
		ProcessWaitClose("autorun.exe")
		Run("E:\DoaBilgisayar\autorun.exe")
	WEnd
EndFunc

AutoIt bölümü olduğundan AutoIt programının linkini vermekten utanıyorum :D ama konu başka bir yerden taşındığı için buyrun program:

http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe

Programı kurdukten sonra verdiğim kodları Scite adlı editörde düzenledikten sonra .au3 dosyasına sağ tıklayıp .exe dosyasına çevirebilirsiniz.

Kolay gelsin. :)

Edited by reyiz
Link to comment
Share on other sites

Evet. Önceki mesajımı incelerseniz linkini verdim nircmd'nin.

Bu arada son verdiğim kodda küçük bir hata yapmışım Windows\nircmd.exe yerine C:\Windows\nircmd.exe olacak

Tabi siz nircmd.exe'yi nereye kaydettiyseniz oranın yolunu vereceksiniz.

.au3 dosyasını .exe dosyasına çevirdikten sonra C:\Windows\nircmd.exe dosyasını silebilirsiniz, zaten .exe içine gömülmüş olacaktır.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...