Jump to content

Başlangıçta Çalıştırma ve Dosya İlişkilendirme


Recommended Posts

Teşekkürler.... Arkadaşlar Ben bir Butona bastığımda portable yaptığım uygulamayı işte nerdeyse konumu masaüstü ,belgelerim..vs Onu adı Proteus.exe Bu Uygulamayı pc açılışnda çalıştırması için...

Fakat bu Başlangıç 'a Kısayol Atamasını İstemiyorum Çünki O proteus.exe Konum(Yer) Değiştirdiğinde Pc açılışında Proteus.exe bulunamadı die hata veriyor bu hata ile karşılaşmamak içinde Regedite otamatik olarak eklemesi için ne yapabiliriz..

Link to comment
Share on other sites

Otomatik olarak değiştirmek biraz zor ama şu şekilde bir yol olabilir:

dosya = Dialog.FileBrowse(true, "Başlangıca eklenecek dosyayı seçin", _DesktopFolder, "All Files(*.*)|*.*|", "", "", false, true)
Registry.SetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", "Program", dosya[1], REG_SZ)[/CODE]

Bu kodlari bir buttona ekleyin ve programı calistirip baslangica eklenecek dosyayi seçin. Programın yeri değiştikten sonra bu işlemi tekrar uygulayın. Bu kod ne zaman programın yeri değiştirdikten sonra uygulanırsa başlangıçtaki konumunuda değiştirecektir.

Link to comment
Share on other sites

Süpersiniz Ben Portable Yaptığım bi programa Autoplay ile Menü Yaptım şimdi bu menü (Autorun.exe Çalışan uygalamın kendisi) için Başlangıçta çalışması için bi kod yazmam lazımdı çok sağolun..

Son Bi Sorunum Kaldı Çok Güzel Bi Çalışma Yapabilirim (Tabii Sayenizde :) )

Portable Programları Otomatik Birlikte açma Sorunu

Daha Önce Sormuştum bu soruyu tam net olarak çözümünü bulamadık.. Bi gözatarsanız nedemek istedğimi anlarsınız sanırım..

http://www.tnctr.com/index.php?showtopic=131499[/CODE]

Şimdi Bunu Otomatik olarak Reg kaydı ya da bi başka şekilde nasıl yapabiliriz...

Link to comment
Share on other sites

böyle güzel bir soru için seni tebrik ediyor ve 10 puan veriyorum :) şaka bir yana nasıl yapılacağını biliyorum ama regeditteki uzantıları programlarla ilişkilendirme kısmını bulamadım. Onu bulursak gerisi basit.

Link to comment
Share on other sites

  • 2 hafta sonra ...

Sayın KintaRo daha önce bi soru sormuştum sizde eğer .uzantı yı programla ilişkilendirmeyi bulabilirsek yaparız demiştiniz Sayın blackman12

(Sağolsun) O kodu verdi

akddf8.jpg

Windows Registry Editor Version 5.00
;Uzantımız .DSN
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN]
@="ProteusDesignFile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\shell\open\command]
@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.exe %1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\DefaultIcon]
@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.ARES"
; [u]BURDA[/u] bU ŞEKİLDE Uyguladığım Zaman Ares.exe nin görünen icun ununu
adı.DSN uzantılı dosyalara onun İconunu atıyo bende böyle olmasını istiyom FAKAT
Programın Orjinalinde ARES.exe nin İçindeki İcondex:4 e karşılık geliyo[/CODE]

bi türlü Regedit kaydına bunu giremedim

System32.dll den mesela klasörlere icon atılabiliyor bide ole denedim Bi klasörün İcindeki Desktop.ini

[CODE][.ShellClassInfo]
IconFile="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\ARES.EXE"
IconIndex="1"[/CODE]

bu Şekilde oluyo fakat regedit farklı bi kod istediğinden yapamadım bunu yapabilmemiz mümkün mü?

-------------------------------------------------------------------------------------------------------------------------------

Link to comment
Share on other sites

Şimdi öncelikle tam olarak doğru anlayıp anlamadığımdan emin değilim. Yalnız blackman12'nin verdiği kodu regedit'e girdim sonra C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ klasorune bi tane exe attım ve adını ISIS.exe yaptım. Daha sonra DSN uzantılı bir dosya oluşturdum ve açmaya çalıştığım zaman oraya attığım isi.exe ile açmaya çalıştı. Yani kod tamam. Yalnız ikinci konuyu tam anlamadım. Şu kodla bir exe nin içindeki istediğin indexteki icon ile kısayol yaratabilirsin:

Shell.CreateShortcut(_DesktopFolder, "sddddddddddd", "AutoPlay\\Docs\\asdf.exe", "", _DesktopFolder, "C:\\Windows\\System32\\shell32.dll", 13, SW_SHOWNORMAL)[/CODE]

Ben bu kodla shell32.dll nin içinde 13 indexinde bulunan iconla bir kısayol oluşturdum. Bir denersin eğer yanlışımız varsa düzeltiriz :-)

