secondert Posted January 25, 2012 Share Posted January 25, 2012 (edited) Merhaba arkadaşlar. Yeni bir AllInOne çalışması hazırladım, oldukça güzel görünümlü, fonksiyonel ve neredeyse eşsiz olabileceğini söyleyebilirim. Yalnız programı yayınlamaya başlamadan önce eklemek istediğim son bir fonksiyon var ve bu fonksiyon benim için hayli önemli. Program bilgisayarda ilk defa çalıştırılıyorsa kullanıcının karşısına bir popup çıkartsın. Bu popup Evet Hayır butonlarını içersin ve Hayır e tıkladığımda yoluna devam etsin. Evet e tıkladığımda ise önceden belirlediğim bir exe ye yada fonksiyona tıklasın, (yada butona). Bu butonun özelliği sistem geri yükleme olacak. Yani; Programı ilk defa çalıştırıyorsunuz ve açılışta şöyle bir popup çıkıyor; Programı ilk defa kullanıyorsunuz, önlem olarak sistem geri yükleme noktası oluşturulmasını ister misiniz? Evet ve Hayır? Şimdi bunun için önce programın bu sistemde ilk defa çalıştırıldığını anlaması gerekli. Bunun için programın kapanışına bir registry girdisi hazırladım. Örn: HKLM/Software/Program/"ilk kullanım"="no" Bu girdi programın çıkışında girilirse ve program sonraki çalışmada bunu gördüğünde popup çıkmazsa bu harika olacak. Bunun dışında eğer ilk kullanımda bu anahtar olmadığından program otomatik olarak popup u çıkartacak ve sistem geri yükleme noktası oluşturulmasını önerecek. Bu noktada 2 çözüm arıyorum birincisi programın bu kayıt girdisini başlangıçta kontrol etmesi ve buna göre popup u çıkartıp çıkartmayacağına karar vermesi. ikincisi evet dediğimde bir butona tıklaması yada docs içeriğinden bir dosyayı yürütmesi. Yardımınız için şimdiden çok teşekkür ederim. Edited January 26, 2012 by secondert Quote Link to comment Share on other sites More sharing options...
Kral__ Posted January 25, 2012 Share Posted January 25, 2012 (edited) on startupa yazaılması lazım ilk başta çıkması için mesela nsorgu = no nkontrol = register.getvalue.... if nsorgu == nkontrol then dialog.messenge..... else register.setvalue.."yes"..... end gibi yapabilirsin denemedin ama sorma böyle olabailir Edited January 25, 2012 by Kral__ Quote Link to comment Share on other sites More sharing options...
secondert Posted January 25, 2012 Author Share Posted January 25, 2012 Vay canına! hızlı yanıtladın, peki if exist (eğer varsa) olayı nasıl olacak? yani sözüne ettiğim kayıt girdisi mevcutsa ona göre hareket etmesi gerekiyor ya o bakımdan? Quote Link to comment Share on other sites More sharing options...
NotToday Posted January 25, 2012 Share Posted January 25, 2012 www.tnctr.com/topic/191461-registry-key-kontrol/ anahtarı kontrol edersin yoksa oluşturur mesaj verirsin Quote Link to comment Share on other sites More sharing options...
Kral__ Posted January 25, 2012 Share Posted January 25, 2012 kod zaten onu işliyor bi tane daha çalışma yaparsın oda kayıdı girer no diye girdikten sonra çalışmayı siler ve tekrar açtığımızda sormaz Quote Link to comment Share on other sites More sharing options...
secondert Posted January 25, 2012 Author Share Posted January 25, 2012 (edited) Dostum benim programım hazır. Kodlar ve sistem geri yükleme noktası oluşturucu da hazır. İhtiyacım olan şey tam olarak şu; Program açıldığında ifli yapı kullanılarak eğer varsa programın bir önceki çıkışta oluşturduğu (Bir defa kullanıldığını ifade eden) regedit verisini görecek. Buna göre bu iletiyi hiç göstermeden programı çalıştıracak. Ancak eğer program kullanılmamışsa bu kayıt girdisi olmayacağından ifli veri yine otomatik olarak programın hiç kullanılmamış olduğunu görecek ve iletiyi gösterecek. Bu noktada da eğer ileti görünürse görünürken yes no olayı olacak. Yes e tıklanınca Sistem Geri yükleme ile ilgili oluşturduğum string yada buton, hatta exe devreye girecek. Ben ifli yapı kullanımından bihaberim. Bu noktada yardım gerekli. Edited January 25, 2012 by secondert Quote Link to comment Share on other sites More sharing options...
Kral__ Posted January 25, 2012 Share Posted January 25, 2012 [quote name='Kral__' date='25 January 2012 - 12:54 ' timestamp='1327488884' post='1145629'] kod zaten onu işliyor bi tane daha çalışma yaparsın oda kayıdı girer no diye girdikten sonra çalışmayı siler ve tekrar açtığımızda sormaz [/quote] off iyice oku Quote Link to comment Share on other sites More sharing options...
secondert Posted January 25, 2012 Author Share Posted January 25, 2012 Bir tane daha çalışmanın kodu girmesi işimi görmüyor ki, program sonraki açılışlarda girilen registry değerini okuyacak, eğer sisgeriyüknok. oluşturulmuş ve buna göre değer Yes ise kullanıcıya ilk kullanımla ilgili iletiyi göstermeyecektir. Quote Link to comment Share on other sites More sharing options...
secondert Posted January 26, 2012 Author Share Posted January 26, 2012 http://www.tnctr.com/user/420109-el-arabi/ (El-Arabi) Soruma tam yanıt verdi ve çözüme ulaştım, yinede yardım için teşekkürler arkadaşlar. Çözüm; [quote]result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\M.H.Orhan"); if result == false or result == "yes" then Kontrol = Dialog.Message("(!)", "Programı ilk defa kullanıyorsunuz, önlem olarak sistem geri yükleme noktası oluşturulmasını ister misiniz?", MB_OKCANCEL); if Kontrol == IDOK then Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\M.H.Orhan", "Run","yes", REG_SZ); Shell.Execute("AutoPlay\\Docs\\geriyukleme.vbs", "open", "", "", SW_SHOWNORMAL, false); elseif Kontrol == IDCANCEL then Registry.SetValue(HKEY_LOCAL_MACHINE, "Software\\M.H.Orhan", "Run", "no", REG_SZ); end end[/quote] Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.