Link to comment
Share on other sites

Şimdi öncelikle tam olarak doğru anlayıp anlamadığımdan emin değilim. Yalnız blackman12'nin verdiği kodu regedit'e girdim sonra C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ klasorune bi tane exe attım ve adını ISIS.exe yaptım. Daha sonra DSN uzantılı bir dosya oluşturdum ve açmaya çalıştığım zaman oraya attığım isi.exe ile açmaya çalıştı. Yani kod tamam. Yalnız ikinci konuyu tam anlamadım. Şu kodla bir exe nin içindeki istediğin indexteki icon ile kısayol yaratabilirsin:

Shell.CreateShortcut(_DesktopFolder, "sddddddddddd", "AutoPlay\\Docs\\asdf.exe", "", _DesktopFolder, "C:\\Windows\\System32\\shell32.dll", 13, SW_SHOWNORMAL)[/CODE]

Ben bu kodla shell32.dll nin içinde 13 indexinde bulunan iconla bir kısayol oluşturdum. Bir denersin eğer yanlışımız varsa düzeltiriz :-)

ikinci örnek olarak verdim... soruyu anlatabilmek açısından....

Yani Benim İstediğim o attığınız ..../ISIS.exe

nin Resimdede gösterdiğim gibi 4.icon unu

.DSN uzantılı dosyaların icon u olarak kullanması

Direk [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\DefaultIcon]

@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.ARES"

diye kod girince Resimdeki ilk icon u gösteriyo ben ise 4. icon u göstermesini istyorum..

Bunun için bi reg kaydı lazım Isıs.exeni 4. iconunu göstermesi için ne yapabiliriz...

Asıl sorun: Thinstall ile yaptığım Portable Menüde bunu Uygulayabilmem...

4ut74n.jpg

Kısacası Uzantısı .DSN Olan Dosyaları portable ın içindeki dielimki portable menümüzün adı Autorun.exe

bu menüm(Autorun.exe)bulunduğu konum nerde ise (bu değişiyor portable olduğundan dolayı)bu da sabit Dosyalarım ...CD_Root\AutoPlay\Docs\BIN/ISIS.exe

C:\\MenüDosya Konumu\\ Menumun adı\\CD_Root\AutoPlay\Docs\BIN/ISIS.exe

Altı Çizili yer Sabit oluyo diğerleri Değişiyor...

Misal:C:\Documents and Settings\Admin\Desktop\Projelerim\Dil İle Birlikte76\CD_Root\AutoPlay\Docs\BIN

burdaki altılı çizili konum değişecek ve biz bunu reg kaydına otomatik yada manuel olarak nasıl girebiliriz..

Link to comment
Share on other sites

Şimdi öncelikle yolu sabitlemek için

yol = Registry.SetValue(HKEY_CLASSES_ROOT, "Software\\ProgramAdi", "Dizin", _SourceFolder, REG_SZ) -- yolu yazdır
yol = Registry.GetValue(HKEY_CLASSES_ROOT, "Software\\ProgramAdi", "Dizin", true) -- yolu al[/CODE]

kodlarını kullanabilirsin. 1. kodda _SourceFolder yolunu registry'ye kaydeder. SourceFolder senin autorun.exe nin oldugu klasör demektir. Yani Şu şekilde tekrar o veriyi alıp kullanabilirsin;

[CODE]yol = Registry.GetValue(HKEY_CLASSES_ROOT, "Software\\ProgramAdi", "Dizin", true) -- yolu al
File.Run(yol .. "\\AutoPlay\\Docs\\BIN\ISIS.exe")[/CODE]

Icon olayına gelince de ISIS.exe,3 yazarak deneyebilirsin yani;

[CODE][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\DefaultIcon]
@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.exe,3"[/CODE]

şeklinde.. Ama denemek lazım emin değilim...

Link to comment
Share on other sites

Not: Yukarıdaki mesajı bozmamak için yeni mesaj yazıyorum.

@ergunpoyraz; Bilgisayarı kapatıp açtığımda farkettim, .DSN uzantısıyla oluşturduğum dosyalar, yukarda bahsettiğim, program files'a attığım sahte isis.exe'nin simgesini almışlardı. Yani bu demek oluyor ki;

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\DefaultIcon]
@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.ARES"[/CODE]

Bu kod işimize yariyor. Bu olayı sen onayladıktan sonra devamına bakalım ergun.

Link to comment
Share on other sites

İkiside İşe Yarıyor

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\DefaultIcon]

@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.exe,3"

Fakat Yukarıdaki Kod ISIS.exe nin 3.iconu unu Dsn Uzantılarına Atıyor...

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.DSN\DefaultIcon]
@="C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\BIN\\ISIS.ARES"[/CODE]

Bu ise ISIS.exe nin Kendi İconunu Atıyor...

Anlatabilmişimdir umarım...

Teşekkürler Syn Kintaro

Diğer Kodlarıda Pc ye format attıktan sonra deniyecem pc cok yazvaşladı regedit bi hayli kayıt girildi :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...